我正在使用它listings
在文档中显示一些源代码(bash 脚本),但是存在一个问题,当使用等宽字体时,破折号之间的间距非常小,并且在打印的文档中,两个或多个连续的破折号看起来像一条连续的线。
Courier 字体没有这个问题,但我想使用 Bera Mono 或 DejaVu Sans Mono。
有办法避免这种情况吗?
编辑:这是重现问题的代码,我正在使用pdflatex
。
\documentclass[letterpaper,12pt,twoside]{report}
\usepackage{listings}
\lstnewenvironment{code}
{
\fontsize{10pt}{1pt}
\usefont{T1}{fvm}{m}{n}
\lstset
{
showspaces=false,
showstringspaces=false
}
} { }
\begin{document}
\begin{code}
diff --version | head -n1
find --version | head -n1
gawk --version | head -n1
\end{code}
\end{document}
我喜欢 Herbert 的解决方案,但我添加代码只是为了阐明这个问题是如何发生的。
答案1
我看不到:
\documentclass{article}
%\usepackage{fontspec}%% when running xelatex or lualatex
\usepackage{listings}
%\setmonofont{DejaVu Sans Mono}
\usepackage{dejavu}
\begin{document}
\begin{lstlisting}[basicstyle=\ttfamily]
---
--
-
\end{lstlisting}
\end{document}