418 lines
13 KiB
TeX
418 lines
13 KiB
TeX
% set font to sans-serif
|
||
\renewcommand{\familydefault}{\sfdefault}
|
||
|
||
\usepackage[left=3.5cm,right=3.0cm,top=2cm,bottom=3cm]{geometry} % Page margins
|
||
\usepackage[ngerman]{babel} % Better line breaking
|
||
\usepackage[utf8]{inputenc} % Utf8 recognition
|
||
\usepackage[T1]{fontenc} % Translate from latex code to draw font
|
||
\usepackage{lmodern} % Bolder font
|
||
\usepackage{graphicx} % Display images
|
||
\usepackage{fancyhdr} % Header/footer
|
||
\usepackage[pdfborder={0 0 0}]{hyperref} % Links without visible lines
|
||
\usepackage[table]{xcolor} % Get the color in the table
|
||
\usepackage{pdflscape} % Get the table into landscape mode
|
||
\usepackage[lastpage]{zref} % Set a lable on the last page
|
||
\usepackage{listings} % Display formatted code
|
||
\usepackage{makeidx} % Generates the index
|
||
\usepackage{acronym} % Generates the list of abbreviations
|
||
\usepackage{multicol} % List of abbreviations with two columns
|
||
\usepackage{bibgerm} % BibTex German Style DIN 1505
|
||
\usepackage{longtable} % Multi page tables
|
||
\usepackage[onehalfspacing]{setspace}
|
||
|
||
% Tell LaTeX to generate an index
|
||
\makeindex
|
||
|
||
% No indent @ line start
|
||
\parindent 10pt
|
||
%\parskip2ex
|
||
|
||
% The bibstyle
|
||
% gerplain is for only numbers in alphabetic order
|
||
% geralpha is for name+year in alphabetic order
|
||
\bibliographystyle{gerplain}
|
||
|
||
% Header
|
||
\pagestyle{fancy}
|
||
|
||
\fancypagestyle{plain}{}
|
||
\fancyhead[RO,RE]{Seite \thepage\ von\reallastpage}
|
||
\fancyhead[LO,LE]{\leftmark}
|
||
|
||
% Set the lastpage counter -1
|
||
% So the statutory declaration is not part of the page counter
|
||
\makeatletter
|
||
\newcommand{\reallastpage}{
|
||
\the \numexpr \zref@extractdefault{LastPage}{page}{0}-1\relax
|
||
}
|
||
\makeatother
|
||
|
||
% Header for starting section
|
||
\fancypagestyle{rightmark}{
|
||
\fancyhead[LO,LE]{\rightmark}
|
||
}
|
||
|
||
% Empty footer
|
||
\cfoot{}
|
||
|
||
% Brake long url in cite
|
||
\def\UrlBreaks{\do\/\do-}
|
||
|
||
% Suppress clubs (Schusterjungen)
|
||
\clubpenalty = 10000
|
||
|
||
% Suppress widows (Hurenkinder)
|
||
\widowpenalty = 10000
|
||
|
||
% Suppress widows in front of a formular
|
||
\displaywidowpenalty = 10000
|
||
|
||
% Macro for centering extreme wide tables/figures
|
||
\makeatletter
|
||
\newcommand*{\centerfloat}{%
|
||
\parindent \z@
|
||
\leftskip \z@ \@plus 1fil \@minus \textwidth
|
||
\rightskip\leftskip
|
||
\parfillskip \z@skip}
|
||
\makeatother
|
||
|
||
%------------------------------------------------------------------------------
|
||
% Macro for reusing sume text:
|
||
%------------------------------------------------------------------------------
|
||
|
||
% Use to define some text and then re use the very same text
|
||
% \ref{sth:bla}
|
||
% \textlabel{Something AAA}{sth:bla}
|
||
\makeatletter
|
||
\newcommand*{\Textlabel}[2]{%
|
||
\edef\@currentlabel{#1}% Set target label
|
||
\phantomsection% Correct hyper reference link
|
||
#1\label{#2}% Print and store label
|
||
}
|
||
\makeatother
|
||
|
||
%------------------------------------------------------------------------------
|
||
% Macro for the title:
|
||
%------------------------------------------------------------------------------
|
||
|
||
% The full title
|
||
\newcommand*{\Title}{\TitleFirstLine~\TitleSecondLine}
|
||
|
||
% Only the first line of the title
|
||
\newcommand*{\TitleFirstLine}{Betrachtung von Datensicherheit in E-Mail Systemen und Entwicklung eines SMTP-basierten Anonymisierungs-Algorithmus}
|
||
|
||
% Only the second line of the title
|
||
\newcommand*{\TitleSecondLine}{}
|
||
|
||
%------------------------------------------------------------------------------
|
||
% Macros for the list of abbreviations:
|
||
%------------------------------------------------------------------------------
|
||
|
||
% To wirte the text only once
|
||
\newcommand*{\ListOfAbbreviations}{Abkürzungsverzeichnis}
|
||
|
||
% use reversed form
|
||
\makeatletter
|
||
\renewcommand*{\@acf}[1]{%
|
||
\ifAC@footnote
|
||
\acsfont{\AC@acs{#1}}%
|
||
\footnote{\AC@placelabel{#1}\hskip\z@\AC@acl{#1}{} }%
|
||
\else
|
||
\acsfont{% Orig:\acffont
|
||
\AC@placelabel{#1}\hskip\z@\AC@acs{#1}%Orig: \AC@acl{#1}
|
||
\nolinebreak[3] %
|
||
\acfsfont{(\acffont{\AC@acl{#1}})}%Orig: (\acsfont{\AC@acs{#1}})
|
||
}%
|
||
\fi
|
||
\ifAC@starred\else\AC@logged{#1}\fi
|
||
}
|
||
\makeatother
|
||
|
||
%------------------------------------------------------------------------------
|
||
% Macros for the the Index:
|
||
%------------------------------------------------------------------------------
|
||
|
||
% The thickness of the line between the columns of the index and the list of
|
||
% Abbreviations; 0.4 pt is the LaTeX standart
|
||
\newcommand*{\LineThickness}{0.4 pt}
|
||
|
||
% Display twoculums with vertical seperator line
|
||
\makeatletter
|
||
\renewenvironment{theindex}
|
||
{\if@twocolumn
|
||
\@restonecolfalse
|
||
\else
|
||
\@restonecoltrue
|
||
\fi
|
||
\setlength{\columnseprule}{\LineThickness} % Thikness of the columnseprule
|
||
\setlength{\columnsep}{35 pt}
|
||
\begin{multicols}{2}[\chapter*{\indexname}] % Amount of Columns
|
||
\markboth{\MakeUppercase\indexname}%
|
||
{\MakeUppercase\indexname}%
|
||
\thispagestyle{plain}
|
||
\setlength{\parindent}{0pt}
|
||
\setlength{\parskip}{0pt plus 0.3pt}
|
||
\relax
|
||
\let\item\@idxitem}%
|
||
{\end{multicols}\if@restonecol\onecolumn\else\clearpage\fi}
|
||
\makeatother
|
||
|
||
%------------------------------------------------------------------------------
|
||
% Macros for table colors and longtables:
|
||
%------------------------------------------------------------------------------
|
||
|
||
% Table gray row
|
||
\newcommand*{\Grayrow}{\rowcolor{gray!35}}
|
||
|
||
% Table red cell
|
||
\newcommand*{\Redcell}{\cellcolor{red!30}}
|
||
|
||
% Table green cell
|
||
\newcommand*{\Greencell}{\cellcolor{green!30}}
|
||
|
||
% Generates a small empty row in a longtable
|
||
\newcommand*{\EmptyRow}{\multicolumn{0}{l}{} \\[-9pt]}
|
||
|
||
% Needs to be @ the end of the longtable,
|
||
% generates a caption with correct spacing
|
||
% @par1: the text of the caption
|
||
\newcommand*{\CaptionLongtable}[1]
|
||
{\multicolumn{0}{l}{} \\[-3pt]\caption{#1}}
|
||
|
||
%------------------------------------------------------------------------------
|
||
% Macros for quotes:
|
||
%------------------------------------------------------------------------------
|
||
|
||
% A direct quote
|
||
% @par1: The quoted text
|
||
% @par2: The source where the text is from
|
||
% @par3: The page where the text is from
|
||
\newcommand*{\QuoteDirect}[3]{\QuoteM{\emph{#1}} \cite[#3]{#2}}
|
||
|
||
% A direct quote without page
|
||
% @par1: The quoted text
|
||
% @par2: The source where the text is from
|
||
\newcommand*{\QuoteDirectNoPage}[2]{\QuoteM{\emph{#1}} \cite{#2}}
|
||
|
||
% A indirect quote
|
||
% @par1: The source where the text is from
|
||
% @par2: The page where the text is from
|
||
\newcommand*{\QuoteIndirect}[2]{(vgl. \cite[#2]{#1})}
|
||
|
||
% A indirect quote without page
|
||
% @par1: The source where the text is from
|
||
\newcommand*{\QuoteIndirectNoPage}[1]{(vgl. \cite{#1})}
|
||
|
||
% A reference
|
||
% @par1: The source where the text is from
|
||
\newcommand*{\RefIt}[1]{\cite{#1}}
|
||
|
||
% A text with quotation marks
|
||
% @par1: The text you want to quote
|
||
% »text«
|
||
\newcommand*{\QuoteM}[1]{\frqq #1\flqq}
|
||
|
||
% A text with single quotation marks
|
||
% @par1: The text you want to quote
|
||
% ›text‹
|
||
\newcommand*{\QuoteMs}[1]{\frq #1\flq}
|
||
|
||
% To adjust some words to the flow
|
||
% @par1: the adjusted words
|
||
% [text]
|
||
\newcommand*{\AdjustWords}[1]{{\normalfont[#1]}}
|
||
|
||
% Displays a reference to the given object
|
||
% @par1: the lable of the thing you want to see
|
||
% (Siehe auch Abbildung 1.1 »Ein Bild« auf Seite 4)
|
||
\newcommand*{\See}[1]
|
||
{(Siehe auch \autoref{#1} \QuoteM{\nameref{#1}} auf \autopageref{#1})}
|
||
|
||
% Displays a reference to an equation
|
||
% @par1: the lable of the equation you want to see
|
||
% (Siehe auch Gleichung 1.1 in »Dummy Section« auf Seite 5)
|
||
\newcommand*{\SeeEq}[1]
|
||
{(Siehe auch \autoref{#1} in \QuoteM{\nameref{#1}} auf \autopageref{#1})}
|
||
|
||
% The symbol for a elision
|
||
% Is used for more than missings one word or a sentence
|
||
% [...]
|
||
\newcommand*{\Elision}{{\normalfont[\dots]}}
|
||
|
||
% The symbol for a small elision
|
||
% Is used for only one missing word
|
||
% [..]
|
||
\newcommand*{\ElisionSmall}{{\normalfont[..]}}
|
||
|
||
% This is used if a book is cited at whole
|
||
% passim means something like continuous
|
||
% text (vgl. [Aut99, passim]).
|
||
\newcommand*{\passim}{passim}
|
||
|
||
% To show the audience that there is something
|
||
% To display a wrong/importen part but not corrected in the quote
|
||
% text error [sic!] text
|
||
\newcommand*{\SIC}{{\normalfont[sic!]}}
|
||
|
||
% The text for a note from the author
|
||
% text, Anm. d. Autors
|
||
\newcommand*{\NoteFromAuthor}{{\normalfont\unskip , Anm. d. Autors}}
|
||
|
||
% Space btween \item in itemize
|
||
\newcommand*{\Itemizespace}{0 pt}
|
||
|
||
%------------------------------------------------------------------------------
|
||
% Listings:
|
||
%------------------------------------------------------------------------------
|
||
|
||
% Change the text from a listings caption
|
||
\renewcommand*{\lstlistingname}{Code}
|
||
|
||
% Change the text from the \autoref
|
||
\def\lstlistingautorefname{\lstlistingname}
|
||
|
||
% Change the text from the list of listings
|
||
\renewcommand*{\lstlistlistingname}{Codeverzeichnis}
|
||
|
||
\lstset{literate=%
|
||
{Ö}{{\"O}}1
|
||
{Ä}{{\"A}}1
|
||
{Ü}{{\"U}}1
|
||
{ß}{{\ss}}1
|
||
{ü}{{\"u}}1
|
||
{ä}{{\"a}}1
|
||
{ö}{{\"o}}1
|
||
{~}{{\textasciitilde}}1
|
||
}
|
||
|
||
\definecolor{lightgray}{rgb}{.9,.9,.9}
|
||
\definecolor{darkgray}{rgb}{.4,.4,.4}
|
||
\definecolor{purple}{rgb}{0.65, 0.12, 0.82}
|
||
|
||
\lstdefinelanguage{JavaScript}{
|
||
keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break},
|
||
keywordstyle=\color{blue}\bfseries,
|
||
ndkeywords={class, export, boolean, throw, implements, import, this},
|
||
ndkeywordstyle=\color{darkgray}\bfseries,
|
||
identifierstyle=\color{black},
|
||
sensitive=false,
|
||
comment=[l]{//},
|
||
morecomment=[s]{/*}{*/},
|
||
commentstyle=\color{purple}\ttfamily,
|
||
stringstyle=\color{red}\ttfamily,
|
||
morestring=[b]',
|
||
morestring=[b]"
|
||
}
|
||
|
||
% C++ code environment
|
||
% @par1: The caption
|
||
% @par2: The label
|
||
% Used as:
|
||
% \begin{c++}{caption}{label}
|
||
% c++ code
|
||
% \end{c++}
|
||
% Use empty brackets for code without caption and/or lable like:
|
||
% \begin{c++}{}{}
|
||
% c++ code
|
||
% \end{c++}
|
||
\lstnewenvironment{JavaScript}[2]{
|
||
\lstset{ % General command to set parameter(s)
|
||
language=JavaScript,
|
||
% The language of the code
|
||
basicstyle=\small \ttfamily,
|
||
% The size of the fonts that are used for the code
|
||
breaklines=true,
|
||
% Sets automatic line breaking
|
||
captionpos=b,
|
||
% Sets the caption-position to bottom
|
||
showstringspaces=false,
|
||
% Underline spaces within strings only
|
||
showspaces=false,
|
||
% Show spaces everywhere adding particular underscores;
|
||
% it overrides 'showstringspaces'
|
||
keepspaces=true,
|
||
% Keeps spaces in text, useful for keeping indentation
|
||
% of code (possibly needs columns=flexible)
|
||
numbers=left,
|
||
% Where to put the line-numbers;
|
||
% possible values are (none, left, right)
|
||
showtabs=false,
|
||
% Show tabs within strings adding particular underscores
|
||
keywordstyle=\bfseries \color{blue},
|
||
% Keyword style
|
||
rulesepcolor=\color{gray},
|
||
% The color of the shadow of the box
|
||
identifierstyle=\ttfamily,
|
||
% The style for non-keywords
|
||
commentstyle=\bfseries \color{gray},
|
||
% Comment style
|
||
stringstyle=\ttfamily \color{red!50!brown},
|
||
% String literal style
|
||
numberstyle=\tiny,
|
||
% The style that is used for the line-numbers
|
||
tabsize=2,
|
||
% Sets default tabsize to 2 spaces
|
||
frame=shadowbox,
|
||
% Adds a frame around the code use single for no shadow
|
||
rulecolor=\color{black},
|
||
% If not set, the frame-color may be changed
|
||
% on line-breaks within not-black text
|
||
moredelim=[is][\underbar]{__}{__},
|
||
% To create a underlind text to highlight something: __text__
|
||
caption={#1},
|
||
% The caption of the code example will be
|
||
% shown in the lstlistoflistings
|
||
label={#2}
|
||
% The lable used to make a ref to the code
|
||
}
|
||
}{}
|
||
|
||
\lstnewenvironment{mail}[2]{
|
||
\lstset{ % General command to set parameter(s)
|
||
basicstyle=\small \ttfamily,
|
||
% The size of the fonts that are used for the code
|
||
breaklines=true,
|
||
% Sets automatic line breaking
|
||
captionpos=b,
|
||
% Sets the caption-position to bottom
|
||
showstringspaces=false,
|
||
% Underline spaces within strings only
|
||
showspaces=false,
|
||
% Show spaces everywhere adding particular underscores;
|
||
% it overrides 'showstringspaces'
|
||
keepspaces=true,
|
||
% Keeps spaces in text, useful for keeping indentation
|
||
% of code (possibly needs columns=flexible)
|
||
numbers=left,
|
||
% Where to put the line-numbers;
|
||
% possible values are (none, left, right)
|
||
showtabs=false,
|
||
% Show tabs within strings adding particular underscores
|
||
keywordstyle=\bfseries \color{blue},
|
||
% Keyword style
|
||
rulesepcolor=\color{gray},
|
||
% The color of the shadow of the box
|
||
identifierstyle=\ttfamily,
|
||
% The style for non-keywords
|
||
commentstyle=\bfseries \color{gray},
|
||
% Comment style
|
||
stringstyle=\ttfamily \color{red!50!brown},
|
||
% String literal style
|
||
numberstyle=\tiny,
|
||
% The style that is used for the line-numbers
|
||
tabsize=2,
|
||
% Sets default tabsize to 2 spaces
|
||
frame=shadowbox,
|
||
% Adds a frame around the code use single for no shadow
|
||
rulecolor=\color{black},
|
||
% If not set, the frame-color may be changed
|
||
% on line-breaks within not-black text
|
||
moredelim=[is][\underbar]{__}{__},
|
||
% To create a underlind text to highlight something: __text__
|
||
caption={#1},
|
||
% The caption of the code example will be
|
||
% shown in the lstlistoflistings
|
||
label={#2}
|
||
% The lable used to make a ref to the code
|
||
}
|
||
}{} |