Mit LaTeX ist es möglich, Quellcodes mit Highlights in einer Dokumentation darzustellen. Hierbei verwende ich farbige Boxen mit Highlight von Codes.

In der Präambel wird dies durch zwei getrennte Komponenten erzeugt. Zum einem für eine farbige Box ud zum anderen für das Highlight von Quellcodes.

% === Anfang: farbige Rahmen ====================
\usepackage{color}
\usepackage{framed}

\newenvironment{fshaded}{%
\def\FrameCommand{\fcolorbox{framecolor}{shadecolor}}%
\MakeFramed {\FrameRestore}}%
{\endMakeFramed}

\newenvironment{fsatz}[1][]{\definecolor{shadecolor}{rgb}{1,.8,.8}%
\definecolor{framecolor}{rgb}{1,0,0}%
\begin{fshaded}\begin{Satz}[#1]}{\end{Satz}\end{fshaded}}

\newenvironment{fdef}[1][]{\definecolor{shadecolor}{rgb}{.9,.9,1}%
\definecolor{framecolor}{rgb}{.1,.0,.7}%
\begin{fshaded}\begin{Definition}[#1]}{\end{Definition}\end{fshaded}}

\newenvironment{fconfig}[1][]{\definecolor{shadecolor}{gray}{0.8}%
\definecolor{framecolor}{gray}{0.25}%
\begin{fshaded}\begin{Definition}[#1]}{\end{Definition}\end{fshaded}}
% === Ende: farbige Rahmen ======================
% === Anfang: Quellcode im LaTeX (mit Laguage (JAVA, XML, ...)=
 \lstset{
   basicstyle=\scriptsize\ttfamily,
   keywordstyle=\bfseries\ttfamily\color{orange},
   stringstyle=\color{red}\ttfamily,
   commentstyle=\color{orange}\ttfamily,
   emph={square}, 
   emphstyle=\color{blue}\texttt,
   emph={[2]root,base},
   emphstyle={[2]\color{yac}\texttt},
   showstringspaces=false,
   flexiblecolumns=false,
   tabsize=2,
   numbers=left,
   numberstyle=\tiny,
   numberblanklines=false,
   stepnumber=1,
   numbersep=10pt,
   xleftmargin=15pt,
   breaklines=true,
 }

 %\color{<colour>}
 \definecolor{lightgray}{rgb}{0.8,0.8,0.8}
 \definecolor{orange}{rgb}{0.8,0.3,0.3}
 \definecolor{yac}{rgb}{0.6,0.6,0.1}
% === Ende: Quellcode im LaTeX (mit Laguage (JAVA, XML, ...)=

 

Quellcode ohne Highlight

Man kann den Quellcode auch ohne Highlight verwendet werden. In diesem Fall sieht es dann wie folgt aus.

LaTeX Quellcode in Box

...
\begin{figure}[H]
\begin{fconfig}
[\textbf{Kommandobefehle}]
%\lstset{language=bash}
\begin{lstlisting}
cd /tmp
wget -c http://ignum.dl.sourceforge.net/project/nagios/nagios-3.x/nagios-3.4.5/nagios-3.4.5rc1.tar.gz
tar -xzvf nagios-3.4.5rc1.tar.gz
cd nagios
./configure --with-nagios-group=nagios --with-command-group=nagcmd --with-mail=/usr/bin/sendmail
make all
make install
make install-init
make install-config
make install-commandmode
\end{lstlisting}	
\end{fconfig}
\caption{Konfiguration und Kompilieraufruf für nagios}
	\label{fig:nagios_install}
\end{figure}
...

 

Quellcode mit Hightlight

Mit dem Code Highlight wird der Code unter Variablen usw farblich unterteilt. In diesem Fall habe ich ein paar SQL Snippets angegeben.

LaTeX Code Highlight in Box

...
\begin{figure}[H]
\begin{fconfig}
[\textbf{Kommandobefehle}]
\lstset{language=SQL}
\begin{lstlisting}
mysql -u root -p
SQL> GRANT USAGE ON *.* TO 'icinga_web'@'localhost' IDENTIFIED BY 'XXXX';
SQL> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, INDEX ON icinga_web.* TO 'icinga_web'@'localhost';
mysql -u root -p XXXX  < /path/to/icinga-web/etc/schema/mysql.sql
\end{lstlisting}	
\end{fconfig}
\caption{Datenbank erstellen f\"ur IDO}
	\label{fig:icinga_web_mysql}
\end{figure}
...