Merge branch 'main' into siunit-update

main
Sebastian 3 years ago committed by GitHub
commit 8a15ed7890
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

2
.gitignore vendored

@ -29,6 +29,8 @@
## Generated if empty string is given at "Please type another file name for output:" ## Generated if empty string is given at "Please type another file name for output:"
.pdf .pdf
Beispiel/beispiel.tex
Beispiel/beispiel.pdf
## Bibliography auxiliary files (bibtex/biblatex/biber): ## Bibliography auxiliary files (bibtex/biblatex/biber):
*.bbl *.bbl

Binary file not shown.

@ -4,9 +4,12 @@ logo: ../Bilder/logo.png
title: Pandoc und Markdown für deine Texte title: Pandoc und Markdown für deine Texte
author: Sebastian Preisner author: Sebastian Preisner
student: student:
name: Sebastian Preisner firstname: Sebastian
lastname: Preisner
email: wbh@calyrium.org email: wbh@calyrium.org
matrikelnr: 900266 matrikelnr: 900266
strasse: Hilpertstr. 31
ort: 64295 Darmstadt
studium: studium:
studiengang: Technische Informatik studiengang: Technische Informatik
studiengangnr: 1140 studiengangnr: 1140
@ -18,10 +21,12 @@ date: 08.06.2017
lang: de lang: de
toc: \\ toc: \\
skipfirstpage: 1 # set any value, to skip the counting for Titlepage, so TOC will start with Page 1 skipfirstpage: 1 # set any value, to skip the counting for Titlepage, so TOC will start with Page 1
#assignment: assignment:
# file: '`Aufgabenstellung/Aufgabenstellung.pdf`{=latex}' file: '`Aufgabenstellung/Aufgabenstellung.pdf`{=latex}'
# pages: '`{1-2}`{=latex}' beforetitle: 1
pages: '`2-`{=latex}'
fillform: 1
multipage: 1
... ...
# Einführungauthor # Einführungauthor
@ -145,6 +150,14 @@ A & = B + C + D + E + F\\
A - F & = B + C + D + E A - F & = B + C + D + E
\end{aligned}$$ \end{aligned}$$
## Lösung doppelt unterstreichen
Um die Lösung einer Gleichung hervorzuheben, kann der alias `\solution{x}` verwendet werden, der das Ergebnis einer Gleichung doppelt unterstreicht.
$$
A = B + C = 5 + 9 = \solution{14}
$$
## SI-Units ## SI-Units

