我的主 LaTeX 文档中有一段内联代码,我使用以下\lstinline
命令将其包含在内:
\lstinline{template<class UIntType, UIntType a, UIntType c, UIntType m> class linear_congruential_engine;}
结果输出如下所示,这确实不太理想:
我想要做的是实现一些更美观的东西,在第二类关键字之前引入换行符,下一行缩进 3 个字符。
以下是 MWE:
\documentclass{article}
\usepackage{listings}
\begin{document}
\lstset{language=C++,
basicstyle=\small\ttfamily,
emptylines=1,
breaklines=true}
\lstset{numbers=left,tabsize=2}
\setcounter{secnumdepth}{1}
\lstMakeShortInline[language=C++,basicstyle=\ttfamily]`
\section{Linear Congruential Generators}
text text text text:
% I want to add a newline after the second class keyword and indent with 3 spaces so that "class linear_congruental_engine" appears indented on the next line
\noindent\lstinline{template<class UIntType, UIntType a, UIntType c, UIntType m> class linear_congruential_engine}
text text text
\end{document}
答案1
我建议在两个手动分隔的语句之间插入适当的换行符\lstinline
。也就是说,
...
\noindent\lstinline{template<class UIntType, UIntType a, UIntType c, UIntType m>} \par
\lstinline{class linear_congruential_engine}
...
\lstinline
如果需要,您可能需要在第二个开头添加一些空格。