17

This is more a typography question than a TeX one, but can anyone recommend me a good monospaced font that blends well with Minion Pro?

Henri Menke
  • 109,596

4 Answers4

9

Consolas is, I think, popular with Minion Pro but has licensing restrictions. The similarly-styled free font Inconsolata may be a better choice if you like this style. Inconsolata is licensed under the OFL and sponsored by the TeX Users Group Development Fund

The following two discussions on this site may be helpful:

Using Minion Pro for the main font

What best combination of fonts

Idris Samawi Hamid's 2005 paper for the NTG on Installing Expert Fonts: Minion Pro relates to ConTeXt but useful reading even if you are not using that and recommends Latin Modern for monospace and Euler for maths.

mas
  • 5,949
8

I found this thread, because I had the same issue and I tested a huge bunch of teletype fonts and got stuck with cfr-lm. But loading the whole cfr-lm package would be overkill so I just did:

\renewcommand{\ttdefault}{clmjv}

Which is equivalent to

\usepackage[tt={oldstyle=true,variable=true}]{cfr-lm}

Showcase

In the following example of a bibliography with biblatex the DOI is typeset with cfr-lm.

enter image description here


If you want to typeset source code it might be better to use the tabular version of cfr-lm as you usually want to align stuff in your code. Personally I think that lining figures also look better in code. Therefore I'd use

\renewcommand{\ttdefault}{clmt}

which is equivalent to

\usepackage[tt={oldstyle=false,variable=false}]{cfr-lm}

Showcase

This piece of code is taken from another answer I once gave.

% arara: pdflatex: { shell: yes }
\documentclass{article}
\pagestyle{empty}% for cropping
\usepackage[T1]{fontenc}% cfr-lm is T1 only
\usepackage{minted,MinionPro,caption}
%\renewcommand{\ttdefault}{clmjv}% oldstyle, proportional
\renewcommand{\ttdefault}{clmt}% lining, tabular
\newcommand\code{\texttt}
\newcommand\param{\textit}
\DeclareCaptionFont{bfmath}{\boldmath\bfseries}
\DeclareCaptionFormat{ruled}{\hrulefill\par#1#2#3}
\captionsetup{format=ruled,font=bfmath}
\begin{document}
\begin{figure}
  \centering
  \begin{minted}{c}
const uint8_t *data     = /* buffer head */;
const uint8_t *data_end = /* buffer tail */;
int size = bytestream_get_be16(&data);
if (data + size >= data_end || data + size < data)
    return -1;
data += size;
...
int len = ff_amf_tag_size(data, data_end);
if (len < 0 || data + len >= data_end
            || data + len < data)
    return -1;
data += len;
/* continue to read data */
  \end{minted}
  \caption{Unstable bounds checks in the form $\code{data} + x < \code{data}$ from FFmpeg/Libav, which gcc optimizes into $x < 0$.}
\end{figure}
\end{document}

enter image description here

Henri Menke
  • 109,596
8

the LaTeX (Graphic) Companion uses Minion and

\renewcommand{\ttdefault}{emtt}

but

\usepackage[scaled=0.9]{luximono} 

is another good choice

  • 1
    without wanting to be too pedantic, I've noticed that [scaled=0.86] is a better match between Minion Pro and LuxiMono. Was 0.9 a scaling value off the top of your head? Or are there good reasons for it? (+1) – nnunes Dec 08 '12 at 00:06
  • @Herbert Which font is emtt? I can't manage to find it online. All I find is the source to the Graphics Companion. – Henri Menke May 29 '14 at 18:58
4

Consolas is available with installation of office.

Inconsolata is influenced by Consolas.

The best choice will be TheSansMono Cond by Lucas. He also designed Consolas for microsoft.

These three share the same style. TheSansMono Cond is the best but much more expansive than others. Inconsolata is free as free software. But it lack the subtle fine tuning of the other two. And it has less shapes which means you can not use it to typeset your code in different shapes or weights.

Yan Zhou
  • 9,032