使LaTeX中的代码看起来“不错” * [关闭]


133

我目前正在写一个项目报告,并解释我曾经使用过的有点疯狂,不直观的代码,我需要在其中放入很多示例代码的简短摘录。

我如何将代码获取到LaTeX中:

  • 看起来不错
  • 如果行太长,则不会离开页面的一侧(列出lstlisting或逐字)
  • 最好与文本的其余部分内联

编辑(想弄清楚我会添加设置,这样人们就不必亲自弄清楚它们了(摘自Wikibooks(进一步向下链接),并进行了漂亮的编辑))

不错的设置:

\usepackage{color}
\usepackage{listings}
\lstset{ %
language=C++,                % choose the language of the code
basicstyle=\footnotesize,       % the size of the fonts that are used for the code
numbers=left,                   % where to put the line-numbers
numberstyle=\footnotesize,      % the size of the fonts that are used for the line-numbers
stepnumber=1,                   % the step between two line-numbers. If it is 1 each line will be numbered
numbersep=5pt,                  % how far the line-numbers are from the code
backgroundcolor=\color{white},  % choose the background color. You must add \usepackage{color}
showspaces=false,               % show spaces adding particular underscores
showstringspaces=false,         % underline spaces within strings
showtabs=false,                 % show tabs within strings adding particular underscores
frame=single,           % adds a frame around the code
tabsize=2,          % sets default tabsize to 2 spaces
captionpos=b,           % sets the caption-position to bottom
breaklines=true,        % sets automatic line breaking
breakatwhitespace=false,    % sets if automatic breaks should only happen at whitespace
escapeinside={\%*}{*)}          % if you want to add a comment within your code
}

\begin{lstlisting}
!!code!!
\end{lstlisting}

这些设置的示例:


列表包是相当不错的,非常灵活的(例如,不同尺寸的注释和代码)。
Fabian Steeg

经过长时间的搜寻后,事实证明lstlisting可以很好地格式化代码,但需要进行大量调整。< ahref="zh.wikibooks.org/wiki/LaTeX/Packages/… >>有一个很好的示例,您可以调整参数(很抱歉回答我自己的问题!)
Ed James

1
精彩!我很高兴能够将某些内容复制粘贴到我的乳胶文档中,并立即变得美丽!您现在节省了我几个小时的调整时间。谢谢!:)
Espen Herseth Halvorsen 2010年

12
上面产生的格式化代码的屏幕截图会很不错!
Adrian Mouat 2010年

7
LaTeX已完成Turing,不应关闭
。.– dcow

Answers:



18

事实证明,lstlisting它能够很好地格式化代码,但是需要大量调整。

Wikibooks有一个很好的示例,您可以调整参数。


2

对于简单的文档,有时会使用逐字记录,但是对于很大的代码块来说,列表很不错。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.