我尝试使用压缩字体来压缩我的评论的大小,但是效果并不正常。
ttfamily
启用后,字体形状看起来不错basicstyle
,但是注释字母之间有很大的间距。我该如何消除这些间距?
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\begin{document}
\begin{lstlisting}[language=Prolog,basicstyle=\ttfamily\footnotesize,commentstyle=\fontseries{lc}\selectfont\itshape]
hello :- world
% This is a comment
\end{lstlisting}
\end{document}
编辑:我如何让该帖子的源代码进行编译,就像我在其他帖子中看到的那样?
答案1
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{listings}
\begin{document}
\begin{lstlisting}[language=Prolog,basicstyle=\ttfamily\footnotesize,
commentstyle=\fontseries{lc}\selectfont\itshape,columns=fullflexible]
hello :- world
% This is a comment
\end{lstlisting}
\end{document}
Heiko Oberdiek 的回答:
劫持答案,因为问题已关闭,而我距离发送答案只剩几秒钟了。:-((((
赫伯特的变体回答,这需要columns=fullflexible
。以下示例仅将此设置用于注释。然后,columns
如果垂直对齐是一个问题并且需要不太灵活的 的设置,则可以使用的其他值columns
:
\documentclass{article}
\usepackage[a6paper]{geometry}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{listings}
\newcommand*{\mycommentstyle}[1]{%
\begingroup
\fontseries{lc}%
\fontshape{it}%
\selectfont
\lstset{columns=fullflexible}%
#1%
\endgroup
}
\begin{document}
\begin{lstlisting}[
language=Prolog,
basicstyle=\ttfamily,
commentstyle=\mycommentstyle,
]
a :- b % Dummy statement
hello :- world % This is a longer comment
% This is a comment again
\end{lstlisting}
\end{document}
顺便说一句,如果垂直对齐要求允许,我更愿意fullflexible
或至少flexible
将fixed
其作为 的值columns
。文本阅读起来更美观。甚至还有可变宽度的打字机字体(系列lmvtt
或variablett
包的选项lmodern
)。