Code-Listing: Ein Leitfaden zur Darstellung von Code in LaTeX

Code listing

LaTeX wird in vielen wissenschaftlichen Bereichen verwendet und Programmierung ist zu einem wichtigen Aspekt mehrerer wissenschaftlicher Disziplinen geworden. Daher wird ein Werkzeug benötigt, das Code richtig darstellt. Dieser Artikel erklärt, wie man die standardmäßige verbatim-Umgebung sowie das Paket listings verwendet, das erweiterte Funktionen zur Code-Formatierung bietet. Ein separater Artikel behandelt das Paket minted, das eine Syntaxhervorhebung mithilfe der Python-Bibliothek pygmentize durchführt.

Die verbatim-Umgebung

Das Standardwerkzeug zur Code-Darstellung in LaTeX ist verbatim, das eine monospace Schriftart erzeugt.

Code-Beispiel

In diesem Beispiel werden alle Zeilenumbrüche und Leerzeichen beibehalten. Es gibt auch eine Version dieses Befehls mit einem Sternchen, deren Ausgabe geringfügig anders ist.

Mit dem Befehl verb|C:Windowssystem32| wird der Text innerhalb der Begrenzungszeichen | im verbatim-Format gedruckt. Jedes Zeichen, außer Buchstaben und *, kann als Begrenzungszeichen verwendet werden. Zum Beispiel verwendet verb+ldots+ das + als Begrenzungszeichen.

Verwendung von listings zur Hervorhebung von Code

Um die lstlisting-Umgebung zu verwenden, müssen Sie die folgende Zeile in der Präambel Ihres Dokuments hinzufügen.

Hier ist ein Beispiel für die Verwendung der lstlisting-Umgebung aus dem listings-Paket.

In diesem Beispiel werden alle LaTeX-Befehle ignoriert und der Text wird genauso gedruckt, wie er eingegeben wurde. Ein weiteres Beispiel zeigt die Syntaxhervorhebung für die Programmiersprache Python.

Importieren von Code aus einer Datei

Code wird normalerweise in einer Quelldatei gespeichert, daher ist ein Befehl, der automatisch Code aus einer Datei importiert, sehr praktisch.

LESEN  So stellen Sie Brennesseljauche her – ein ultimativer Guide!

Der Befehl lstinputlisting[language=Octave]{BitXorMatrix.m} importiert den Code aus der Datei BitXorMatrix.m. Der zusätzliche Parameter in den Klammern ermöglicht eine Syntaxhervorhebung für die Programmiersprache Octave. Wenn Sie nur einen Teil der Datei importieren möchten, können Sie zwei durch Komma getrennte Parameter in den Klammern angeben.

Code-Styles und Farben

Die Codeformatierung mit dem listings-Paket ist stark anpassbar.

Code-Beispiel

Wie Sie sehen, verbessern die Farben und Stile die Lesbarkeit erheblich. In diesem Beispiel wird das Paket xcolor importiert und der Befehl definecolor{}{} wird verwendet, um neue Farben im RGB-Format zu definieren.

Es gibt im Wesentlichen zwei Befehle, die den Stil für dieses Beispiel generieren: lstdefinestyle{mystyle}{...} definiert einen neuen Code-Listing-Stil namens “mystyle”. Mit lstset{style=mystyle} kann innerhalb Ihres Dokuments bei Bedarf zu einem anderen Stil gewechselt werden.

Bildunterschriften und Verzeichnis der Listings

Wie bei Gleitobjekten (Tabellen und Abbildungen) können Bildunterschriften für Code-Listings hinzugefügt werden, um eine klarere Präsentation zu ermöglichen.

Code-Beispiel

Durch Hinzufügen des kommagetrennten Parameters caption=Python Beispiel in den Klammern wird die Bildunterschrift aktiviert. Diese Bildunterschrift kann später im Verzeichnis der Listings verwendet werden.

Beispielprojekt auf Overleaf

Öffnen Sie diesen Link, um das Beispielprojekt zum listings-Paket auf Overleaf auszuprobieren.

Referenzleitfaden

Unterstützte Sprachen

  • ABAP
  • ACSL
  • Ada
  • Algol
  • Ant
  • Assembler
  • Awk
  • bash
  • Basic
  • C
  • C++
  • Caml
  • CIL
  • Clean
  • Cobol
  • Comal
  • command.com
  • Comsol
  • csh
  • Delphi
  • Eiffel
  • Elan
  • erlang
  • Euphoria
  • Fortran
  • GCL
  • Gnuplot
  • Haskell
  • HTML
  • IDL
  • Inform
  • Java
  • JVMIS
  • ksh
  • Lingo
  • Lisp
  • Logo
  • make
  • Mathematica
  • Matlab
  • Mercury
  • MetaPost
  • Miranda
  • Mizar
  • ML
  • Modula-2
  • MuPAD
  • NASTRAN
  • Oberon-2
  • OCL
  • Octave
  • Oz
  • Pascal
  • Perl
  • PHP
  • PL/I
  • Plasm
  • PostScript
  • POV
  • Prolog
  • Promela
  • PSTricks
  • Python
  • R
  • Reduce
  • Rexx
  • RSL
  • Ruby
  • S
  • SAS
  • Scilab
  • sh
  • SHELXL
  • Simula
  • SPARQL
  • SQL
  • tcl
  • TeX
  • VBScript
  • Verilog
  • VHDL
  • VRML
  • XML
  • XSLT
LESEN  Vergleich von digitalen und analogen Signalen

Optionen zum Anpassen von Code-Listing-Stilen

  • backgroundcolor: Hintergrundfarbe
  • commentstyle: Stil für Kommentare
  • basicstyle: Schriftgröße/-familie für den Code
  • keywordstyle: Stil für Schlüsselwörter
  • numberstyle: Stil für Zeilennummern
  • numbersep: Abstand der Zeilennummern vom Code
  • stringstyle: Stil für Zeichenketten
  • showspaces: Betonen von Leerzeichen im Code
  • showstringspaces: Betonen von Leerzeichen in Zeichenketten
  • showtabs: Betonen von Tabulatoren im Code
  • numbers: Position der Zeilennummern
  • prebreak: Darstellung des Zeilenumbruchs
  • captionpos: Position der Bildunterschrift
  • frame: Rahmen um den Code
  • breakatwhitespace: Zeilenumbruch nur an Leerzeichen
  • breaklines: automatischer Zeilenumbruch
  • keepspaces: Behalten von Leerzeichen im Code
  • tabsize: Tabulatorgröße
  • escapeinside: Zeichen für den Umbruch von Code
  • rulecolor: Farbe des Rahmens

Weitere Informationen

  • Code-Hervorhebung mit minted
  • Verwendung von Farben in LaTeX
  • Inhaltsverzeichnis
  • Verwaltung in einem großen Projekt
  • LaTeX-Projekte mit mehreren Dateien
  • Schriftgrößen, Schriftfamilien und Stile
  • Schriftarten
  • listings-Paket Dokumentation
  • listings CTAN-Website