[HowTo] C# Code-Listings mit Syntax-Highlighting in Latex

Ich schreibe derzeit an meiner Diplomarbeit mit Latex, genauer gesagt mit Lyx1.4.4 als WISIWYM-Editor und Miktex 2.5 Basic als Latex Unterbau. Mittlerweile gibts schon Lyx 1.5, was deutlich schicker ist als 1.4.x, aber da es das bisher nur als Beta gibt und ich fertig werden will/muss hab ich auf ein Upgrade verzichtet. Never touch a running system 😉 Ich habe relativ viele Code-Listings in meiner Arbeit, die man aus optischen GrĂŒnden NICHT als Screenshots integrieren sollte. Ich habs versucht, aber es sieht aufgrund der teilweise unterschiedlichen GrĂ¶ĂŸen der Bilder und deren QualitĂ€t einfach nicht aus. Nach einigem Recherchieren und etwas Hilfe durch Micha kam ich dann zu einer halbwegs schicken Lösung. Um ein Listing zu erstellen geht man in Lyx zur gewĂŒnschten Stelle im Dokument und dann zu [INSERT >>> Tex Code] bzw. man drĂŒckt Strg+L. In diesen Tex Code Block lĂ€sst man dann folgenden Code ein: begin{lstlisting} //Euer Quellcode \end{lstlisting} Kleiner Tip, vermeidet Unterstriche in der Caption, da meckert Lyx rum. Ich habe Stunden gebraucht bis ich das rausgefunden hatte, da Lyx mit FehlergrĂŒnden manchmal etwas zurĂŒckhaltend ist... Damit das ganze ĂŒberhaupt lĂ€uft muss aber etwas Vorarbeit geleistet werden. Um Listings zu integrieren benötigt man vorallem eins, das Latex-Paket "Listings", wer hĂ€tte das gedacht 😉 Also schreibt man in die Preambel, a.k.a. der Latex-Vorspann, folgenden Code: %Quellcode-Listing Einstellungen \usepackage{color,listings} %bindet das Paket Listings ein % Der lstset-Befehl ermöglicht haufenweise Einstellungen zur Formatierung \lstset{language=[Sharp]C, % Grundsprache ist C und Dialekt ist Sharp (C#) captionpos=b, % Beschriftung ist unterhalb frame=lines, % Oberhalb und unterhalb des Listings ist eine Linie basicstyle=\ttfamily, % Schriftart keywordstyle=\color{blue}, % Farbe fĂŒr die Keywords wie public, void, object u.s.w. commentstyle=\color{green}, % Farbe der Kommentare stringstyle=\color{red}, % Farbe der Zeichenketten numbers=left, % Zeilennummern links vom Code numberstyle=\tiny, % kleine Zeilennummern numbersep=5pt, breaklines=true, % Wordwrap a.k.a. Zeilenumbruch aktiviert showstringspaces=false, % emph legt Farben fĂŒr bestimmte Wörter manuell fest emph={double,bool,int,unsigned,char,true,false,void}, emphstyle=\color{blue}, emph={Assert,Test}, emphstyle=\color{red}, emph={[2]\using,\#define,\#ifdef,\#endif}, emphstyle={[2]\color{blue}} } Falls ihr den Absatz kopieren wollt, dann vergesst nicht die Leerzeichen und Kommentare innerhalb des lstset-Befehls zu entfernen, sonst meckert Lyx. Wenn man Listings benutzt, will man diese meistens auch am Ende seiner Arbeit, Ă€hnlich dem Abbildungsverzeichnis, auffĂŒhren. Also einfach an gewĂŒnschter Stelle im Dokument [Strg+L] drĂŒcken und folgenden Code einfĂŒgen: \renewcommand{\lstlistlistingname}{Auflistungen} \lstlistoflistings Damit hat man ein schönes Verzeichnis seiner Listings mit Seitenangabe im Dokument und es heisst so wie man es haben will, in meinem Fall eben "Auflistungen". Das Preambel-Beispiel erhebt keinen Anspruch auf VollstĂ€ndigkeit und ist auch noch nicht optimal, aber ich denke es ist ein guter Anfang fĂŒr alle die damit arbeiten wollen. Ich kanns nur empfehlen 🙂