如何避免双虚线看起来像一条连续的线?

如何避免双虚线看起来像一条连续的线?

我正在使用它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}

在此处输入图片描述

相关内容