2
0
Fork 0
mirror of https://github.com/MartinThoma/LaTeX-examples.git synced 2025-04-25 14:28:05 +02:00
LaTeX-examples/documents/Programmierparadigmen/Programmierparadigmen.tex

189 lines
6 KiB
TeX
Raw Normal View History

2014-02-01 13:46:33 +01:00
\documentclass[DIV15,BCOR12mm]{scrbook}
\newif\ifAFive\AFivetrue
\ifAFive
\KOMAoptions{paper=a5,twoside=true}
\else
\KOMAoptions{paper=a4,twoside=false}
\fi
\usepackage{etoolbox}
\usepackage{amsmath,amssymb}% math symbols / fonts
\usepackage{mathtools} % \xRightarrow
\usepackage{nicefrac} % \nicefrac
\usepackage[utf8]{inputenc} % this is needed for umlauts
\usepackage[ngerman]{babel} % this is needed for umlauts
\usepackage[T1]{fontenc} % this is needed for correct output of umlauts in pdf
\usepackage[framed,amsmath,thmmarks,hyperref]{ntheorem}
\usepackage{framed}
\usepackage{marvosym}
\usepackage{makeidx} % for automatically generation of an index
\usepackage{xcolor}
\usepackage[bookmarks,bookmarksnumbered,hypertexnames=false,pdfpagelayout=OneColumn,colorlinks,hyperindex=false]{hyperref} % has to be after makeidx
\usepackage{breakurl} % allow line breaks in \href{ ... }
\ifAFive
\hypersetup{hidelinks=true}
% no \else branch needed in this case
\fi
\usepackage{enumitem} % Better than \usepackage{enumerate}, because it allows to set references
2014-04-04 13:07:12 +02:00
\usepackage{multicol} % Breaking a list into multiple columns
2014-02-01 13:46:33 +01:00
\usepackage{tabto}
\usepackage{braket} % needed for \Set
\usepackage{csquotes} % \enquote{}
\usepackage{subfig} % multiple figures in one
\usepackage{parskip} % nicer paragraphs
\usepackage{xifthen} % \isempty
\usepackage{changepage} % for the adjustwidth environment
\usepackage{pst-solides3d}
\usepackage[colorinlistoftodos]{todonotes}
\usepackage{pgfplots}
\pgfplotsset{compat=1.7}
\usepackage[arrow, matrix, curve]{xy}
\usepackage{caption} % get newlines within captions
\usepackage{tikz} % draw
\usepackage{tikz-3dplot} % draw
\usepackage{tkz-fct} % draw
\usepackage{tkz-euclide} % draw
\usetkzobj{all} % tkz-euclide
\usetikzlibrary{3d,calc,intersections,er,arrows,positioning,shapes.misc,patterns,fadings,decorations.pathreplacing}
\usepackage{tqft}
\usepackage{xspace} % for new commands; decides weather I want to insert a space after the command
\usepackage[german,nameinlink]{cleveref} % has to be after hyperref, ntheorem, amsthm
2014-03-20 15:18:50 +01:00
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{array,xtab,ragged2e} % for symbol table
\newlength\mylengtha
\newlength\mylengthb
\newcolumntype{P}[1]{>{\RaggedRight}p{#1}}
\tabcolsep=3pt % default: 6pt
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2014-02-01 13:46:33 +01:00
\usepackage{acronym}
\usepackage{minted} % needed for the inclusion of source code
2014-02-02 13:49:19 +01:00
\usemintedstyle{bw}
\usepackage{courier}
2014-03-02 19:35:37 +01:00
\usepackage{wasysym}
\usepackage[binary-units = true]{siunitx} % this package is for units!
\sisetup{locale=DE}
2014-03-13 18:59:50 +01:00
%%% Pseudocode settings
\usepackage{algorithm,algpseudocode}
\algtext*{EndIf} % Remove "end if" text
\algtext*{EndWhile} % Remove "end while" text
\algtext*{EndFunction} % Remove "end while" text
\algnewcommand\Global{\textbf{global }}
\makeatletter
\addto\captionsngerman{\renewcommand{\ALG@name}{Algorithmus}}
\makeatother
%%% End of Pseudocode settings
2014-02-01 13:46:33 +01:00
\usepackage{shortcuts}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]%
{\markboth{\MakeUppercase{\thechapter.\ #1}}{}}
\renewcommand{\sectionmark}[1]%
{\markright{\MakeUppercase{\thesection.\ #1}}}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0pt}
\newcommand{\helv}{%
\fontfamily{phv}\fontseries{b}\fontsize{9}{11}\selectfont}
\fancyhf{}
\fancyhead[LO,RE]{\helv \thepage}
\fancyhead[LE]{\helv \rightmark}
\fancyhead[RO]{\helv \leftmark}
2014-02-01 13:46:33 +01:00
\fancypagestyle{plain}{%
\fancyhead{}
\renewcommand{\headrulewidth}{0pt}
}
\hypersetup{
pdfauthor = {Martin Thoma},
pdfkeywords = {Programmierparadigmen},
pdftitle = {Programmierparadigmen}
}
2014-03-28 10:01:36 +01:00
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% The patch for minted: http://tex.stackexchange.com/a/168021/5645
\makeatletter
\def\FV@BeginListFrame@Lines{%
\begingroup
\lineskip\z@skip
\FV@SingleFrameLine{\z@}%
\kern-0.5\baselineskip\relax
\baselineskip\z@skip
\kern\FV@FrameSep\relax
\penalty\@M% added line
\endgroup}
\makeatother
% Unicode minted patch: http://tex.stackexchange.com/a/84883/5645
\makeatletter
\newcommand{\minted@write@detok}[1]{%
\immediate\write\FV@OutFile{\detokenize{#1}}}%
\newcommand{\minted@FVB@VerbatimOut}[1]{%
\@bsphack
\begingroup
\FV@UseKeyValues
\FV@DefineWhiteSpace
\def\FV@Space{\space}%
\FV@DefineTabOut
%\def\FV@ProcessLine{\immediate\write\FV@OutFile}% %Old, non-Unicode version
\let\FV@ProcessLine\minted@write@detok %Patch for Unicode
\immediate\openout\FV@OutFile #1\relax
\let\FV@FontScanPrep\relax
%% DG/SR modification begin - May. 18, 1998 (to avoid problems with ligatures)
\let\@noligs\relax
%% DG/SR modification end
\FV@Scan}
\let\FVB@VerbatimOut\minted@FVB@VerbatimOut
\renewcommand\minted@savecode[1]{
\immediate\openout\minted@code\jobname.pyg
\immediate\write\minted@code{\expandafter\detokenize\expandafter{#1}}%
\immediate\closeout\minted@code}
\makeatother
2014-03-28 10:01:36 +01:00
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2014-02-01 13:46:33 +01:00
\makeindex
\allowdisplaybreaks
\usepackage{microtype}
\begin{document}
2014-03-31 13:31:31 +02:00
%-------------------------------------------------------------
\newcolumntype{C}{>{\centering\arraybackslash}p{2cm}}
%-------------------------------------------------------------
2014-02-01 13:46:33 +01:00
\pagenumbering{roman}
\setcounter{page}{1}
\input{titlepage}
\input{Vorwort}
\tableofcontents
\pagenumbering{arabic}
\setcounter{page}{1}
\input{Programmiersprachen}
2014-02-01 19:44:40 +01:00
\input{Programmiertechniken}
\input{Logik}
2014-03-08 14:05:57 +01:00
\input{Lambda}
2014-03-02 19:35:37 +01:00
\input{Typinferenz}
\input{Parallelitaet}
2014-03-24 17:04:40 +01:00
\input{Java}
2014-02-01 13:46:33 +01:00
\input{Haskell}
2014-02-01 15:32:13 +01:00
\input{Prolog}
2014-02-01 13:46:33 +01:00
\input{Scala}
\input{X10}
\input{C}
\input{MPI}
2014-02-07 12:04:12 +01:00
\input{Compilerbau}
2014-03-10 16:18:58 +01:00
\input{Java-Bytecode}
2014-02-01 13:46:33 +01:00
\appendix
%\input{Bildquellen}
%\clearpage
2014-02-01 13:46:33 +01:00
\input{Abkuerzungen}
\clearpage
2014-02-24 11:44:57 +01:00
\input{Definitionen}
\clearpage
2014-02-01 13:46:33 +01:00
\input{Symbolverzeichnis}
\clearpage
\addcontentsline{toc}{chapter}{Stichwortverzeichnis}
\renewcommand{\indexname}{Stichwortverzeichnis}
\printindex
\end{document}