Compare commits

..

5 Commits

Author SHA1 Message Date
Sven Vogel 92834b524e added dependencies to readme 2023-09-15 16:13:18 +02:00
Sven Vogel c4d343c8d0 updated comments and readme 2023-09-15 16:01:33 +02:00
Sven Vogel d1ed1dfa8c moved auxilary files
to separate folder to prevent cluttering
2023-09-15 15:45:53 +02:00
Sven Vogel c81e94bff6 migrated template files from overleaf 2023-09-15 15:30:07 +02:00
Sven Vogel 3b70cf053f added gitingore 2023-09-15 15:16:29 +02:00
22 changed files with 823 additions and 1 deletions

322
.gitignore vendored Normal file
View File

@ -0,0 +1,322 @@
# Created by https://www.toptal.com/developers/gitignore/api/latex
# Edit at https://www.toptal.com/developers/gitignore?templates=latex
### LaTeX ###
## Core latex/pdflatex auxiliary files:
*.aux
*.lof
*.log
*.lot
*.fls
*.out
*.toc
*.fmt
*.fot
*.cb
*.cb2
.*.lb
## Intermediate documents:
*.dvi
*.xdv
*-converted-to.*
# these rules might exclude image files for figures etc.
# *.ps
# *.eps
# *.pdf
## Generated if empty string is given at "Please type another file name for output:"
.pdf
## Bibliography auxiliary files (bibtex/biblatex/biber):
*.bbl
*.bcf
*.blg
*-blx.aux
*-blx.bib
*.run.xml
## Build tool auxiliary files:
*.fdb_latexmk
*.synctex
*.synctex(busy)
*.synctex.gz
*.synctex.gz(busy)
*.pdfsync
## Build tool directories for auxiliary files
# latexrun
latex.out/
## Auxiliary and intermediate files from other packages:
# algorithms
*.alg
*.loa
# achemso
acs-*.bib
# amsthm
*.thm
# beamer
*.nav
*.pre
*.snm
*.vrb
# changes
*.soc
# comment
*.cut
# cprotect
*.cpt
# elsarticle (documentclass of Elsevier journals)
*.spl
# endnotes
*.ent
# fixme
*.lox
# feynmf/feynmp
*.mf
*.mp
*.t[1-9]
*.t[1-9][0-9]
*.tfm
#(r)(e)ledmac/(r)(e)ledpar
*.end
*.?end
*.[1-9]
*.[1-9][0-9]
*.[1-9][0-9][0-9]
*.[1-9]R
*.[1-9][0-9]R
*.[1-9][0-9][0-9]R
*.eledsec[1-9]
*.eledsec[1-9]R
*.eledsec[1-9][0-9]
*.eledsec[1-9][0-9]R
*.eledsec[1-9][0-9][0-9]
*.eledsec[1-9][0-9][0-9]R
# glossaries
*.acn
*.acr
*.glg
*.glo
*.gls
*.glsdefs
*.lzo
*.lzs
*.slg
*.slo
*.sls
# uncomment this for glossaries-extra (will ignore makeindex's style files!)
*.ist
# gnuplot
*.gnuplot
*.table
# gnuplottex
*-gnuplottex-*
# gregoriotex
*.gaux
*.glog
*.gtex
# htlatex
*.4ct
*.4tc
*.idv
*.lg
*.trc
*.xref
# hyperref
*.brf
# knitr
*-concordance.tex
# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files
# *.tikz
*-tikzDictionary
# listings
*.lol
# luatexja-ruby
*.ltjruby
# makeidx
*.idx
*.ilg
*.ind
# minitoc
*.maf
*.mlf
*.mlt
*.mtc[0-9]*
*.slf[0-9]*
*.slt[0-9]*
*.stc[0-9]*
# minted
_minted*
*.pyg
# morewrites
*.mw
# newpax
*.newpax
# nomencl
*.nlg
*.nlo
*.nls
# pax
*.pax
# pdfpcnotes
*.pdfpc
# sagetex
*.sagetex.sage
*.sagetex.py
*.sagetex.scmd
# scrwfile
*.wrt
# svg
svg-inkscape/
# sympy
*.sout
*.sympy
sympy-plots-for-*.tex/
# pdfcomment
*.upa
*.upb
# pythontex
*.pytxcode
pythontex-files-*/
# tcolorbox
*.listing
# thmtools
*.loe
# TikZ & PGF
*.dpth
*.md5
*.auxlock
# titletoc
*.ptc
# todonotes
*.tdo
# vhistory
*.hst
*.ver
# easy-todo
*.lod
# xcolor
*.xcp
# xmpincl
*.xmpi
# xindy
*.xdy
# xypic precompiled matrices and outlines
*.xyc
*.xyd
# endfloat
*.ttt
*.fff
# Latexian
TSWLatexianTemp*
## Editors:
# WinEdt
*.bak
*.sav
# Texpad
.texpadtmp
# LyX
*.lyx~
# Kile
*.backup
# gummi
.*.swp
# KBibTeX
*~[0-9]*
# TeXnicCenter
*.tps
# auto folder when using emacs and auctex
./auto/*
*.el
# expex forward references with \gathertags
*-tags.tex
# standalone packages
*.sta
# Makeindex log files
*.lpz
# xwatermark package
*.xwm
# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib
# option is specified. Footnotes are the stored in a file with suffix Notes.bib.
# Uncomment the next line to have this generated file ignored.
#*Notes.bib
### LaTeX Patch ###
# LIPIcs / OASIcs
*.vtc
# glossaries
*.glstex
# End of https://www.toptal.com/developers/gitignore/api/latex
# ignore generated pdf file
main.pdf
# ignore build directories
# these hold all the clutter we do not want to have
tmp
build

64
.latexmkrc Normal file
View File

@ -0,0 +1,64 @@
# =====================================================================
# Custom latex make file to bew used with TexLive and Latexmk
# _ _ __ __ _ ______ ____
# | | __ _| |_ _____ _| \/ | |/ / _ \ / ___|
# | |/ _` | __/ _ \ \/ / |\/| | ' /| |_) | |
# | | (_| | || __/> <| | | | . \| _ <| |___
# |_|\__,_|\__\___/_/\_\_| |_|_|\_\_| \_\\____|
# main file to compile
# this is the entry point file
@default_files = ('main.tex');
# =====================================================================
# custom folders to store auxilary and build files inside
# so they don't clutter everything
# Move all axuiliary files to a separate directory, so they do not clutter up the project directory
$emulate_aux = 1;
$aux_dir = "tmp";
# Move the compiled files (and synctex) to a separate directory
$out_dir = 'build';
# command to compile and run
$pdflatex = 'pdflatex %O -interaction=nonstopmode -shell-escape %S';
# =====================================================================
# bibtex
# Specify the bibliography
$bibtex = 'bibtex %O %B';
$makeglossaries = 'makeglossaries %O %B';
# Continuous preview mode
$continuous_mode = 1;
# Set the program used to generate the PDF
# 1: pdflatex
# 2: postscript conversion, don't use this
# 3: dvi conversion, don't use this
# 4: lualatex
# 5: xelatex
$pdf_mode = 1;
# Keep auxiliary files
$clean_ext = " ";
# =====================================================================
# custom dependency handling for glossaries
add_cus_dep( 'acn', 'acr', 0, 'makeglossaries' );
add_cus_dep( 'glo', 'gls', 0, 'makeglossaries' );
$clean_ext .= " acr acn alg glo gls glg";
sub makeglossaries {
my ($base_name, $path) = fileparse( $_[0] );
my @args = ( "-q", "-d", $path, $base_name );
if ($silent) { unshift @args, "-q"; }
return system "makeglossaries", "-d", $path, $base_name;
}
# =====================================================================
# Silence warnings
$silent = 1;

View File

@ -1,3 +1,30 @@
# Praxisbericht-Template # Praxisbericht-Template
latex template for writing practial exams and reports for DHBW and ABB Latex template for writing practial exams and reports for DHBW and ABB with TexLive.
## Structure
The template is structured in the following way: Every logical part of the code is contained within a specific directory. The file `main.tex` is the root of the document and is not meant to be modified execpt for adding new packages to be used.
The directories are as follows:
| Direcory | Contents |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| chapter | Holds every chapter page of the report. These pages are to be created by the author on demand. |
| config | Holds configuration files for metadata about the author, company and topic covered. The data specified will be used automatically throughout the entire document. |
| extra | Extra files for utilities and applied fixes |
| multimedia | Stores multimedia files used in the document such als images, videos and pdf files |
| pages | these are the abstract layout pages of the document are not to be altered |
Acronyms are defined in the file `acros.tex`. Likewise, glossaries are all defined in `glossary.tex`.
## Build
The project is intended to be build by TexLive through the use of latexmk. This is why there is a custom `.latexmkrc` file specified to keep the build process clean.
## Dependencies
This project requires the following:
- TexLive
- latexmk (often packaged with TexLive full-scheme)
- python
- pygments (python package for minted)

21
acros.tex Normal file
View File

@ -0,0 +1,21 @@
% =====================================================================
% Declare your acronyms in this file.
% This file must be included in the prelude in order to work
%
% Example:
% \DeclareAcronym{usa}{
% short=USA,
% long=United States of America,
% }
%
% Use with: \acs{usa}
%
% Available options:
% - short: The short form of the acronym.
% - long: The long form of the acronym.
% - plural: The plural form of the acronym.
% - class: The class of the acronym, such as "abbrev" or "nomenclature".
% - first-style: The style of the first occurrence of the acronym.
% - single: The text to use for a single occurrence of the acronym.
% - list: The text to use for a list of occurrences of the acronym.

View File

@ -0,0 +1,2 @@
\section{Einleitung}
\loremipsum

22
config/author.tex Normal file
View File

@ -0,0 +1,22 @@
% about this document
\def\reportTitle{Erklärung wesentlicher Bestandteile des Templates}
\def\reportSubtitle{Untertitel}
\def\reportType{T1000}
\def\reportStudyYear{1}
\def\reportFaculty{Technik}
\def\reportStudy{Informationstechnik}
\def\reportTheoryLocation{Mannheim}
\def\reportSubmissionDate{10. Mai 2022}
\def\reportEditingPeriod{1. Januar 2022 - 29. März 2022}
% about the author
\def\authorName{Sven Vogel}
\def\authorMatriculationNumber{1191225}
\def\authorCourse{TINF22IT2}
\def\authorCompany{ABB}
\def\authorSupervisor{Herbert Grönemeier}
% set document information
\title{\reportTitle}
\author{\reportAuthor}
\date{\reportTitle}

16
config/minted.tex Normal file
View File

@ -0,0 +1,16 @@
% custom colors
\definecolor{minted-background}{rgb}{0.95, 0.95, 0.95}
% global theme
\usemintedstyle{tango}
% set global options for all listings
% these can also be applied locally to individual listings
\setminted {
linenos=true, % enable line numbers
bgcolor=minted-background, % background color
resetmargins=true,
tabsize=4, % white spaces for tabs
xleftmargin=24pt, % margin to the left side.
escapeinside=|| % symbols used to escape LaTeX
}

32
config/pages.tex Normal file
View File

@ -0,0 +1,32 @@
% set page margins
\newgeometry {
left=3cm,
right=2cm,
top=2cm,
bottom=2cm,
includehead
}
% configure hyper links
\hypersetup{
bookmarksopen=false,
bookmarksnumbered=true,
bookmarksopenlevel=0,
pdftitle=\reportTitle,
pdfsubject=\reportTitle,
pdfauthor=\authorName,
pdfborder={0 0 0} % disable border
}
\captionsetup*[figure]{name=Bild}
\captionsetup*[table]{name=Tabelle}
\captionsetup*[listing]{name=Quelltext}
% mak line numbering on the right side (outside) of the header
\pagestyle{fancy}
\fancyhf{}
\fancyhead[R]{\thepage}
\renewcommand{\headrulewidth}{0.5pt}
% line spacing: 1.5
\onehalfspacing

6
extra/fixes.tex Normal file
View File

@ -0,0 +1,6 @@
% NOTE:
% increase head height to fix warning of fancyhdr package
% complaining about it being to small
\setlength{\headheight}{15pt}

23
extra/utils.tex Normal file
View File

@ -0,0 +1,23 @@
% make the @ symbol available as character for command names
% requried for some commands to work
\makeatletter
% lorem ipsum constant
% used for testing purposes only
\def\loremipsum {
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
}
% apply this as scaling for images to make them fit available space
\def\ScaleIfNeeded{
\ifdim\Gin@nat@width>\linewidth
\linewidth
\else
\Gin@nat@width
\fi
}
% qouted text
\newcommand{\gqq}[1]{\glqq #1\grqq}
\makeatother

13
glossary.tex Normal file
View File

@ -0,0 +1,13 @@
% Defne your glossary entries here
% They will be sorted and automatically generated
%
% Example:
% \newglossaryentry{Python}{
% name=Python,
% description={
% Python ist eine populäre Hochsprache.
% },
% }
%
% They can then be referenced in the text via:
% \Gls{Python}

73
main.tex Normal file
View File

@ -0,0 +1,73 @@
\documentclass[a4paper, 12pt]{article}
% =====================================================================
% latex packages to use
\usepackage{graphicx} % Required for inserting images
\usepackage{longtable} % Tables that can overflow pages
\usepackage{setspace} % for more spacing control
\usepackage{geometry} % for margin control
\usepackage{tabularx} % extension of tabular environment that allows dynamic widths
\usepackage{hyperref} % for referecing stuff
\usepackage{fancyhdr} % fancy headers
\usepackage{import} % advanced document import
\usepackage{pdfpages} % include multipage pdf documents
\usepackage{tikz} % graphics, diagrams, logic
\usepackage{imakeidx} % inhaltsverzeichnis
\usepackage{nomencl} % nomenclature
\usepackage{acro} % acronyms
\usepackage[ngerman]{babel} % german language support
\usepackage[labelfont=bf]{caption} % make caption title fat
\usepackage{wrapfig} % for figures wrapping text wraps around
\usepackage[cache=false]{minted} % highlighted code blocks
\usepackage[toc,style=altlist]{glossaries}
\usepackage{tocloft} % control over the typography of the Table of Contents, etc.
\usepackage{listings} % code listings
\usepackage{color} % more colors
\usepackage{tikz} % painting
\usepackage{tikz-imagelabels} % overlay labels for images
\makeindex
\makenomenclature
\makeglossaries
% include acronym definitions
\input{acros}
\input{glossary}
% include file with fixes and workaround
% as well as special settings
\input{extra/fixes}
\begin{document}
% =====================================================================
% include configuration files
\input{config/author} % meta information about author
\input{config/pages} % set page configuration
\input{config/minted} % set minted configuration
\input{extra/utils} % some utility stuff
% =====================================================================
% meta pages will have roman line numbering
\pagenumbering{Roman}
% include documents in the directory pages/
\input{pages/page-01-title}
\input{pages/page-02-indipendence-declaration}
\input{pages/page-03-lock-notice}
\input{pages/page-04-abstract}
\input{pages/page-05-summary}
\input{pages/page-06-preface}
\input{pages/page-07-indices}
% =====================================================================
% chapter
\pagenumbering{arabic}
% add section title to header
\pagestyle{fancy}
\fancyhead[L]{\nouppercase{\leftmark}}
% include all used chapters
\input{pages/page-08-chapter}
\end{document}

BIN
multmedia/logo-abb.pdf Normal file

Binary file not shown.

BIN
multmedia/logo-dhbw.pdf Normal file

Binary file not shown.

69
pages/page-01-title.tex Normal file
View File

@ -0,0 +1,69 @@
\begin{titlepage}
% =====================================================================
% logos of ABB and DHBW
\begin{minipage}{0.22\textwidth}
\includegraphics[width=\textwidth]{multmedia/logo-abb.pdf}
\end{minipage}
\hfill
\begin{minipage}{0.25\textwidth}
\raggedleft
\includegraphics[width=\textwidth]{multmedia/logo-dhbw.pdf}
\end{minipage}
% =====================================================================
% centered general document information
\vspace*{2cm}
\begin{center}
% titles
\LARGE\bf
\reportTitle
\\
\Large\rm
\singlespacing
\reportSubtitle
\vspace*{2cm}
% report type
\bf
\reportType
\vspace*{0.5cm}
% time
\singlespacing
\normalsize\rm
Praxisphase des \reportStudyYear Studienjahrs
\vspace*{0.5cm}
% location
an der Fakultät für \reportFaculty \\
im Studiengang \reportStudy \\
\vspace*{0.5cm}
\singlespacing
an der \\
DHBW \reportTheoryLocation
\vfill
\end{center}
% =====================================================================
% author information
\begin{tabular}{ll}
Verfasser: & \authorName \\
Bearbeitungszeitraum: & \reportEditingPeriod \\
Matrikelnummer, Kurs: & \authorMatriculationNumber, \authorCourse \\
Ausbildungsbetrieb: & \authorCompany \\
Betr. Betreuer: & \authorSupervisor \\
Abgabedatum: & \reportSubmissionDate \\
\end{tabular}
\vspace*{1.5cm}
% =====================================================================
% signing section
Unterschrift des betrieblichen Betreuers
\hfill
\rule{6cm}{0.3mm}
\end{titlepage}
% start counting pages at 1 (this will be page 1)
\setcounter{page}{2}

View File

@ -0,0 +1,24 @@
\addcontentsline{toc}{section}{Selbständigkeitserklärung}
\thispagestyle{empty} % no line numbering
\begin{center}
\vspace*{2cm}
\Huge\bf Selbständigkeitserklärung \\
\vspace*{3cm}
\large\rm\singlespacing
Ich versichere hiermit, dass ich meine\\
Prüfung mit dem Thema\\
\vspace*{2cm}
\Large\bf\reportTitle\\
\Large\rm\reportSubtitle\\
\vspace*{2cm}
\large\rm
\singlespacing
selbständig verfasst und keine anderen als die angegebenen \\
Quellen und Hilfsmittel benutzt habe.
Ich versichere zudem, dass die eingereichte elektronische Fassung mit der gedruckten Fassung übereinstimmt. \\
\vfill
\begin{tabularx}{\textwidth}{l@{\extracolsep\fill}l}
\rule{7cm}{0.3mm} & \rule{7cm}{0.3mm} \\
Ort, Datum & Unterschrift \\
\end{tabularx}
\end{center}

View File

@ -0,0 +1,20 @@
\addcontentsline{toc}{section}{Sperrvermerk}
\thispagestyle{empty}
\cleardoublepage
\begin{center}
\vspace*{2cm}
\Huge\bf Sperrvermerk\\
\vspace*{2cm}
\large\rm
\begin{quotation}
Der Inhalt dieser Arbeit darf weder als Ganzes noch in Auszü\-gen Personen außerhalb des Prüfungsprozesses und des Evaluationsverfahrens zugänglich gemacht werden, sofern keine anders lautende Genehmigung der Ausbildungsstätte vorliegt.
\end{quotation}
\vspace*{2cm}
\begin{tabularx}{\textwidth}{l@{\extracolsep\fill}l}
\rule{7cm}{0.3mm} & \rule{7cm}{0.3mm} \\
Ort, Datum & Unterschrift \\
\end{tabularx}
\end{center}
\pagebreak
\newpage

View File

@ -0,0 +1,12 @@
% create hyperlinkable pyhntom section (this is only for reference)
\phantomsection
\addcontentsline{toc}{section}{\protect{Abstract}}
% print some actual visible heading
\begin{flushleft}
\Large\bf Abstract
\end{flushleft}
% your text here!
% vvvvvvvvv
\loremipsum

12
pages/page-05-summary.tex Normal file
View File

@ -0,0 +1,12 @@
% create hyperlinkable pyhntom section (this is only for reference)
\phantomsection
\addcontentsline{toc}{section}{\protect{Zusammenfassung}}
% print some actual visible heading
\begin{flushleft}
\Large\bf Zusammenfassung
\end{flushleft}
% your text here!
% vvvvvvvvv
\loremipsum

12
pages/page-06-preface.tex Normal file
View File

@ -0,0 +1,12 @@
% create hyperlinkable pyhntom section (this is only for reference)
\phantomsection
\addcontentsline{toc}{section}{\protect{Vorwort}}
% print some actual visible heading
\begin{flushleft}
\Large\bf Vorwort
\end{flushleft}
% your text here!
% vvvvvvvvv
\loremipsum

47
pages/page-07-indices.tex Normal file
View File

@ -0,0 +1,47 @@
% =====================================================================
% this file contains calls the commands which auto generate tables of
% figures, contents, tables, etc.
% table of contents
\cleardoublepage
\addcontentsline{toc}{section}{Inhaltsverzeichnis}
\tableofcontents
\newpage
% figures
\cleardoublepage
\addcontentsline{toc}{section}{\listfigurename}
\listoffigures
\newpage
% tables
\cleardoublepage
\addcontentsline{toc}{section}{\listtablename}
\listoftables
\newpage
% code listings
% define custom german title for code lisitng
\def\listlistingname{Quelltextverzeichnis}
% add list of contents entry for code listing
\renewcommand\listoflistingscaption{\listlistingname}
\addcontentsline{toc}{section}{\listlistingname}
% print used listings
\listoflistings
\newpage
% nomenclature
\printnomenclature
\newpage
\renewcommand{\glossaryname}{Glossar}
\printglossaries
\newpage
%acronyms
% will be sorted automatically by alpabetic order
\cleardoublepage
\def\listacronymname{Abkürzungsverzeichnis}
\addcontentsline{toc}{section}{\listacronymname}
\printacronyms
\newpage

View File

@ -0,0 +1,5 @@
% =====================================================================
% Every chapter used in the document has to be included here
% include actual chapters
\input{chapter/chapter-introduction}