Frage

Ich habe einige Code, den ich in der wörtlich Umgebung schreiben. Manchmal sind die Linien zu lang und die erzeugte pdf sieht hässlich - die Textzeile geht über den rechten Rand. Was kann ich automatisch tun, um diese langen Linien zu brechen? Gibt es etwas Schöneres als die wörtlich env?

Danke, Lucian

War es hilfreich?

Lösung

Können Sie nur eine Schriftart mit fester Breite verwenden, z.B. \texttt{}? Wenn Sie etwas anspruchsvollere benötigen, versuchen Sie die moreverb , Listings oder algorithmicx Pakete.

Andere Tipps

Natürlich haben Sie die wunderbaren „Inserate“ -Paket für die. Es unterstützt (wenn Sie möchten) auch ziemlich Druck von vielen Quellcode Sprachen, sowie einen „intelligenten breaking“ von langen Linien abhängig von der Sprache angezeigt wird.

würde ich dringend empfehlen für die Nutzung des Listings Paket zu machen. Es wird Code schön formatiert werden und unterstützt eine große Anzahl von Sprachen (Siehe PG12 ) und effektiv auf drei Arten verwendet:

  1. Inline-Schnipsel wird mit dem \lstinline!int x = 0;! Befehl enthält
  2. typisierte Codeblöcke innerhalb der lstlisting Umgebung, wie die folgende

    \begin{lstlisting}
    for i:=maxint to 0 do
    begin
    { do nothing }
    end;
    \end{lstlisting}
    
  3. Importierten Codeblocks in dem Code in einem Dokument aus einer Quellcodedatei direkt eingebettet ist, unter Verwendung von zum Beispiel \lstinputlisting{source.py}

Es gibt viele, viele Möglichkeiten, die mit diesem Paket konfiguriert werden kann, um zum Beispiel wickeln Linien und umfassen Zeilennummern und weitere Informationen finden Sie in der Paketdokumentation , aber ein gutes Basis-Setup ist in der Wikibook Eintrag :

\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
}

Sie könnten versuchen, ein ziemlich Druck Paket wie LGrind. Andernfalls müssen Sie manuell brechen die Linien.

Sie können auch in der fancyvrb Paket .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top