- 我的操作系统: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