PDA

View Full Version : quellcode-listing "lebendiger" formatieren



sharpType
21-12-2009, 10:49
Hallo Profis,

ich bin gerade dabei meine Listings irgendwie "lebendiger" zu formatieren, aber stoße da recht schnell an meine LateX-Kompetenzen :D

Habe im I-net ein "für mich" schick formatiertes Listing gefunden (Anhang) und irgendwie gefällt mir das optisch recht gut. Meine bisherige Formatierung ist (gemäß listing-Doku) die folgende:



\documentclass[pdftex,
final,
10pt,
numbers=noenddot,
a4paper,
pagesize,
oneside,
ngerman,
parskip=full-]{scrreprt}

\usepackage[svgnames]{xcolor}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{caption}
\usepackage{scrhack}
\usepackage{listings}


\captionsetup{font=small, format=hang, justification=justified, labelsep=colon, labelformat=simple, singlelinecheck = true}
\captionsetup[lstlisting]{labelfont=bf,textfont=sc}

\usepackage[left=2.8cm,right=1.75cm,top=2.25cm,bottom=2.25cm]{geometry}

\lstdefinestyle{CSharp}{
language=[Sharp]C, % Sprache des Quellcodes ist Java
keywordstyle=\bfseries\color{DarkBlue}, % Farbe für die Keywords wie public, void, object u.s.w.
commentstyle=\color{DarkGreen}, % Farbe der Kommentare
stringstyle=\color{FireBrick}, % Farbe der Zeichenketten
numbers=left,
stepnumber=1, % Jede Zeile nummerieren.
numbersep=5pt, % 5pt Abstand zum Quellcode
numberstyle=\tiny, % Zeichengrösse 'tiny' für die Nummern.
breaklines=true, % Zeilen umbrechen wenn notwendig.
breakautoindent=true, % Nach dem Zeilenumbruch Zeile einrücken.
numberblanklines=false,
postbreak=\space, % Bei Leerzeichen umbrechen.
tabsize=2, % Tabulatorgrösse 2
basicstyle=\ttfamily\scriptsize, % Nichtproportionale Schrift, klein für den Quellcode
showspaces=false, % Leerzeichen nicht anzeigen.
showstringspaces=false, % Leerzeichen auch in Strings ('') nicht anzeigen.
extendedchars=true, % Alle Zeichen vom Latin1 Zeichensatz anzeigen.
framexleftmargin=5mm,
frame=shadowbox,
rulesepcolor=\color{DarkBlue},
}


\lstnewenvironment{csharp}[2]
{
\lstset{style=CSharp, caption=#1, label=#2, captionpos=t, abovecaptionskip=0.5em}
}
{
}


\begin{document}
\chapter{Hauptteil}
\section{Section}
Testtext im Hauptteil.

\begin{csharp}{Methode: \texttt{hideAllPlyBodies} -- Ausblendung (\emph{noShow}) aller geometrischen Sets der Lagengeometrien inkl. der \emph{Triangular-Results}}{lst:hideAllPlyBodies}
private void hideAllPlyBodies()
{
foreach (HybridBody body in plyBodies)
{
hideElement(body, partDocument2);
}

foreach (HybridBody body in plyBodiesTriangularResults)
{
hideElement(body, partDocument2);
}
}
\end{csharp}

\end{document}




Also eigentlich nichts besonderes. Ich hätte natürlich gerne so die Formatierung von dem Beispiellisting im Anhang insbesondere viel. den grünen Balken nach den Zeilennummern (falls das überhaupt geht) und die verschiedenen Zeilenhintergründe, die die einzelnen Zeilen jeweils gut hervorheben. Der Rest liegt ja eher an der Schlüsselwortformatierung etc.

Kann mir da jmd helfen? Bin aber sonst auch für andere, optisch schicke Formatierungsvorschläge offen. Vielleicht hat sich da ja jmd mal was hübsches gebastelt :)

Vielen dank schon mal,

Gruß
D.