LaTeX排长队

时间:2009-02-04 11:33:51

标签: latex long-lines

我在逐字环境中编写了一些代码。有时,行太长,生成的pdf看起来很丑 - 文本行越过右边距。我该怎么做才能自动打破这些长线?还有比verbatim env更好的东西吗?

谢谢, 卢西恩

5 个答案:

答案 0 :(得分:11)

当然,你有很棒的“清单”包。它支持(如果你想)甚至可以打印很多源代码语言,以及根据所显示语言的“长线”“智能破坏”。

答案 1 :(得分:9)

您可以使用固定宽度的字体,例如\texttt{}?如果您需要更复杂的内容,请尝试使用moreverblistingsalgorithmicx个包。

答案 2 :(得分:3)

我强烈建议使用列表包。它将很好地格式化代码,并支持大量语言(参见Pg12),并且有效地以三种方式使用:

  1. 使用\lstinline!int x = 0;!命令
  2. 包含内联片段
  3. lstlisting环境中输入的代码块,例如以下

    \begin{lstlisting}
    for i:=maxint to 0 do
    begin
    { do nothing }
    end;
    \end{lstlisting}
    
  4. 导入的代码块,其中代码直接从源代码文件嵌入到文档中,例如使用\lstinputlisting{source.py}

  5. 可以使用此软件包配置许多选项,例如,换行和包含行号,并且可以在package documentation中找到完整的详细信息,但是提供了一个很好的基本设置。 wikibook entry

    \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=2,                   % the step between two line-numbers. If it's 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
    }
    

答案 3 :(得分:2)

你可以尝试像LGrind这样漂亮的打印包。否则你将不得不手动 打破界限。

答案 4 :(得分:1)

您可能也对fancyvrb package感兴趣。