%monaco 10pt
\pdfoutput=1
\documentclass[a4paper, pdftex, 10pt]{article}
\usepackage{german} 
%\usepackage{isolatin1}
\usepackage[latin1]{inputenc}
\usepackage{times} 
%%
\usepackage{graphicx}
%%
\usepackage{hyperref}
\usepackage{longtable}
\usepackage{moreverb}
\usepackage{fancyvrb}
\usepackage{tabularx} 
\usepackage{listings}
\usepackage{colortbl}
\usepackage{xcolor}
\pdfcompresslevel=0
%\topmargin-25mm 
%\textheight255mm 
%\oddsidemargin-10mm
%\textwidth170mm
\columnsep5mm
\parindent0mm 
\parskip0.5ex
\newcommand{\strich}[1]{
  \rule{\linewidth}{#1}
}
\newcommand{\pl}{PL/pgSQL }
\newcommand{\gl}{GNU/Linux }
%%***parbox definieren
\newcommand{\kasten}[1]{
  \begin{center}
    \fbox{\parbox{11cm}{#1}}
  \end{center}
}
%%**********************

%%################################################################
%Definieren uns farbigen Quellcode
%\usepackage{color}
\definecolor{dkgreen}{rgb}{0,0.6,0}
%definecolor{gray}{rgb}{0.5,0.5,0.5}
%definecolor{mauve}{rgb}{0.58,0,0.82}
 
%Damit wir Quellcode nutzen können.
\usepackage{listings}

\lstdefinestyle{highlight}{
  keywordstyle=\color{red},
  commentstyle=\color{green},
  stringstyle=\color{dkgreen}
}

\lstloadlanguages{{XSLT}}
\lstloadlanguages{xml}
\lstloadlanguages{java}
\lstloadlanguages{Caml}

%\lstset{numbers=left,
\lstdefinestyle{xslt}{
        language=XSLT,
        numbers=left,
	numberstyle=\tiny,
	numbersep=5pt,
	breaklines=true,
	showstringspaces=false,
	frame=l ,
	xleftmargin=15pt,
	xrightmargin=15pt,
	stepnumber=1,
        tagstyle=\color{black!80},
        basicstyle=\footnotesize{\color{black!80}},
        keywordstyle={\color{red}\bf{}},
        commentstyle=\color{green!80},
        stringstyle=\color{dkgreen!80},
        moredelim=**[is][\pause{\color{black}\lstset{style=highlight}}]{@}{@},
        morekeywords={xs:schema,xs:element,xs:complexType,xs:sequence,xs:attribute
        },
}

\lstdefinestyle{java}{
      %  font=\tiny,
        language=java,
        numbers=left,
	numberstyle=\tiny,
	numbersep=5pt,
	breaklines=true,
	showstringspaces=false,
	frame=l ,
	xleftmargin=15pt,
	xrightmargin=15pt,
	stepnumber=1,
        basicstyle=\scriptsize{\color{black!80}},
        keywordstyle={\color{red}\bf{}},
        commentstyle=\color{green!80},
        stringstyle=\color{dkgreen!80},
        moredelim=**[is][\pause{\color{black}\lstset{style=highlight}}]{@}{@},
}

\lstdefinestyle{ocaml}{%
  language=[Objective]Caml,
  numbers=left,
  numberstyle=\tiny,
  numbersep=5pt,
  breaklines=true,
  showstringspaces=false,
  frame=l ,
  xleftmargin=15pt,
  xrightmargin=15pt,
  stepnumber=1,
  basicstyle=\footnotesize{\color{black!80}},
  keywordstyle={\color{red}\bf{}},
  commentstyle=\color{green!80},
  stringstyle=\color{dkgreen!80},
  moredelim=**[is][\pause{\color{black}\lstset{style=highlight}}]{§}{§},
}

\lstdefinestyle{ocaml2}{%
  language=[Objective]Caml,
  numbers=left,
  numberstyle=\tiny,
  numbersep=5pt,
  breaklines=true,
  showstringspaces=false,
  frame=l ,
  xleftmargin=15pt,
  xrightmargin=15pt,
  stepnumber=1,
  basicstyle=\footnotesize{\color{black!80}},
  keywordstyle={\color{red}\bf{}},
  commentstyle=\color{green!80},
  stringstyle=\color{dkgreen!80},
  moredelim=**[is][\pause{\color{black}\lstset{style=highlight}}]{§}{§},
}

\lstdefinelanguage{ios} 
{morekeywords={R1,config,config-std-nacl,deny,
               permit,remark,access-list,
               port,operator,established,log,
               any,host,icmp,ip,tcp,udp,
               lt,gt,eq,neq,in,out,access-group,
               ip,ipx,config-if,no,
               nat,inside,source,static,pool,netmask,
               list,interface,overload,clear,translation,
               outside,appletalk,
               frame-relay,map,ietf,cisco,broadcast,
               point-to-point,multipoint,
               frame-relay,interface-dlci,
               copy,
               ipv6,
},
alsoletter={-},
sensitive=true, 
breaklines=true,
basicstyle=\ttfamily\small,
keywordstyle=\bfseries
} 

%%################################################################

\begin{document}

   \title{Projektdokumentation}

   \author{Alfred E. Neumann}

   \date{\today}
   \maketitle
   \tableofcontents
   \listoffigures
   
   
\section{Das ist eine Kapitelüberschrift}

\subsection{Ein Unterkapitel}

\end{document}

Hier ein Beispiel für eine Liste:

  \begin{itemize}
     \item Die Firewall besteht aus \textbf{Tabellen}.%%
     \item Eine Tabelle enthält mehrere Filter-\textbf{Ketten}.%%
     \item Eine Kette besteht aus \textbf{Regeln}, die Regeln sind also die
    Kettenglieder. Die Regeln einer Kette werden nacheinander
    durchlaufen. Trifft eine Regel zu, wird die Kette verlassen.  %%
     \item Eine Regel endet mit der Angabe eines Sprung-\textbf{Ziels}. Das
    Ziel bestimmt, was mit dem Paket gemacht wird: DROP, ACCEPT, DNAT,
    ... oder ob man zu einer anderen Kette springt.%%
  \item Die Sprungziele am \textit{Ende} der fest definierten,
    eingebauten Ketten nennt man \textit{Policies}. Diese können nur
    die Werte \textbf{ACCEPT} oder \textbf{DROP} haben.
  \end{itemize}
  
\clearpage

\subsubsection{Ein Unter-Unterkapitel}

Mit minipages kann man Objekte nebeneinander anordnen. Hier drei Tabellen:

\begin{table}[h]
  \centering
\begin{minipage}[h]{0.3\linewidth}
    \begin{tabular}[h]{|l|l|}
      \hline
\rowcolor{red}
      \multicolumn{2}{|l|}{\textbf{filter}}\\\hline
   &FORWARD\\ \cline{2-2}
   &INPUT\\ \cline{2-2}
   &OUTPUT\\ \hline
    \end{tabular}
    \caption{Tabelle filter}
    \label{filter}
  \end{minipage}
%
\hfill
%
  \begin{minipage}[h]{0.3\linewidth}
    \begin{tabular}[h]{|l|l|}
      \hline
\rowcolor{blue}
      \multicolumn{2}{|l|}{\textbf{nat}}\\\hline
   &PREROUTING\\ \cline{2-2}
   &OUTPUT\\ \cline{2-2}
   &POSTROUTING\\ \hline
    \end{tabular}
    \caption{Tabelle nat}
    \label{nat}
  \end{minipage}
%
\hfill
%
  \begin{minipage}[h]{0.3\linewidth}
    \begin{tabular}[h]{|l|l|}
      \hline
\rowcolor{green}
      \multicolumn{2}{|l|}{\textbf{mangle}}\\\hline
   &PREROUTING\\ \cline{2-2}
   &POSTROUTING\\ \cline{2-2}
   &OUTPUT\\ \cline{2-2}
   &INPUT\\ \cline{2-2}
   &FORWARD\\ \hline
    \end{tabular}
    \caption{Tabelle mangle}
    \label{filter}
  \end{minipage}
\end{table}

\section{Bilder}

\textbackslash includegraphics hat viele Optionen. \url{https://docs.aspose.com/tex/net/latex-graphics/}

Selbstverständlich kann die Bilddatei auch im pdf-Format sein.

%%************************************************************************
  \begin{figure}[h]
    \begin{center}
      \fbox{\includegraphics[scale=0.1,angle=90,trim=-5mm -5mm -5mm -5mm]{bilder/testbild.jpg}}
      \caption{\label{ipTablesNeu}Testbild}
    \end{center}
  \end{figure}
  %% ************************************************************************

\clearpage

\section{Listings}

Programmlistings kann man z.b. mit dem Paket \verb+listings+ erstellen.

\url{https://texdoc.org/serve/listings.pdf/0}

\begin{lstlisting}[style=ocaml, gobble=1]
  let dreifach (x:float) = 3.0 *. x
  let inc (x:float) = x +. 1.0
  inc(dreifach 7.0 -. inc 2.0)
  inc(3.0 *. 7.0 -. 2.0 +. 1.0)
  inc(21.0 -. 3.0)
  inc(18.0)
  (18.0 +. 1.0)
  19
\end{lstlisting}

\end{document}
