2
0
Fork 0
mirror of https://github.com/MartinThoma/LaTeX-examples.git synced 2025-04-26 06:48:04 +02:00

Programmierparadigmen

This commit is contained in:
Martin Thoma 2014-02-01 13:46:33 +01:00
parent cec5db3514
commit 80640f870c
16 changed files with 383 additions and 0 deletions

View file

@ -0,0 +1,13 @@
\chapter*{Abkürzungsverzeichnis\markboth{Abkürzungsverzeichnis}{Abkürzungsverzeichnis}}
\addcontentsline{toc}{chapter}{Abkürzungsverzeichnis}
\begin{acronym}
\acro{Beh.}{Behauptung}
\acro{Bew.}{Beweis}
\acro{bzw.}{beziehungsweise}
\acro{ca.}{circa}
\acro{d. h.}{das heißt}
\acro{etc.}{et cetera}
\acro{Vor.}{Voraussetzung}
\acro{z. B.}{zum Beispiel}
\acro{z. z.}{zu zeigen}
\end{acronym}

View file

@ -0,0 +1,7 @@
Nur mal aus Interesse versuche ich zu verfolgen, wie viel Zeit
in dem Erstellen dieses Skripts steckt:
|Datum | Uhrzeit | Autor | Bemerkung
|-----------|---------------|----------------------------------------
|01.02.2014 | 13:30 - 13:45 | Thoma | Initialisierung; Grobe Struktur

View file

