我的 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}