在除逐字块之外的所有地方设置行距

在除逐字块之外的所有地方设置行距

除了逐字块内部以外,是否有可能更改文档的行距?

\usepackage{setspace}
\onehalfspacing

上述结果是段落更加易读,但是代码片段对我来说太大了。

答案1

只需修补\verbatim@font或(更安全的)\verbatim宏即可在逐字块之前添加您的代码。

\documentclass{article}
\usepackage{setspace}
\setstretch{1.5}
\usepackage{etoolbox}
\appto\verbatim{\singlespacing}
\begin{document}

text text text text text text text text text text text text text
text text text text text text text text text text text text text
text text text text text text text text text text text text text
text text text text text text text text text text text text text
\begin{verbatim}
#include <stdio.h>
int main()
{
    puts("Hello world.");
    return 0;
}
\end{verbatim}

\end{document}

或者,如果您使用fancyvrb逐字包,则可以使用为所有(非)环境\fvset设置选项:formatcomVerbatimverbatim

\documentclass{article}
\usepackage{setspace}
\setstretch{1.5}
\usepackage{fancyvrb}
\fvset{formatcom=\singlespacing}
\begin{document}

text text text text text text text text text text text text text
text text text text text text text text text text text text text
text text text text text text text text text text text text text
text text text text text text text text text text text text text
\begin{Verbatim}
#include <stdio.h>
int main()
{
    puts("Hello world.");
    return 0;
}
\end{Verbatim}

\end{document}

相关内容