Programmierparadigmen.tex 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. \documentclass[DIV15,BCOR12mm]{scrbook}
  2. \newif\ifAFive\AFivetrue
  3. \ifAFive
  4. \KOMAoptions{paper=a5,twoside=true}
  5. \else
  6. \KOMAoptions{paper=a4,twoside=false}
  7. \fi
  8. \usepackage{etoolbox}
  9. \usepackage{amsmath,amssymb}% math symbols / fonts
  10. \usepackage{mathtools} % \xRightarrow
  11. \usepackage{nicefrac} % \nicefrac
  12. \usepackage[utf8]{inputenc} % this is needed for umlauts
  13. \usepackage[ngerman]{babel} % this is needed for umlauts
  14. \usepackage[T1]{fontenc} % this is needed for correct output of umlauts in pdf
  15. \usepackage[framed,amsmath,thmmarks,hyperref]{ntheorem}
  16. \usepackage{framed}
  17. \usepackage{marvosym}
  18. \usepackage{makeidx} % for automatically generation of an index
  19. \usepackage{xcolor}
  20. \usepackage[bookmarks,bookmarksnumbered,hypertexnames=false,pdfpagelayout=OneColumn,colorlinks,hyperindex=false]{hyperref} % has to be after makeidx
  21. \usepackage{breakurl} % allow line breaks in \href{ ... }
  22. \ifAFive
  23. \hypersetup{hidelinks=true}
  24. % no \else branch needed in this case
  25. \fi
  26. \usepackage{enumitem} % Better than \usepackage{enumerate}, because it allows to set references
  27. \usepackage{tabto}
  28. \usepackage{braket} % needed for \Set
  29. \usepackage{csquotes} % \enquote{}
  30. \usepackage{subfig} % multiple figures in one
  31. \usepackage{parskip} % nicer paragraphs
  32. \usepackage{xifthen} % \isempty
  33. \usepackage{changepage} % for the adjustwidth environment
  34. \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 captions
  40. \usepackage{tikz} % draw
  41. \usepackage{tikz-3dplot} % draw
  42. \usepackage{tkz-fct} % draw
  43. \usepackage{tkz-euclide} % draw
  44. \usetkzobj{all} % tkz-euclide
  45. \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 command
  48. \usepackage[german,nameinlink]{cleveref} % has to be after hyperref, ntheorem, amsthm
  49. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  50. \usepackage{array,xtab,ragged2e} % for symbol table
  51. \newlength\mylengtha
  52. \newlength\mylengthb
  53. \newcolumntype{P}[1]{>{\RaggedRight}p{#1}}
  54. \tabcolsep=3pt % default: 6pt
  55. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  56. \usepackage{acronym}
  57. \usepackage{minted} % needed for the inclusion of source code
  58. \usemintedstyle{bw}
  59. \usepackage{courier}
  60. \usepackage{wasysym}
  61. \usepackage[binary-units = true]{siunitx} % this package is for units!
  62. \sisetup{locale=DE}
  63. %%% Pseudocode settings
  64. \usepackage{algorithm,algpseudocode}
  65. \algtext*{EndIf} % Remove "end if" text
  66. \algtext*{EndWhile} % Remove "end while" text
  67. \algtext*{EndFunction} % Remove "end while" text
  68. \algnewcommand\Global{\textbf{global }}
  69. \makeatletter
  70. \addto\captionsngerman{\renewcommand{\ALG@name}{Algorithmus}}
  71. \makeatother
  72. %%% End of Pseudocode settings
  73. \usepackage{shortcuts}
  74. \usepackage{fancyhdr}
  75. \pagestyle{fancy}
  76. \renewcommand{\chaptermark}[1]%
  77. {\markboth{\MakeUppercase{\thechapter.\ #1}}{}}
  78. \renewcommand{\sectionmark}[1]%
  79. {\markright{\MakeUppercase{\thesection.\ #1}}}
  80. \renewcommand{\headrulewidth}{0.5pt}
  81. \renewcommand{\footrulewidth}{0pt}
  82. \newcommand{\helv}{%
  83. \fontfamily{phv}\fontseries{b}\fontsize{9}{11}\selectfont}
  84. \fancyhf{}
  85. \fancyhead[LO,RE]{\helv \thepage}
  86. \fancyhead[LE]{\helv \rightmark}
  87. \fancyhead[RO]{\helv \leftmark}
  88. \fancypagestyle{plain}{%
  89. \fancyhead{}
  90. \renewcommand{\headrulewidth}{0pt}
  91. }
  92. \hypersetup{
  93. pdfauthor = {Martin Thoma},
  94. pdfkeywords = {Programmierparadigmen},
  95. pdftitle = {Programmierparadigmen}
  96. }
  97. \makeindex
  98. \allowdisplaybreaks
  99. \usepackage{microtype}
  100. \begin{document}
  101. \pagenumbering{roman}
  102. \setcounter{page}{1}
  103. \input{titlepage}
  104. \input{Vorwort}
  105. \tableofcontents
  106. \pagenumbering{arabic}
  107. \setcounter{page}{1}
  108. \input{Programmiersprachen}
  109. \input{Programmiertechniken}
  110. \input{Logik}
  111. \input{Lambda}
  112. \input{Typinferenz}
  113. \input{Parallelitaet}
  114. \input{Java}
  115. \input{Haskell}
  116. \input{Prolog}
  117. \input{Scala}
  118. \input{X10}
  119. \input{C}
  120. \input{MPI}
  121. \input{Compilerbau}
  122. \input{Java-Bytecode}
  123. \appendix
  124. \input{Bildquellen}
  125. \clearpage
  126. \input{Abkuerzungen}
  127. \clearpage
  128. \input{Definitionen}
  129. \clearpage
  130. \input{Symbolverzeichnis}
  131. \clearpage
  132. \addcontentsline{toc}{chapter}{Stichwortverzeichnis}
  133. \renewcommand{\indexname}{Stichwortverzeichnis}
  134. \printindex
  135. \end{document}