我正在使用 TeX 撰写论文。我想在lstlisting
源代码中使用特定字体。如何使用 Monaco 或 Arial 等特定字体?我通常会找到解决方案,basicstyle
但这\ttfamily
不是我想要的。
答案1
除非 TeX 系统识别某种字体,否则您无法在 TeX 中使用这种字体。例如,Monaco 就不是,除非您在 Mac OS X 上使用 XeLaTeX 或 LuaLaTeX。BeraMonopdflatex
是一种不错的打字机字体:
\usepackage[scaled]{beramono}
然后\ttfamily
就会使用这个字体。你也可以指定scaled=.85
其他数字,以便适应主字体的大小。
有一款 Courier 的克隆版
\usepackage{tgcursor}
它在中等粗细和粗体之间有明显的区分(但可能与您的主字体不一致)。
但是,你不必使用打字机类型来列出清单;如果你说
\lstset{basicstyle=\sffamily}
您将获得默认的无衬线字体。您可以通过加载合适的包来更改默认字体;例如
\usepackage{tgheros}
将加载 Helvetica 的克隆作为无衬线字体,上述声明将使该字体成为默认字体。此包有一个scale
类似于scaled
for贝拉莫诺。请注意,Arial 不被视为免费字体,因此它不在标准 TeX 发行版中。
如果你使用 XeLaTeX 或 LuaLaTeX 作为排版引擎,那么你可以使用系统上的任何 OpenType 或 TrueType 字体。例如,在加载字体规格您可以定义一个合适的命令
\usepackage{fontspec}
...
\newfontfamily{\lstsansserif}[Scale=.85]{Arial}
然后\lstset{basicstyle=\lstsansserif}
使用 Arial 进行列表。
答案2
\ttfamily
您可以使用所有其他选择字体的命令。例如
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{listings}
\lstset{basicstyle=\fontfamily{pzc}\selectfont} %Zapf
\begin{document}
\begin{lstlisting}
abcde
\end{lstlisting}
\end{document}