4

verbatim 環境内に記述したコードがいくつかあります。場合によっては、行が長すぎて、生成された pdf の見栄えが悪くなります。テキスト行が右マージンを超えてしまいます。これらの長い行を自動的に分割するにはどうすればよいですか? 逐語的なenvよりも優れたものはありますか?

ありがとう、ルシアン

4

5 に答える 5

3

そのためにリストパッケージを利用することを強くお勧めします。コードを適切にフォーマットし、多数の言語をサポートし ( Pg12を参照)、次の 3 つの方法で効果的に使用されます。

  1. \lstinline!int x = 0;!コマンドを使用してインライン スニペットを含める
  2. lstlisting次のような環境内の型付きコード ブロック

    \begin{lstlisting}
    for i:=maxint to 0 do
    begin
    { do nothing }
    end;
    \end{lstlisting}
    
  3. コードがソースコードファイルからドキュメントに直接埋め込まれているインポートされたコードブロック。たとえば、\lstinputlisting{source.py}

たとえば、行を折り返したり、行番号を含めたりするために、このパッケージで構成できる非常に多くのオプションがあり、完全な詳細はパッケージのドキュメントに記載されていますが、基本的なセットアップはwikibook のエントリに記載されています。

\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
}
于 2009-06-20T19:15:11.220 に答える
1

fancyvrb パッケージにも興味があるかもしれません。

于 2009-02-04T19:15:06.300 に答える