@ -42,7 +42,8 @@ logo:
hochschule: hochschule:
author: author:
student: student:
name: firstname:
lastname:
email: email:
strasse: strasse:
ort: ort:
@ -57,9 +58,17 @@ arbeit:
lang: lang:
#assignment: #assignment:
# file: '`Aufgabenstellung/Aufgabenstellung.pdf`{=latex}' # file: '`Aufgabenstellung/Aufgabenstellung.pdf`{=latex}'
# pages: '`{1-2}`{=latex}' # Page 1 to 2
# pages: '`-`{=latex}' # All pages # pages: '`-`{=latex}' # All pages
# pages: '`1,3`{=latex}' # Page 1 and 3 # pages: '`1,3`{=latex}' # Page 1 and 3
# beforetitle: 1
# multipage: 1
# fillform: 1
# Optionale Seitenrändereinstellungen
seite:
rand_oben: 20mm
rand_unten: 20mm
rand_links: 30mm
rand_rechts: 40mm
... ...
``` ```
@ -76,11 +85,14 @@ Make ist in der Regel Teil des Pakets `build-essentials`, welches du mit `sudo
Im Folgenden sind die einzelnen Variablen und Schalter erläutert. Alle Optionalen Variablen werden nicht benötigt und können somit leer bleiben oder ganz weg gelassen werden. Im Folgenden sind die einzelnen Variablen und Schalter erläutert. Alle Optionalen Variablen werden nicht benötigt und können somit leer bleiben oder ganz weg gelassen werden.
| Variable | Beschreibung | Optional | default | | Variable | Beschreibung | Optional | default |
|:------------------ |:----------------------------------------------------- |:-------- |:------------- | |:---------------------- |:----------------------------------------------------- |:-------- |:------------- |
| title | Titel der Arbeit/B-Prüfung | nein | | | title | Titel der Arbeit/B-Prüfung | nein | |
| author | Der Uhrheber der Arbeit, in der Regel dein Name | ja | | | author | Der Uhrheber der Arbeit, in der Regel dein Name | ja | |
| student | Informationen über dich | nein | | | student | Informationen über dich | nein | |
| name | Dein Name, wird als Author verwendet | nein | | | student.firstname | Vorname | nein | |
| student.lastname | Nachname | nein | |
| student.strasse | Strasse | nein | |
| student.ort | PLZ + Ort | nein | |
| matrikelnr | Deine Matrikelnummer | ja | | | matrikelnr | Deine Matrikelnummer | ja | |
| email | Deine E-Mail Adresse | ja | | | email | Deine E-Mail Adresse | ja | |
| studium | Informationen zum Studiengang und dem Fach | ja | | | studium | Informationen zum Studiengang und dem Fach | ja | |
@ -89,17 +101,22 @@ Im Folgenden sind die einzelnen Variablen und Schalter erläutert. Alle Optional
| fach | In welchem Fach wird die Prüfung bearbeitet | ja | | | fach | In welchem Fach wird die Prüfung bearbeitet | ja | |
| aufgabencode | Der Code befindet sich auf deiner B-Prüfung ganz oben | ja | | | aufgabencode | Der Code befindet sich auf deiner B-Prüfung ganz oben | ja | |
| date | Datum der Abgabe | ja | today | | date | Datum der Abgabe | ja | today |
| lang | Sprache des Dokumentes "Ländercode" | ja | en | | lang | Sprache des Dokumentes "Ländercode" | ja | de |
| logo | Der Pfad zum Logo (Standard ./Bilder/logo.png) | ja | Pfad zum Bild | | logo | Der Pfad zum Logo (Standard ./Bilder/logo.png) | ja | Pfad zum Bild |
| hochschule | Name der Hochschule | ja | | | toc | Hinzufügen des Inhaltsverzeichnises | ja | true / false |
| toc | Hinzufügen des Inhaltsverzeichnises | ja | false | | abk | Abkürzungsverzeichnis | ja | true /false |
| abk | Abkürzungsverzeichnis | ja | false | | lot | Verzeichnis der Tabellen | ja | true / false |
| lot | Verzeichnis der Tabellen | ja | false | | lof | Liste der Figuren/Abbildungen | ja | true / false |
| lof | Liste der Figuren/Abbildungen | ja | false |
| skipfirstpage | Zählt die Titleseite nicht mit | ja | true | | skipfirstpage | Zählt die Titleseite nicht mit | ja | true |
| assignment.file | Pfad zur Aufgabenstellung | ja | string | | assignment.file | Pfad zur Aufgabenstellung | ja | |
| assignment.pages | Seitenzahlen der Aufgabenstellung | ja | string | | assignment.pages | Seitenzahlen der Aufgabenstellung | ja | - |
| assignment.beforetitle | Seitenzahlen der Aufgabenstellung | ja | 1 |
| assignment.fillform | Füllt Name und Addresse auf der Aufgabenstellung aus | ja | 1 |
| assignment.multipage | Mehr als die erste Seite einbinden | ja | 1 |
| seite.rand_oben | Seitenrand oben | ja | 20mm |
| seite.rand_unten | Seitenrand unten | ja | 20mm |
| seite.rand_rechts | Seitenrand rechts | ja | 40mm |
| seite.rand_links | Seitenrand links | ja | 30mm |
### Aufgabenstellung mit einbinden ### Aufgabenstellung mit einbinden
@ -107,7 +124,6 @@ Das Template erlaubt es, durch setzen der Variablen im Block `assignment`, die A
Um dem Escaping von pandoc vorzubeugen müssen die Angaben im `assignment` Block in ` '`Wert`{=latex}' ` eingeschlossen werden. Um dem Escaping von pandoc vorzubeugen müssen die Angaben im `assignment` Block in ` '`Wert`{=latex}' ` eingeschlossen werden.
**Seitenbereich** **Seitenbereich**
Für einzelne Seiten kann man folgendes schreiben: Für einzelne Seiten kann man folgendes schreiben:
@ -117,7 +133,6 @@ assignment:
pages: '`1-2`{=latex}' pages: '`1-2`{=latex}'
``` ```
**Einzelne Seiten** **Einzelne Seiten**
Für einzelne Seiten kann man folgendes schreiben: Für einzelne Seiten kann man folgendes schreiben:
@ -140,9 +155,22 @@ Dabei unbedingt die einfachen Anführungszeichen drin lassen. Eine Range kann le
Weitere Hinweise stehen in der (Dokumentation)[https://texdoc.org/serve/pdfpages.pdf/0] des LaTeX packages `pdfpages` Weitere Hinweise stehen in der (Dokumentation)[https://texdoc.org/serve/pdfpages.pdf/0] des LaTeX packages `pdfpages`
**Vor oder Nach der Titelseite?**
Die Variable `assignment.beforetitle` steuert, ob die Aufgabenstellung vor oder nach der Titelseite eingebunden wird. Die Seitenzahlen zählen in beiden Fällen nicht mit.
### Ausfüllen des Adressteils der Aufgabenstellung
Wenn `assignment.fillform` gesetzt ist, kann das Pandoc Template Name und Adresse des Studenten in den Kopfteil von A-/B- Aufgaben der WBH ausfüllen. Das Feature ist experimentell und wurde mit B-DSV und B-HFT getestet. Die Felder sind pixelbasiert platziert, es kann also bei Abweichungen in der Aufgabenstellung dazu kommen das die Koordinaten in `wbh.tex` angepasst werden müssen.
Da zuerst die erste Seite des PDFs ausgefüllt wird, muss der Rest des Formulars separat eingebunden werden. Wenn die Aufgabenstellung mehr als eine Seite ist, daher muss für diesen Fall `assignment.multiplage` gesetzt sein.
### Logo oder Name der Hochschule ### Logo oder Name der Hochschule
Es wird entweder das Logo oder der Name der Hochschule auf dem Titelblatt ausgegeben, jedoch nicht beides. Sollte biedes gesetzt sein, so wird gar nichts ausgegeben. Es wird entweder das Logo oder der Name der Hochschule auf dem Titelblatt ausgegeben, jedoch nicht beides. Sollte beides gesetzt sein, so wird gar nichts ausgegeben.
## ToDo ## ToDo

@ -30,7 +30,7 @@ $endif$
%\usepackage[utf8]{inputenc} %\usepackage[utf8]{inputenc}
$endif$ $endif$
\usepackage[usenames,dvipsnames]{color}
\usepackage{amsmath} % For pandoc extensive `amsmath` collection of symbols for typesetting ordinary math \usepackage{amsmath} % For pandoc extensive `amsmath` collection of symbols for typesetting ordinary math
\usepackage{amsfonts} % More symboles for exotic currency notation and engeneering diagrams \usepackage{amsfonts} % More symboles for exotic currency notation and engeneering diagrams
\usepackage{amssymb} % More symboles for exotic currency notation and engeneering diagrams \usepackage{amssymb} % More symboles for exotic currency notation and engeneering diagrams
@ -40,13 +40,12 @@ $if(lang)$
$endif$ $endif$
\usepackage{fancyhdr} \usepackage{fancyhdr}
\usepackage{tabularx} \usepackage{tabularx}
\usepackage[a4paper, top=27mm, left=20mm, right=40mm, bottom=35mm, headsep=10mm, footskip=12mm]{geometry} % Vorgabe 4cm Rand auf der rechten Seite. \usepackage[a4paper, top=$if(seite.rand_oben)$$seite.rand_oben$$else$27mm$endif$, left=$if(seite.rand_links)$$seite.rand_links$$else$20mm$endif$, right=$if(seite.rand_rechts)$$seite.rand_rechts$$else$40mm$endif$, bottom=$if(seite.rand_unten)$$seite.rand_unten$$else$35mm$endif$, headsep=10mm, footskip=12mm]{geometry} % Vorgabe 4cm Rand auf der rechten Seite.
\usepackage{setspace} \usepackage{setspace}
\usepackage[right]{eurosym} \usepackage[right]{eurosym}
\usepackage[printonlyused]{acronym} \usepackage[printonlyused]{acronym}
\usepackage{subfig} \usepackage{subfig}
\usepackage{floatflt} \usepackage{floatflt}
\usepackage[usenames,dvipsnames]{color}
\usepackage{colortbl} \usepackage{colortbl}
\usepackage{paralist} \usepackage{paralist}
\usepackage{array} \usepackage{array}
@ -57,6 +56,62 @@ $endif$
\usepackage{graphicx} \usepackage{graphicx}
\usepackage[export]{adjustbox} % also loads graphicx, to have max width for graphics \usepackage[export]{adjustbox} % also loads graphicx, to have max width for graphics
\usepackage{pdfpages} \usepackage{pdfpages}
\usepackage{tikz}
% ----------------------------------------------------------------------------------------------------------
% Firstname + Lastname
% ----------------------------------------------------------------------------------------------------------
$if(student.firstname)$
% Firstname is set, assume name is Firstnaem + Lastname
\def \studentname{$student.firstname$ $student.lastname$}
$else$
% Firstname is not set, studentname = name
\def \studentname{$student.name$}
$endif$
% ----------------------------------------------------------------------------------------------------------
% Aufgabenstellung
% ----------------------------------------------------------------------------------------------------------
% Debug:
% include: $assignment.include$ file: $assignment.file$ pages: $assignment.pages$
\def \assignment{
% Regular include for historic reasons
%------------------
% include assignment is on
% \includepdf[pages=$assignment.pages$]{$assignment.file$}
% New include for historic reasons
%------------------
% check if assignment.file is set at all
$if(assignment.file)$
% check if form shall be filled out
$if(assignment.fillform)$
\includepdf[pagecommand={ % 23mm, 6mm
\begin{tikzpicture}[remember picture, overlay, x=1mm,y=1mm,%
mybox/.style={rectangle,minimum width=56mm, draw opacity=0.0, line width=0, minimum height=8mm, align=left,text width=56mm},%
info/.style={mybox,draw=black,align=left}]
\node at (34,-34) [info] {$student.firstname$};
\node at (95,-34) [info] {$student.lastname$};
\node at (34,-47) [info] {$student.strasse$};
\node at (95,-47) [info] {$student.ort$};
\node at (34,-59) [info] {$student.matrikelnr$};
\node at (95,-59) [info] {$studium.studiengangnr$};
\end{tikzpicture}}, pages=1]{$assignment.file$}
$if(assignment.multipage)$ % check if we need to include the rest of the document
\includepdf[pages=$assignment.pages$]{$assignment.file$} % Include rest of document
$endif$
$else$
\includepdf[pages=$assignment.pages$]{$assignment.file$}
$endif$
$else$
%include assignment was off
$endif$
}
$if(tables)$ $if(tables)$
\usepackage{longtable,booktabs} % This two Packages are needet for Pandoc Table support. Issue is opened: https://github.com/jgm/pandoc/issues/1023 \usepackage{longtable,booktabs} % This two Packages are needet for Pandoc Table support. Issue is opened: https://github.com/jgm/pandoc/issues/1023
@ -64,6 +119,10 @@ $endif$
\usepackage{multirow} \usepackage{multirow}
% Solution - for double underlined solutions in formulas/equations, uses \underline twice for double underline
\newcommand{\solution}[1]{\underline{\underline{#1}}}
$if(graphics)$ $if(graphics)$
\makeatletter \makeatletter
\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi} \def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi}
@ -111,8 +170,8 @@ $endif$
pdfmenubar=true, pdfmenubar=true,
pdffitwindow=false, pdffitwindow=false,
pdfstartview={FitH}, pdfstartview={FitH},
pdftitle={$if(title)$$title$$endif$$if(aufgabe.code)$: $aufgabe.code$$endif$$if(student.name)$ - $student.name$$endif$}, pdftitle={$if(title)$$title$$endif$$if(aufgabe.code)$: $aufgabe.code$$endif$- \studentname},
pdfauthor={$if(student.name)$$student.name$$else$$author$$endif$$if(student.matrikelnr)$, Matrikelnummer: $student.matrikelnr$$endif$}, pdfauthor={$if(author)$$author$$else$\studentname$endif$$if(student.matrikelnr)$, Matrikelnummer: $student.matrikelnr$$endif$},
$if(studium.studiengang)$ $if(studium.studiengang)$
pdfsubject={Studiengang: $studium.studiengang$}, pdfsubject={Studiengang: $studium.studiengang$},
$endif$ $endif$
@ -233,19 +292,15 @@ $endif$
\begin{document} \begin{document}
% ----------------------------------------------------------------------------------------------------------
% Aufgabenstellung %
% ---------------------------------------------------------------------------------------------------------- % Assignment
% Debug: % -------------------
% include: $assignment.include$ file: $assignment.file$ pages: $assignment.pages$
$if(assignment.file)$ $if(assignment.file)$
% include assignment is on $if(assignment.beforetitle)$
\includepdf[pages=$assignment.pages$]{$assignment.file$} \assignment
$else$ $endif$
%include assignment was off
$endif$ $endif$
% ---------------------------------------------------------------------------------------------------------- % ----------------------------------------------------------------------------------------------------------
% Kopf und Fußzeile % Kopf und Fußzeile
@ -256,7 +311,7 @@ $endif$
\lhead{} \lhead{}
\chead{} \chead{}
\rhead{\thesection\space\contentsname} \rhead{\thesection\space\contentsname}
\lfoot{\tiny $if(aufgabe.typ)$$aufgabe.typ$ des Studenten: $endif$$if(student.name)$$student.name$$endif$ $if(student.matrikelnr)$(Matrikelnr.: $student.matrikelnr$)$endif$ $if(studium.studiengang)$Studiengang: $studium.studiengang$$endif$ $if(aufgabe.code)$- Prüfung: $aufgabe.code$ $endif$} \lfoot{\tiny $if(aufgabe.typ)$$aufgabe.typ$ des Studenten: $endif$$if(author)$$author$$else$\studentname$endif$$if(student.matrikelnr)$ (Matrikelnr.: $student.matrikelnr$)$endif$ $if(studium.studiengang)$Studiengang: $studium.studiengang$$endif$ $if(aufgabe.code)$- Prüfung: $aufgabe.code$ $endif$}
\cfoot{} \cfoot{}
\rfoot{\ \linebreak Seite \thepage} \rfoot{\ \linebreak Seite \thepage}
\renewcommand{\headrulewidth}{0.4pt} \renewcommand{\headrulewidth}{0.4pt}
@ -282,7 +337,7 @@ $if(logo)$ $if(hochschule)$ $else$ \includegraphics[max width=\textwidth]{$log
$if(studium.studiengang)$ $if(studium.studiengang)$
\textbf{Studiengang:}\\ \textbf{Studiengang:}\\
\textbf{$studium.studiengang$}\\ \textbf{$studium.studiengang$}\\
\vspace*{2cm} \vspace*{1cm}
$endif$ $endif$
\Huge \Huge
$if(aufgabe.typ)$ $if(aufgabe.typ)$
@ -297,18 +352,18 @@ $if(logo)$ $if(hochschule)$ $else$ \includegraphics[max width=\textwidth]{$log
$if(aufgabe.code)$ $if(aufgabe.code)$
$aufgabe.code$ \\ $aufgabe.code$ \\
$endif$ $endif$
\vspace*{1cm} \vspace*{0.5cm}
$if(studium.fach)$ $if(studium.fach)$
\textbf{$studium.fach$}\\ \textbf{$studium.fach$}\\
$endif$ $endif$
\vspace*{1cm} \vspace*{0.5cm}
\vfill \vfill
\normalsize \normalsize
\newcolumntype{x}[1]{>{\raggedleft\arraybackslash\hspace{0pt}}p{#1}} \newcolumntype{x}[1]{>{\raggedleft\arraybackslash\hspace{0pt}}p{#1}}
\begin{tabular}{x{6cm}p{7.5cm}} \begin{tabular}{x{6cm}p{7.5cm}}
$if(student.name)$ $if(student)$
\rule{0mm}{5ex}\textbf{Student:} & $student.name$ \rule{0mm}{5ex}\textbf{Student:} & \studentname
$if(student.strasse)$ $if(student.strasse)$
\newline $student.strasse$ \newline $student.strasse$
$endif$ $endif$
@ -334,9 +389,21 @@ $if(logo)$ $if(hochschule)$ $else$ \includegraphics[max width=\textwidth]{$log
\end{center} \end{center}
\pagebreak \pagebreak
% ----------------------------------------------------------------------------------------------------------
% Assignment
% ----------------------------------------------------------------------------------------------------------
$if(assignment.file)$
$if(assignment.beforetitle)$
$else$
\assignment
$endif$
$endif$
$if(skipfirstpage)$ % Skip first page count, if skipfirstpage = 1 $if(skipfirstpage)$ % Skip first page count, if skipfirstpage = 1
\clearpage \clearpage
\setcounter{page}{1} \setcounter{page}{1}
$endif$ $endif$
$if(abstract)$ $if(abstract)$
@ -534,7 +601,7 @@ $if(insurance)$
\huge\textbf{Erklärung}\\ \huge\textbf{Erklärung}\\
\end{center} \end{center}
\vspace{2em} \vspace{2em}
Ich, $student.name$, versichere durch meine Unterschrift, dass ich die vorliegende Arbeit selbstständig erstellt habe. Andere als die angegebenen Hilfsmittel habe ich nicht ver-wendet. Ich, \studentname, versichere durch meine Unterschrift, dass ich die vorliegende Arbeit selbstständig erstellt habe. Andere als die angegebenen Hilfsmittel habe ich nicht ver-wendet.
Soweit ich fremde Gedankengänge oder Texte verwendet habe, sind diese von mir als solche kenntlich gemacht und dem Urheber eindeutig zuordenbar. Dazu zählen sowohl wört-liche als auch nicht wörtliche Übernahmen. Soweit ich fremde Gedankengänge oder Texte verwendet habe, sind diese von mir als solche kenntlich gemacht und dem Urheber eindeutig zuordenbar. Dazu zählen sowohl wört-liche als auch nicht wörtliche Übernahmen.
@ -542,7 +609,7 @@ Soweit ich fremde Gedankengänge oder Texte verwendet habe, sind diese
\begin{minipage}{\linewidth} \begin{minipage}{\linewidth}
\begin{tabular}{p{15em}p{15em}} \begin{tabular}{p{15em}p{15em}}
Datum: & .......................................................\\ Datum: & .......................................................\\
& \centering ($student.name$)\\ & \centering (\studentname)\\
\end{tabular} \end{tabular}
\end{minipage} \end{minipage}
$endif$ $endif$

Loading…
Cancel
Save