为特定列表设置“Ubuntu Monospace”字体

为特定列表设置“Ubuntu Monospace”字体
  • 我的操作系统:Ubuntu 13.10
  • 使用的 Latex 版本:版本 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian)

在我的报告中,我使用以下清单:

\lstdefinestyle{BashInputStyle}{
  language=bash,
  basicstyle=\small\sffamily,
  numbers=left,
  numberstyle=\tiny,
  numbersep=3pt,
  frame=tb,
  framerule=0pt,
  columns=fullflexible
}

我想知道是否可以配置此列表(并且仅限此列表!)的字体样式,basicstyle我假设设置。我想将此字体样式配置为Ubuntu Monospace(我的操作系统已知)。

请问有什么简单的方法可以做到这一点吗?

答案1

如果你使用该fontspec包在 XeTeX 或 LuaTeX 中加载字体,则可以使用

\newfontfamily\UbuntuMonospace{Ubuntu Monospace}

在你的序言中,然后在你的选项列表中listings,包括

basicstyle=\small\UbuntuMonospace

如果这是文档中唯一使用等宽字体的地方,你可以改用

\setmonofont{Ubuntu Monospace}

在序言中,它将定义\texttt使用 Ubuntu Monospace。因此,在您的列表中使用它只需要

basicstyle=\small\texttt

答案2

XeLaTeX这只有通过或 才有可能LuaLaTeX

\documentclass{article}
\usepackage{fontspec}
\newfontface\UMono[Scale=0.9]{UbuntuMono-Regular}

\usepackage{listings}
\lstdefinestyle{BashInputStyle}{
  language=bash,
  basicstyle=\UMono,
  numbers=left,
  numberstyle=\tiny,
  numbersep=3pt,
  frame=tb,
  framerule=0pt,
  columns=fullflexible
}
\begin{document}

\begin{lstlisting}[style=BashInputStyle]
rsync -tovupgilr --progress --delete --exclude-from=/extern.txt / /extern
\end{lstlisting}

%the same with the default mono font:
\begin{lstlisting}[basicstyle=\small\ttfamily]
rsync -tovupgilr --progress --delete --exclude-from=/extern.txt / /extern
\end{lstlisting}

\end{document}

在此处输入图片描述

pdf 中使用的字体是:

voss@shania:~/Test> pdffonts test7.pdf
name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
JLZYGL+LMRoman5-Regular              CID Type 0C       Identity-H       yes yes yes      4  0
UYSVMJ+UbuntuMono-Regular            CID TrueType      Identity-H       yes yes yes      5  0
FXXUVH+CMSY10                        Type 1            Builtin          yes yes no       6  0
PREOYV+LMMono9-Regular               CID Type 0C       Identity-H       yes yes yes      7  0
JFRMQG+LMRoman10-Regular             CID Type 0C       Identity-H       yes yes yes      8  0

相关内容