@ -0,0 +1,6 @@
\chapter*{Bildquellen\markboth{Bildquellen}{Bildquellen}}
\addcontentsline{toc}{chapter}{Bildquellen}
\begin{itemize}
\item[Abb. \ref{fig:s2}] $S^2$: Tom Bombadil, \href{http://tex.stackexchange.com/a/42865/5645}{tex.stackexchange.com/a/42865}
\end{itemize}

View file

@ -0,0 +1,7 @@
\chapter{C}
\index{C|(}
\section{Syntax}
\section{Beispiele}
\index{C|)}

View file

@ -0,0 +1,8 @@
\chapter{Haskell}
\index{Haskell|(}
\section{Syntax}
\section{Beispiele}
\inputminted[linenos, numbersep=5pt, tabsize=4, frame=lines, label=fibonacci.hs]{haskell}{scripts/haskell/fibonacci.hs}
\index{Haskell|)}

View file

@ -0,0 +1,16 @@
DOKUMENT = Programmierparadigmen
make:
pdflatex -shell-escape $(DOKUMENT).tex -output-format=pdf # aux-Dateien für makeindex / makeglossaries
makeindex $(DOKUMENT)
pdflatex -shell-escape $(DOKUMENT).tex -output-format=pdf # Stichwortverzeichnis einbinden
pdflatex -shell-escape $(DOKUMENT).tex -output-format=pdf # Symbolverzeichnis einbinden
make clean
ebook:
latexml --dest=$(DOKUMENT).xml $(DOKUMENT).tex
latexmlpost -dest=$(DOKUMENT).html $(DOKUMENT).xml
ebook-convert $(DOKUMENT).html $(DOKUMENT).epub --language de --no-default-epub-cover
clean:
rm -rf $(TARGET) *.class *.html *.log *.aux *.out *.thm *.idx *.toc *.ind *.ilg figures/torus.tex *.glg *.glo *.gls *.ist *.xdy *.pyg

View file

@ -0,0 +1,106 @@
\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
\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
\usepackage{acronym}
\usepackage{minted} % needed for the inclusion of source code
\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[LE,RO]{\helv \thepage}
\fancyhead[LO]{\helv \rightmark}
\fancyhead[RE]{\helv \leftmark}
\fancypagestyle{plain}{%
\fancyhead{}
\renewcommand{\headrulewidth}{0pt}
}
\hypersetup{
pdfauthor = {Martin Thoma},
pdfkeywords = {Programmierparadigmen},
pdftitle = {Programmierparadigmen}
}
\makeindex
\allowdisplaybreaks
\usepackage{microtype}
\begin{document}
\pagenumbering{roman}
\setcounter{page}{1}
\input{titlepage}
\input{Vorwort}
\tableofcontents
\pagenumbering{arabic}
\setcounter{page}{1}
\input{Haskell}
\input{Scala}
\input{X10}
\input{C}
\appendix
\input{Bildquellen}
\clearpage
\input{Abkuerzungen}
\clearpage
\input{Symbolverzeichnis}
\clearpage
\addcontentsline{toc}{chapter}{Stichwortverzeichnis}
\renewcommand{\indexname}{Stichwortverzeichnis}
\printindex
\end{document}

View file

@ -0,0 +1,3 @@
Dies ist ein **inoffizielles, von Studenten erstelltes Skript**
zur Vorlesung "Programmierparadigmen" am KIT bei
Herrn Prof. Dr. Snelting (WS 2013/2014).

View file

@ -0,0 +1,7 @@
\chapter{Scala}
\index{Scala|(}
\section{Syntax}
\section{Beispiele}
\index{Scala|)}

View file

@ -0,0 +1,24 @@
\twocolumn
\chapter*{Symbolverzeichnis\markboth{Symbolverzeichnis}{Symbolverzeichnis}}
\addcontentsline{toc}{chapter}{Symbolverzeichnis}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Mengenoperationen %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{Mengenoperationen}
$A^C\;\;\;$ Komplement der Menge $A$\\
$\mathcal{P}(M)\;\;\;$ Potenzmenge von $M$\\
$\overline{M}\;\;\;$ Abschluss der Menge $M$\\
$\partial M\;\;\;$ Rand der Menge $M$\\
$M^\circ\;\;\;$ Inneres der Menge $M$\\
$A \times B\;\;\;$ Kreuzprodukt zweier Mengen\\
$A \subseteq B\;\;\;$ Teilmengenbeziehung\\
$A \subsetneq B\;\;\;$ echte Teilmengenbeziehung\\
$A \setminus B\;\;\;$ $A$ ohne $B$\\
$A \cup B\;\;\;$ Vereinigung\\
$A \dcup B\;\;\;$ Disjunkte Vereinigung\\
$A \cap B\;\;\;$ Schnitt\\
\section*{Geometrie}
$AB\;\;\;$ Gerade durch die Punkte $A$ und $B$\\
$\overline{AB}\;\;\;$ Strecke mit Endpunkten $A$ und $B$\\
$\triangle ABC\;\;\;$ Dreieck mit Eckpunkten $A, B, C$\\

View file

@ -0,0 +1,10 @@
\chapter*{Vorwort}
Dieses Skript wird/wurde im Wintersemester 2013/2014 geschrieben
von Martin Thoma geschrieben.
\section*{Was ist Programmierparadigmen?}
TODO
\section*{Erforderliche Vorkenntnisse}
TODO

View file

@ -0,0 +1,7 @@
\chapter{X10}
\index{X10|(}
\section{Syntax}
\section{Beispiele}
\index{X10|)}

View file

@ -0,0 +1,3 @@
\begin{tikzpicture}
\path (0,0) edge [bend angle=10,bend right] node[label=TODO] {} (-1,-1.5);
\end{tikzpicture}

View file

@ -0,0 +1 @@
fibs = 0 : 1 : zipWith (+) fibs (tail fibs)

View file

@ -0,0 +1,147 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% make the index link to the correct part of the page %
% http://tex.stackexchange.com/q/74493/5645 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcounter{indexanchor}
\newcommand*{\xindex}[1]{%
\stepcounter{indexanchor}% make anchor unique
\def\theindexterm{#1}%
\edef\doindexentry{\noexpand\index
{\expandonce\theindexterm|indexanchor{index-\theindexanchor}}}%
\raisebox{\baselineskip}{\hypertarget{index-\theindexanchor}%
{\doindexentry}}%
}
\newcommand*{\indexanchor}[2]{\hyperlink{#1}{#2}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Aufgaben-Environment %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcounter{aufgabe}
\newenvironment{aufgabe}[1][]{\refstepcounter{aufgabe}%
\ifthenelse{\isempty{#1}}%
{\subsection*{Aufgabe~\theaufgabe}}% if #1 is empty
{\subsection*{Aufgabe~\theaufgabe~(#1)}}% if #1 is not empty
\begin{adjustwidth}{1cm}{}}%
{\end{adjustwidth}}
\newenvironment{solution}[1][]{%
\subsection*{Lösung zu Aufgabe~#1}%
\begin{adjustwidth}{1cm}{}}%
{\end{adjustwidth}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Define theorems %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\thmfoot}{}
\theoremstyle{break}
\setlength\theoremindent{0.7cm}
\theoremheaderfont{\kern-0.7cm\normalfont\bfseries}
\theorembodyfont{\normalfont} % nicht mehr kursiv
\theoremseparator{\thmfoot}
\newframedtheorem{satz}{Satz}[chapter]
\newframedtheorem{lemma}[satz]{Lemma}
\newframedtheorem{proposition}[satz]{Proposition}
\newtheorem{korollar}[satz]{Korollar}
\newtheorem{folgerung}[satz]{Folgerung}
\newtheorem{definition}{Definition}
\newtheorem{beispiel}{Beispiel}
\newtheorem{bemerkung}{Bemerkung}
\theoremstyle{nonumberplain}
\newtheorem{beweis}{Beweis:}
\newtheorem{behauptung}{Beh.:}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\fB{\mathfrak{B}}%Für Basis
\def\fT{\mathfrak{T}}%Für Topologie
\renewcommand{\qed}{\hfill\blacksquare}
\newcommand{\qedwhite}{\hfill \ensuremath{\Box}}
\newcommand{\powerset}[1]{\mathcal{P}(#1)}
\def\praum{\ensuremath{\mathcal{P}}}
\def\mdp{\ensuremath{\mathbb{P}}}
\def\mdc{\ensuremath{\mathbb{C}}}
\def\mdr{\ensuremath{\mathbb{R}}}
\def\mdq{\ensuremath{\mathbb{Q}}}
\def\mdz{\ensuremath{\mathbb{Z}}}
\def\mdn{\ensuremath{\mathbb{N}}}
\def\mdh{\ensuremath{\mathbb{H}}}
\def\gdw{\ensuremath{\Leftrightarrow}}
\def\atlas{\ensuremath{\mathcal{A}}}
\DeclareMathOperator{\rang}{rg}
\def\GL{\ensuremath{\mathrm{GL}}}
\def\SL{\ensuremath{\mathrm{SL}}}
\def\PSL{\ensuremath{\mathrm{PSL}}}
\newcommand\mapsfrom{\mathrel{\reflectbox{\ensuremath{\mapsto}}}}
\newcommand\dcup{\mathbin{\dot{\cup}}}
\newcommand{\id}{\textnormal{id}}
\DeclareMathOperator{\Deck}{Deck}
\DeclareMathOperator{\Fix}{Fix}
\DeclareMathOperator{\Iso}{Iso}
\DeclareMathOperator{\grad}{grad}
\DeclareMathOperator{\Perm}{Perm}
\DeclareMathOperator{\Sym}{Sym}
\DeclareMathOperator{\Homoo}{\textnormal{Homöo}}
\DeclareMathOperator{\Diffeo}{Diffeo}
\DeclareMathOperator{\conv}{conv}
\DeclareMathOperator{\IWS}{IWS}
\DeclareMathOperator{\DV}{DV}
\DeclareMathOperator{\Rg}{Rg}
\DeclareMathOperator{\Bild}{Bild}
\newcommand{\iu}{{i\mkern1mu}} % imaginary unit
%\DeclareMathOperator{\Re}{Re}
%\DeclareMathOperator{\Im}{Im}
%%%Text %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand\obda{o.~B.~d.~A.\xspace}
\newcommand\Obda{O.~B.~d.~A.\xspace}
\newcommand{\ts}[1]{\textnormal{#1}} % textual subscript
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% http://tex.stackexchange.com/a/101138/5645
\newcommand\rtilde[1]{\widetilde{\mathit{#1}}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\crefname{satz}{\textup{Satz}}{\textup{Sätze}}
\crefname{proposition}{\textup{Proposition}}{\textup{Propositionen}}
\crefname{lemma}{\textup{Lemma}}{\textup{Lemmata}}
\crefname{korollar}{\textup{Korollar}}{\textup{Korollare}}
\crefname{folgerung}{\textup{Folgerung}}{\textup{Folgerungen}}
\crefname{definition}{\textup{Definition}}{\textup{Definitionen}}
\crefname{behauptung}{\textup{Behauptung}}{\textup{Behauptungen}}
\crefname{beispiel}{\textup{Beispiel}}{\textup{Beispiele}}
\crefname{aufgabe}{\textup{Aufgabe}}{\textup{Aufgaben}}
\crefname{bemerkung}{\textup{Bemerkung}}{\textup{Bemerkungen}}
%\let\OldAngle\angle
%\let\angle\sphericalangle
\newlist{defenum}{enumerate}{1}
\setlist[defenum]{label=\alph*),ref=\textup{\thedefinition.\alph*}}
\crefalias{defenumi}{definition}
\newlist{bemenum}{enumerate}{1}
\setlist[bemenum]{label=\alph*),ref=\textup{\thebemerkung.\alph*}}
\crefalias{bemenumi}{bemerkung}
\newlist{bspenum}{enumerate}{1}
\setlist[bspenum]{label=\arabic*),ref=\textup{\thebeispiel.\arabic*}}
\crefalias{bspenumi}{beispiel}
\newlist{propenum}{enumerate}{1}
\setlist[propenum]{label=\alph*), ref=\textup{\theproposition~(\alph*)}}
\crefalias{propenumi}{proposition}
\newlist{aufgabeenum}{enumerate}{1}
\setlist[aufgabeenum]{label=(\alph*),ref=\textup{\theaufgabe~(\alph*)}}
\crefalias{aufgabeenumi}{aufgabe}
% Commands for local abbreviations
\newcommand\crefabbr[1]{%
\begingroup
\crefname{bemerkung}{\textup{Bem.}}{\textup{Bem.}}%
\crefname{definition}{\textup{Def.}}{\textup{Def.}}\cref{#1}
\endgroup%
}
\newcommand\Crefabbr[1]{%
\begingroup
\Crefname{bemerkung}{\textup{Bem.}}{\textup{Bem.}}%
\Crefname{definition}{\textup{Def.}}{\textup{Def.}}\Cref{#1}
\endgroup%
}

View file

@ -0,0 +1,18 @@
\begin{titlepage}
\thispagestyle{empty}
\ifAFive
\par\vspace{4cm}
\else
\par\vspace{10cm}
\fi
\begin{center}
{\Large \textbf{Programmierparadigmen}}
\vfill
%\includegraphics[width=0.9\linewidth]{figures/Torus.pdf}
\vfill
\hrulefill
\end{center}
\ \\[-5ex]
0. Auflage, \today \hfill Martin Thoma
\end{titlepage}