我有下面的 LaTeX 代码来表示 C++ 代码的列表,但是 C++ 代码似乎对于背景中的灰色框来说太宽了。我还希望列表能够适合,因为它是由代码创建者格式化的。
\definecolor{listinggray}{gray}{0.9}
\definecolor{lbcolor}{rgb}{0.9,0.9,0.9}
\definecolor{Darkgreen}{rgb}{0,0.4,0}
\lstset{
backgroundcolor=\color{lbcolor},
tabsize=4,
% rulecolor=,
language=[GNU]C++,
basicstyle=\scriptsize,
upquote=true,
aboveskip={1.5\baselineskip},
columns=fixed,
showstringspaces=false,
extendedchars=false,
breaklines=true,
prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},
frame=single,
numbers=left,
showtabs=false,
showspaces=false,
showstringspaces=false,
identifierstyle=\ttfamily,
keywordstyle=\color[rgb]{0,0,1},
commentstyle=\color[rgb]{0.026,0.112,0.095},
stringstyle=\color[rgb]{0.627,0.126,0.941},
numberstyle=\color[rgb]{0.205, 0.142, 0.73},
% \lstdefinestyle{C++}{language=C++,style=numbers}’.
}
\lstset{
backgroundcolor=\color{lbcolor},
tabsize=4,
language=C++,
captionpos=b,
tabsize=3,
frame=lines,
numbers=left,
numberstyle=\tiny,
numbersep=5pt,
breaklines=true,
showstringspaces=false,
basicstyle=\footnotesize,
% identifierstyle=\color{magenta},
keywordstyle=\color[rgb]{0,0,1},
commentstyle=\color{Darkgreen},
stringstyle=\color{red}
}
得到下面的图像:
我希望绿色连字符和任何其他延伸到下一行的符号都是一行整齐的,就像 OpenFOAM 的源文件中一样。
答案1
我认为我已经解决了这个问题。\ 做了一些搜索,找到了这个帖子 在 beamer 中缩放列表
放置列表时使用了以下代码
\begin{lstlisting}[basicstyle=\fontsize{8}{9}\selectfont]
,现在所有内容都很好地适合边框。
希望它也适用于其他文件。