Ich studiere seit nunmehr 3 Wochen Informatik an der RWTH und bin schon gezwungen worden, Quelltext auszudrucken.

Ich kenne keinen vernünftigen Editor, der ein solches Feature unterstützt (vor allem optimiert auf Schwarz/Weiß) und ich bin ernsthaft froh darüber, denn das bedeutet es wurde keine Zeit für so ein sinnloses Feature verschwendet.

Nichts desto trotz muss ich ja drucken. Da hilft mir LaTeX.

\begin{framed}
     \lstset{language=Java, numbers=left, breaklines=true, showspaces=false, showstringspaces=false, morecomment=[l]{//}, tabsize=2}
     \lstinputlisting{file.java}
 \end{framed}

Das ganze kann man mit den Paketen framed und listings erreichen.

Die framed- Umgebung zeichnet lediglich einen Rahmen um den Sourcecode. Mit dem Befehl \lstsetkonfiguriert man listings folgendermaßen:

  • language : Ok sollte klar sein, die Sprache. Verfügbare Sprachen findet ihr im texblog
  • numbers : Bestimmt ob Zeilennummern angezeigt werden und wo. Sollte immer auf left stehen
  • breaklines : Wenn die Zeile zu lang wird, wird automatisch umgebrochen. Um zu drucken sehr wichtig (Daher auch immer Zeilennummern anzeigen, damit klar ist wo ein echter Umbruch war und wo nur das A4-Papier zu schmal ist)
  • showspaces : Stellt ein ob ein Zeichen für Leerzeichen gedruckt werden soll oder nicht
  • showstringspaces : Wie showspaces nur explizit für Strings
  • morecomment : Sollen Kommetare in italic dargestellt werden?
  • tabsize  Wie viele Leerzeichen ist ein Tab? Für den Druck empfehle ich 2 - nicht so viel Platzverschwendung

Mit dem Befehl \lstinputlisting gibt man den Pfad zur Datei an. Das hat den Vorteil, dass bei jedem compile auch der aktuelle Quellcode verwendet wird.