如何全局设置 lstinline 的 columns=fixed ?

如何全局设置 lstinline 的 columns=fixed ?

我使用以下方式排版我的列表列表使用比例字体。这对于lstlisting环境来说看起来不错。但是,当我使用时\lstinline|code|,间距将恢复为可变宽度。我想将设置columns=fixed与一起使用lstinline。如果我\lstset全局使用它,它将被忽略\lstinline。有没有办法将设置\lstinline为使用columns=fixed而不必将其添加到\lstinline我的源代码中的每个?

这是一个简单的例子:

\documentclass{article}

\usepackage{listings}
\lstset{columns=fixed}

\begin{document}
The code \lstinline|A.someMethodName()| is typeset differently from
\lstinline[columns=fixed]|A.someOtherMethodName()|.
\end{document}

答案1

您可以使用以下\lstMakeShortInline命令传递columns=fixed选项:

\documentclass{article}

\usepackage{listings}
\lstset{columns=fixed}
\lstMakeShortInline[columns=fixed]|

\begin{document}
The code \lstinline|A.someMethodName()| is typeset differently from
\lstinline[columns=fixed]|A.someOtherMethodName()|. Using \verb+\lstMakeShortInline[columns=fixed]|+ you get the expected result:
|A.someMethodName()|

\end{document}

答案2

我遇到了完全相同的问题,通过阅读文档,我尝试设置选项keepspaces=true\lstset{...}似乎取得了预期的效果! 空格不再被占用 ;-)

相关内容