Include PDF v2.0 (#24)

* Include PDF v2.0

* Changed identation as requested per review

* m( forgot to add generated files...

* resolved conflicts?

* beautify

* correct some whitespaces

* correct some whitespaces again

Co-authored-by: Sebastian / sebbo <sebastian@1337lounge.de>
# Conflicts:
#	wbh.tex
main
Sebastian Preisner 2 years ago
parent 2b204ad2ef
commit b08c7d51d3

Binary file not shown.

@ -4,9 +4,12 @@ logo: ../Bilder/logo.png
title: Pandoc und Markdown für deine Texte
author: Sebastian Preisner
student:
name: Sebastian Preisner
firstname: Sebastian
lastname: Preisner
email: wbh@calyrium.org
matrikelnr: 900266
strasse: Hilpertstr. 31
ort: 64295 Darmstadt
studium:
studiengang: Technische Informatik
studiengangnr: 1140
@ -18,10 +21,13 @@ date: 08.06.2017
lang: de
toc: \\
skipfirstpage: 1 # set any value, to skip the counting for Titlepage, so TOC will start with Page 1
#assignment:
# file: '`Aufgabenstellung/Aufgabenstellung.pdf`{=latex}'
# pages: '`{1-2}`{=latex}'
assignment:
file: '`Aufgabenstellung/Aufgabenstellung.pdf`{=latex}'
beforetitle: 1
pages: '`2-`{=latex}'
fillform: 1
multipage: 1
...
# Einführungauthor

Binary file not shown.

@ -23,7 +23,7 @@
%\usepackage[utf8]{inputenc}
\usepackage[usenames,dvipsnames]{color}
\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{amssymb} % More symboles for exotic currency notation and engeneering diagrams
@ -36,7 +36,6 @@
\usepackage[printonlyused]{acronym}
\usepackage{subfig}
\usepackage{floatflt}
\usepackage[usenames,dvipsnames]{color}
\usepackage{colortbl}
\usepackage{paralist}
\usepackage{array}
@ -47,6 +46,49 @@
\usepackage{graphicx}
\usepackage[export]{adjustbox} % also loads graphicx, to have max width for graphics
\usepackage{pdfpages}
\usepackage{tikz}
% ----------------------------------------------------------------------------------------------------------
% Firstname + Lastname
% ----------------------------------------------------------------------------------------------------------
% Firstname is set, assume name is Firstnaem + Lastname
\def \studentname{Sebastian Preisner}
% ----------------------------------------------------------------------------------------------------------
% Aufgabenstellung
% ----------------------------------------------------------------------------------------------------------
% Debug:
% include: file: Aufgabenstellung/Aufgabenstellung.pdf pages: 2-
\def \assignment{
% Regular include for historic reasons
%------------------
% include assignment is on
% \includepdf[pages=2-]{Aufgabenstellung/Aufgabenstellung.pdf}
% New include for historic reasons
%------------------
% check if assignment.file is set at all
% check if form shall be filled out
\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] {Sebastian};
\node at (95,-34) [info] {Preisner};
\node at (34,-47) [info] {Hilpertstr. 31};
\node at (95,-47) [info] {64295 Darmstadt};
\node at (34,-59) [info] {900266};
\node at (95,-59) [info] {1140};
\end{tikzpicture}}, pages=1]{Aufgabenstellung/Aufgabenstellung.pdf}
% check if we need to include the rest of the document
\includepdf[pages=2-]{Aufgabenstellung/Aufgabenstellung.pdf} % Include rest of document
}
\usepackage{multirow}
@ -73,7 +115,7 @@
pdffitwindow=false,
pdfstartview={FitH},
pdftitle={Pandoc und Markdown für deine
Texte: Freiwillige\_Arbeit - Sebastian Preisner},
Texte: Freiwillige\_Arbeit- \studentname},
pdfauthor={Sebastian Preisner, Matrikelnummer: 900266},
pdfsubject={Studiengang: Technische Informatik},
pdfcreator={\LaTeX\ with package \flqq hyperref\frqq via pandoc},
@ -160,14 +202,11 @@ Texte: Freiwillige\_Arbeit - Sebastian Preisner},
\begin{document}
% ----------------------------------------------------------------------------------------------------------
% Aufgabenstellung
% ----------------------------------------------------------------------------------------------------------
% Debug:
% include: file: pages:
%include assignment was off
%
% Assignment
% -------------------
\assignment
% ----------------------------------------------------------------------------------------------------------
% Kopf und Fußzeile
@ -200,12 +239,12 @@ Informatik - Prüfung: Freiwillige\_Arbeit }
% ----------------------------------------------------------------------------------------------------------
\thispagestyle{empty}
\begin{center}
\Huge \textbf{Wilhelm-Büchner-Hochschule} \\
\includegraphics[max width=\textwidth]{../Bilder/logo.png}\\
\vspace*{2cm}
\Large
\textbf{Studiengang:}\\
\textbf{Technische Informatik}\\
\vspace*{2cm}
\vspace*{1cm}
\Huge
\textbf{}\\
\vspace*{0.5cm}
@ -213,16 +252,18 @@ Informatik - Prüfung: Freiwillige\_Arbeit }
\vspace*{0.3cm}
\large
Freiwillige\_Arbeit \\
\vspace*{1cm}
\vspace*{0.5cm}
\textbf{Freizeitgestaltung}\\
\vspace*{1cm}
\vspace*{0.5cm}
\vfill
\normalsize
\newcolumntype{x}[1]{>{\raggedleft\arraybackslash\hspace{0pt}}p{#1}}
\begin{tabular}{x{6cm}p{7.5cm}}
\rule{0mm}{5ex}\textbf{Student:} & Sebastian Preisner
\newline wbh@calyrium.org
\rule{0mm}{5ex}\textbf{Student:} & \studentname
\newline Hilpertstr. 31
\newline 64295 Darmstadt
\newline wbh@calyrium.org
\\
\rule{0mm}{5ex}\textbf{Matrikelnummer:} & 900266 \\
\rule{0mm}{5ex}\textbf{Abgabedatum:} & 08.06.2017 \\
@ -230,9 +271,15 @@ Informatik - Prüfung: Freiwillige\_Arbeit }
\end{center}
\pagebreak
% ----------------------------------------------------------------------------------------------------------
% Assignment
% ----------------------------------------------------------------------------------------------------------
% Skip first page count, if skipfirstpage = 1
\clearpage
\setcounter{page}{1}
\clearpage
\setcounter{page}{1}

@ -42,7 +42,8 @@ logo:
hochschule:
author:
student:
name:
firstname:
lastname:
email:
strasse:
ort:
@ -57,8 +58,11 @@ arbeit:
#assignment:
# file: '`Aufgabenstellung/Aufgabenstellung.pdf`{=latex}'
# pages: '`{1-2}`{=latex}' # Page 1 to 2
# pages: '`-`{=latex}' # All pages
# pages: '`1,3`{=latex}' # Page 1 and 3
# pages: '`-`{=latex}' # All pages
# pages: '`1,3`{=latex}' # Page 1 and 3
# beforetitle: 1
# multipage: 1
# fillform: 1
...
```
@ -74,30 +78,36 @@ 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.
| Variable | Beschreibung | Optional | default |
|:------------------ |:----------------------------------------------------- |:-------- |:------------- |
| title | Titel der Arbeit/B-Prüfung | nein | |
| author | Der Uhrheber der Arbeit, in der Regel dein Name | ja | |
| student | Informationen über dich | nein | |
| name | Dein Name, wird als Author verwendet | nein | |
| matrikelnr | Deine Matrikelnummer | ja | |
| email | Deine E-Mail Adresse | ja | |
| studium | Informationen zum Studiengang und dem Fach | ja | |
| studiengang | Dein Studiengang | ja | |
| studiengangnr | Diese findest du unter "Main Studium" SG-Nr. | ja | |
| fach | In welchem Fach wird die Prüfung bearbeitet | ja | |
| aufgabencode | Der Code befindet sich auf deiner B-Prüfung ganz oben | ja | |
| date | Datum der Abgabe | ja | today |
| lang | Sprache des Dokumentes "Ländercode" | ja | de |
| 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 |
| abk | Abkürzungsverzeichnis | ja | true /false |
| lot | Verzeichnis der Tabellen | ja | true / false |
| lof | Liste der Figuren/Abbildungen | ja | true / false |
| skipfirstpage | Zählt die Titleseite nicht mit | ja | true |
| assignment.file | Pfad zur Aufgabenstellung | ja | string |
| assignment.pages | Seitenzahlen der Aufgabenstellung | ja | string |
| Variable | Beschreibung | Optional | default |
|:---------------------- |:----------------------------------------------------- |:-------- |:------------- |
| title | Titel der Arbeit/B-Prüfung | nein | |
| author | Der Uhrheber der Arbeit, in der Regel dein Name | ja | |
| student | Informationen über dich | nein | |
| student.firstname | Vorname | nein | |
| student.lastname | Nachname | nein | |
| student.strasse | Strasse | nein | |
| student.ort | PLZ + Ort | nein | |
| matrikelnr | Deine Matrikelnummer | ja | |
| email | Deine E-Mail Adresse | ja | |
| studium | Informationen zum Studiengang und dem Fach | ja | |
| studiengang | Dein Studiengang | ja | |
| studiengangnr | Diese findest du unter "Main Studium" SG-Nr. | ja | |
| fach | In welchem Fach wird die Prüfung bearbeitet | ja | |
| aufgabencode | Der Code befindet sich auf deiner B-Prüfung ganz oben | ja | |
| date | Datum der Abgabe | ja | today |
| lang | Sprache des Dokumentes "Ländercode" | ja | de |
| logo | Der Pfad zum Logo (Standard ./Bilder/logo.png) | ja | Pfad zum Bild |
| toc | Hinzufügen des Inhaltsverzeichnises | ja | true / false |
| abk | Abkürzungsverzeichnis | ja | true /false |
| lot | Verzeichnis der Tabellen | ja | true / false |
| lof | Liste der Figuren/Abbildungen | ja | true / false |
| skipfirstpage | Zählt die Titleseite nicht mit | ja | true |
| assignment.file | Pfad zur Aufgabenstellung | ja | |
| 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 |
### Aufgabenstellung mit einbinden
@ -106,7 +116,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.
**Seitenbereich**
Für einzelne Seiten kann man folgendes schreiben:
@ -116,7 +125,6 @@ assignment:
pages: '`1-2`{=latex}'
```
**Einzelne Seiten**
Für einzelne Seiten kann man folgendes schreiben:
@ -139,9 +147,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`
**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
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

@ -47,7 +47,6 @@ $endif$
\usepackage[printonlyused]{acronym}
\usepackage{subfig}
\usepackage{floatflt}
\usepackage[usenames,dvipsnames]{color}
\usepackage{colortbl}
\usepackage{paralist}
\usepackage{array}
@ -58,6 +57,62 @@ $endif$
\usepackage{graphicx}
\usepackage[export]{adjustbox} % also loads graphicx, to have max width for graphics
\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)$
\usepackage{longtable,booktabs} % This two Packages are needet for Pandoc Table support. Issue is opened: https://github.com/jgm/pandoc/issues/1023
@ -112,8 +167,8 @@ $endif$
pdfmenubar=true,
pdffitwindow=false,
pdfstartview={FitH},
pdftitle={$if(title)$$title$$endif$$if(aufgabe.code)$: $aufgabe.code$$endif$$if(student.name)$ - $student.name$$endif$},
pdfauthor={$if(student.name)$$student.name$$else$$author$$endif$$if(student.matrikelnr)$, Matrikelnummer: $student.matrikelnr$$endif$},
pdftitle={$if(title)$$title$$endif$$if(aufgabe.code)$: $aufgabe.code$$endif$- \studentname},
pdfauthor={$if(author)$$author$$else$\studentname$endif$$if(student.matrikelnr)$, Matrikelnummer: $student.matrikelnr$$endif$},
$if(studium.studiengang)$
pdfsubject={Studiengang: $studium.studiengang$},
$endif$
@ -234,19 +289,15 @@ $endif$
\begin{document}
% ----------------------------------------------------------------------------------------------------------
% Aufgabenstellung
% ----------------------------------------------------------------------------------------------------------
% Debug:
% include: $assignment.include$ file: $assignment.file$ pages: $assignment.pages$
%
% Assignment
% -------------------
$if(assignment.file)$
% include assignment is on
\includepdf[pages=$assignment.pages$]{$assignment.file$}
$else$
%include assignment was off
$if(assignment.beforetitle)$
\assignment
$endif$
$endif$
% ----------------------------------------------------------------------------------------------------------
% Kopf und Fußzeile
@ -257,7 +308,7 @@ $endif$
\lhead{}
\chead{}
\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{}
\rfoot{\ \linebreak Seite \thepage}
\renewcommand{\headrulewidth}{0.4pt}
@ -283,7 +334,7 @@ $if(logo)$ $if(hochschule)$ $else$ \includegraphics[max width=\textwidth]{$log
$if(studium.studiengang)$
\textbf{Studiengang:}\\
\textbf{$studium.studiengang$}\\
\vspace*{2cm}
\vspace*{1cm}
$endif$
\Huge
$if(aufgabe.typ)$
@ -298,18 +349,18 @@ $if(logo)$ $if(hochschule)$ $else$ \includegraphics[max width=\textwidth]{$log
$if(aufgabe.code)$
$aufgabe.code$ \\
$endif$
\vspace*{1cm}
\vspace*{0.5cm}
$if(studium.fach)$
\textbf{$studium.fach$}\\
$endif$
\vspace*{1cm}
\vspace*{0.5cm}
\vfill
\normalsize
\newcolumntype{x}[1]{>{\raggedleft\arraybackslash\hspace{0pt}}p{#1}}
\begin{tabular}{x{6cm}p{7.5cm}}
$if(student.name)$
\rule{0mm}{5ex}\textbf{Student:} & $student.name$
$if(student)$
\rule{0mm}{5ex}\textbf{Student:} & \studentname
$if(student.strasse)$
\newline $student.strasse$
$endif$
@ -335,9 +386,21 @@ $if(logo)$ $if(hochschule)$ $else$ \includegraphics[max width=\textwidth]{$log
\end{center}
\pagebreak
% ----------------------------------------------------------------------------------------------------------
% Assignment
% ----------------------------------------------------------------------------------------------------------
$if(assignment.file)$
$if(assignment.beforetitle)$
$else$
\assignment
$endif$
$endif$
$if(skipfirstpage)$ % Skip first page count, if skipfirstpage = 1
\clearpage
\setcounter{page}{1}
\clearpage
\setcounter{page}{1}
$endif$
$if(abstract)$
@ -535,7 +598,7 @@ $if(insurance)$
\huge\textbf{Erklärung}\\
\end{center}
\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.
@ -543,7 +606,7 @@ Soweit ich fremde Gedankengänge oder Texte verwendet habe, sind diese
\begin{minipage}{\linewidth}
\begin{tabular}{p{15em}p{15em}}
Datum: & .......................................................\\
& \centering ($student.name$)\\
& \centering (\studentname)\\
\end{tabular}
\end{minipage}
$endif$

Loading…
Cancel
Save