Wie man mit dem
listings
-Paket
von LaTeX automatisches Syntax-Highlighting aktiviert, habe ich
bereits am Beispiel von Matlab erklärt.
Für PHP jedoch fand ich kein fertig ausgearbeitetes Optionen-Set und musste selbst basteln. Dabei versuchte ich, das typische Farbschema des PHP-Manuals nachzuahmen, was im Wesentlichen gelungen ist.
Ob die Farben für den Druck auf Papier taugen, stelle ich in Frage. Bei der Bildschirmdarstellung hat sich die Farbkombination jedoch bewährt und ist daher sicherlich keine ganz schlechte Idee.
Folgende Optionen sind in die Präambel zu meißeln:
% Farben definieren
\usepackage{xcolor}
\definecolor{codeGray}{RGB}{240,240,240}
\definecolor{codeBlack}{RGB}{0,0,0}
\definecolor{codeRed}{RGB}{221,0,0}
\definecolor{codeBlue}{rgb}{0,0,187}
\definecolor{codeYellow}{RGB}{255,128,0}
\definecolor{codeGreen}{RGB}{0,119,0}
% … und zuweisen
\lstset{%
language=PHP,%
%
% Farben, diktengleiche Schrift
backgroundcolor={\color{codeGray}},%
basicstyle={\small\ttfamily\color{codeGreen}},%
commentstyle={\color{codeYellow}},%
keywordstyle={\color{codeBlue}},%
stringstyle={\color{codeRed}},%
identifierstyle={\color{codeBlue}},%
%
% Zeilenumbrüche aktivieren, Leerzeichen nicht hervorheben
breaklines=true,%
showstringspaces=false,%
%
% Listing-Caption unterhalb (bottom)
captionpos=b,%
%
% Listing einrahmen
frame=single,%
rulecolor={\color{codeBlack}},%
%
% winzige Zeilennummern links
numbers=left,%
numberstyle={\tiny\color{codeBlack}}%
}
Im direkten Vergleich
fallen einem sicher schnell einige Unterschiede auf; insbesondere die
grünen Spitzklammern bei <?php
und ?>
sind sehr ungünstig.
Näher kam ich mit den Möglichkeiten des Packages aber nicht an die
Vorlage heran – vielleicht ist
Minted eine mächtigere
Alternative, mit der ich aber erst noch befassen muss.
Für Korrekturvorschläge bin ich bis dahin offen! Diesem Blogpost liegt nämlich mal wieder eine zu schreibende Facharbeit zugrunde. :-)