如何减少列表中的行距?

如何减少列表中的行距?

我的 Beamer 演示文稿中有一些列表。有时,我想要解释的代码的最后一行不适合幻灯片。我已经将字体大小配置为缩放.7

\newfontfamily\listingsfont[Scale=.7]{DejaVu Sans Mono}
\lstset{basicstyle=\listingsfont}

是否也可以减少列表中的行距?

答案1

为了减少行之间的空间,您可以调用\linespread{<x>}传递给键的值basicstyle,其中<x>是小于 1 的数字,如下所示这个答案作者:egreg。但不要滥用它。

在此处输入图片描述

\documentclass{article}
\usepackage{fontspec}
\usepackage{listings}
\newfontfamily\listingsfont[Scale=.7]{Menlo}

\lstset{frame=single}

\begin{document}

\begin{lstlisting}[basicstyle=\listingsfont]
/* Hello World program */
#include<stdio.h>
main()
{
    printf("Hello World");
}
\end{lstlisting}

\begin{lstlisting}[basicstyle=\linespread{0.8}\listingsfont]
/* Hello World program */
#include<stdio.h>
main()
{
    printf("Hello World");
}
\end{lstlisting}

\end{document}

答案2

要减少所有列表的行距,只需设置

basicstyle=\linespread{0.8}

在您的\lstset{}配置中。无需使用fontspec

答案3

对于我来说,它的作用如下(可以4.2用你需要的任何比例因子替换):

\documentclass{article}
\usepackage{listings}
\begin{document}
\lstset{basicstyle=\linespread{4.2}\selectfont}
\begin{lstlisting}
Hello, world!
Second line.
\end{lstlisting}
\end{document}

相关内容