📚 The CoCalc Library - books, templates and other resources
cocalc-examples / martinthoma-latex-examples / documents / Programmierparadigmen / Programmierparadigmen.tex
132930 viewsLicense: OTHER
\documentclass[DIV15,BCOR12mm]{scrbook}1\newif\ifAFive\AFivetrue2\ifAFive3\KOMAoptions{paper=a5,twoside=true}4\else5\KOMAoptions{paper=a4,twoside=false}6\fi7\usepackage{etoolbox}8\usepackage{amsmath,amssymb}% math symbols / fonts9\usepackage{mathtools} % \xRightarrow10\usepackage{nicefrac} % \nicefrac11\usepackage[utf8]{inputenc} % this is needed for umlauts12\usepackage[ngerman]{babel} % this is needed for umlauts13\usepackage[T1]{fontenc} % this is needed for correct output of umlauts in pdf14\usepackage[framed,amsmath,thmmarks,hyperref]{ntheorem}15\usepackage{framed}16\usepackage{marvosym}17\usepackage{makeidx} % for automatically generation of an index18\usepackage{xcolor}19\usepackage[bookmarks,bookmarksnumbered,hypertexnames=false,pdfpagelayout=OneColumn,colorlinks,hyperindex=false]{hyperref} % has to be after makeidx20\usepackage{breakurl} % allow line breaks in \href{ ... }21\ifAFive22\hypersetup{hidelinks=true}23% no \else branch needed in this case24\fi25\usepackage{enumitem} % Better than \usepackage{enumerate}, because it allows to set references26\usepackage{multicol} % Breaking a list into multiple columns27\usepackage{tabto}28\usepackage{braket} % needed for \Set29\usepackage{csquotes} % \enquote{}30\usepackage{subfig} % multiple figures in one31\usepackage{parskip} % nicer paragraphs32\usepackage{xifthen} % \isempty33\usepackage{changepage} % for the adjustwidth environment34\usepackage{pst-solides3d}35\usepackage[colorinlistoftodos]{todonotes}36\usepackage{pgfplots}37\pgfplotsset{compat=1.7}38\usepackage[arrow, matrix, curve]{xy}39\usepackage{caption} % get newlines within captions40\usepackage{tikz} % draw41\usepackage{tikz-3dplot} % draw42\usepackage{tkz-fct} % draw43\usepackage{tkz-euclide} % draw44\usetkzobj{all} % tkz-euclide45\usetikzlibrary{3d,calc,intersections,er,arrows,positioning,shapes.misc,patterns,fadings,decorations.pathreplacing}46\usepackage{tqft}47\usepackage{xspace} % for new commands; decides weather I want to insert a space after the command48\usepackage[german,nameinlink]{cleveref} % has to be after hyperref, ntheorem, amsthm49%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%50\usepackage{array,xtab,ragged2e} % for symbol table51\newlength\mylengtha52\newlength\mylengthb53\newcolumntype{P}[1]{>{\RaggedRight}p{#1}}54\tabcolsep=3pt % default: 6pt55%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%56\usepackage{acronym}57\usepackage{minted} % needed for the inclusion of source code58\usemintedstyle{bw}59\usepackage{courier}60\usepackage{wasysym}61\usepackage[binary-units = true]{siunitx} % this package is for units!62\sisetup{locale=DE}6364%%% Pseudocode settings65\usepackage{algorithm,algpseudocode}66\algtext*{EndIf} % Remove "end if" text67\algtext*{EndWhile} % Remove "end while" text68\algtext*{EndFunction} % Remove "end while" text69\algnewcommand\Global{\textbf{global }}70\makeatletter71\addto\captionsngerman{\renewcommand{\ALG@name}{Algorithmus}}72\makeatother73%%% End of Pseudocode settings74\usepackage{shortcuts}7576\usepackage{fancyhdr}77\pagestyle{fancy}78\renewcommand{\chaptermark}[1]%79{\markboth{\MakeUppercase{\thechapter.\ #1}}{}}80\renewcommand{\sectionmark}[1]%81{\markright{\MakeUppercase{\thesection.\ #1}}}82\renewcommand{\headrulewidth}{0.5pt}83\renewcommand{\footrulewidth}{0pt}84\newcommand{\helv}{%85\fontfamily{phv}\fontseries{b}\fontsize{9}{11}\selectfont}86\fancyhf{}87\fancyhead[LO,RE]{\helv \thepage}88\fancyhead[LE]{\helv \rightmark}89\fancyhead[RO]{\helv \leftmark}90\fancypagestyle{plain}{%91\fancyhead{}92\renewcommand{\headrulewidth}{0pt}93}9495\hypersetup{96pdfauthor = {Martin Thoma},97pdfkeywords = {Programmierparadigmen},98pdftitle = {Programmierparadigmen}99}100%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%101% The patch for minted: http://tex.stackexchange.com/a/168021/5645102\makeatletter103\def\FV@BeginListFrame@Lines{%104\begingroup105\lineskip\z@skip106\FV@SingleFrameLine{\z@}%107\kern-0.5\baselineskip\relax108\baselineskip\z@skip109\kern\FV@FrameSep\relax110\penalty\@M% added line111\endgroup}112\makeatother113% Unicode minted patch: http://tex.stackexchange.com/a/84883/5645114\makeatletter115\newcommand{\minted@write@detok}[1]{%116\immediate\write\FV@OutFile{\detokenize{#1}}}%117118\newcommand{\minted@FVB@VerbatimOut}[1]{%119\@bsphack120\begingroup121\FV@UseKeyValues122\FV@DefineWhiteSpace123\def\FV@Space{\space}%124\FV@DefineTabOut125%\def\FV@ProcessLine{\immediate\write\FV@OutFile}% %Old, non-Unicode version126\let\FV@ProcessLine\minted@write@detok %Patch for Unicode127\immediate\openout\FV@OutFile #1\relax128\let\FV@FontScanPrep\relax129%% DG/SR modification begin - May. 18, 1998 (to avoid problems with ligatures)130\let\@noligs\relax131%% DG/SR modification end132\FV@Scan}133\let\FVB@VerbatimOut\minted@FVB@VerbatimOut134135\renewcommand\minted@savecode[1]{136\immediate\openout\minted@code\jobname.pyg137\immediate\write\minted@code{\expandafter\detokenize\expandafter{#1}}%138\immediate\closeout\minted@code}139\makeatother140%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%141142143\makeindex144\allowdisplaybreaks145\usepackage{microtype}146147\begin{document}148%-------------------------------------------------------------149\newcolumntype{C}{>{\centering\arraybackslash}p{2cm}}150%-------------------------------------------------------------151\pagenumbering{roman}152\setcounter{page}{1}153\input{titlepage}154\input{Vorwort}155\tableofcontents156157\pagenumbering{arabic}158\setcounter{page}{1}159\input{Programmiersprachen}160\input{Programmiertechniken}161\input{Logik}162\input{Lambda}163\input{Typinferenz}164\input{Parallelitaet}165\input{Java}166\input{Haskell}167\input{Prolog}168\input{Scala}169\input{X10}170\input{C}171\input{MPI}172\input{Compilerbau}173\input{Java-Bytecode}174175\appendix176%\input{Bildquellen}177%\clearpage178\input{Abkuerzungen}179\clearpage180\input{Definitionen}181\clearpage182\input{Symbolverzeichnis}183\clearpage184\addcontentsline{toc}{chapter}{Stichwortverzeichnis}185\renewcommand{\indexname}{Stichwortverzeichnis}186\printindex187\end{document}188189190