在 lstlisting 环境中删除双引号中的多余空格

在 lstlisting 环境中删除双引号中的多余空格

我有一本书,其中我使用 lstlisting 来编写伪代码。在某些情况下,我有字符串,例如这里:

\begin{lstlisting}
foreach (name in NameCollection)
{
    Print ``Hello, {name}!'' 
}
\end{lstlisting}

我的问题是,无论我做什么,双引号内都会留下很多额外的空间;它们的角度正确,但占用了两个字符的空间。

在此处输入图片描述

答案1

两个连续的反引号``和两个连续的打字机撇号''是 TeX 连字符,用于产生英文引号。在代码清单中,你应该使用单身的符号",这是引入文本字符串的最常用方式。我还强烈建议使用等宽字体来列出代码(它们就是为此目的而设计的!)。

\documentclass{article}
\usepackage{listings}
\lstset{
  basicstyle=\ttfamily
}
\begin{document}
\begin{lstlisting}
foreach (name in NameCollection)
{
    Print "Hello, {name}!"
}
\end{lstlisting}
\end{document}

代码清单

相关内容