Browse Source

initial commit

master
Schneider 2 months ago
commit
f4c225f294
Signed by: schneider GPG Key ID: 3F50B02A50039F3B
  1. 287
      .gitignore
  2. 33
      Makefile
  3. 31
      README.md
  4. 21
      common/commands.tex
  5. 42
      common/config.tex
  6. 7
      content/abstract.tex
  7. 9
      content/acronyms.tex
  8. 2
      content/appendix_a.tex
  9. 4
      content/ch1_introduction.tex
  10. 4
      content/ch2_basics.tex
  11. 4
      content/ch3_analysis.tex
  12. 3
      content/ch4_design.tex
  13. 14
      content/ch5_implementation.tex
  14. 4
      content/ch6_conclusion.tex
  15. 71
      content/coverpage.tex
  16. 8
      content/quellen.bib
  17. 12
      content/statement.tex
  18. 2
      creationdate.lua
  19. 2
      creationdate.timestamp
  20. BIN
      template.pdf
  21. 168
      template.tex
  22. 5
      template.xmpdata
  23. 1
      version.dat

287
.gitignore

@ -0,0 +1,287 @@
## 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
# uncomment this for glossaries-extra (will ignore makeindex's style files!)
# *.ist
# gnuplottex
*-gnuplottex-*
# gregoriotex
*.gaux
*.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
# nomencl
*.nlg
*.nlo
*.nls
# pax
*.pax
# pdfpcnotes
*.pdfpc
# sagetex
*.sagetex.sage
*.sagetex.py
*.sagetex.scmd
# scrwfile
*.wrt
# sympy
*.sout
*.sympy
sympy-plots-for-*.tex/
# pdfcomment
*.upa
*.upb
# pythontex
*.pytxcode
pythontex-files-*/
# tcolorbox
*.listing
# thmtools
*.loe
# TikZ & PGF
*.dpth
*.md5
*.auxlock
# 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
ba.ist
ba.pdf
*.ist

33
Makefile

@ -0,0 +1,33 @@
TARGET=ba
COMPILER=xelatex -shell-escape --synctex=1 -output-driver="xdvipdfmx -z 1"
TEX_SOURCES=$(TARGET).tex content/*.tex
VERAPDF=/opt/verapdf/verapdf
all: fast bibtex
fast-verify: fast verify
verify: $(TARGET).pdf
$(VERAPDF) --format text $(TARGET).pdf
fast: $(TEX_SOURCES)
$(COMPILER) -halt-on-error $(TARGET)
bibtex: $(TARGET).aux
$(COMPILER) -halt-on-error $(TARGET)
biber $(TARGET)
$(COMPILER) -halt-on-error $(TARGET)
$(COMPILER) -halt-on-error $(TARGET)
makeglossaries $(TARGET)
$(COMPILER) -halt-on-error $(TARGET)
$(COMPILER) -halt-on-error $(TARGET)
index: $(TARGET).aux
$(COMPILER) -halt-on-error $(TARGET)
makeindex $(TARGET)
$(COMPILER) -halt-on-error $(TARGET)
$(COMPILER) -halt-on-error $(TARGET)
clean:
rm -f *.log *.toc *.lof *.lot *.out *.pdf *.aux *.bbl *.blg *.idx *.ilg *.ind *.lol *.acn *.bcf *.glo *.ist *.run.xml *.xmpdata *.xmpi *.acr *.alg *.glg *.gls

31
README.md

@ -0,0 +1,31 @@
# Template für Abschlussarbeiten
Das IFI stellt ein offizielles Template bereit, die letzte Änderung daran war
jedoch 2015 und es nutzt viele veraltete Dinge.
In den letzten 6 Jahren hat sich einiges geändert, dieses Template hier ist an
einen (recht) modernen Workflow angepasst.
So wird vollständig auf KOMAscript gesetzt und als Compiler xelatex genutzt.
Lualatex sollte auch funktionieren.
Damit dieses projekt mit latexmk (automatisch) gebaut werden kann, muss in die
config `~/.config/latexmk/latexmkrc` folgendes eingetragen werden:
```
$hash_calc_ignore_pattern{'dat'} = '^';
$hash_calc_ignore_pattern{'timestamp'} = '^';
$pdflatex = 'xelatex --shell-escape %O %S';
```
Dadurch werden die Zusatzdateien ignoriert, die für die Erstellung des
PDF/A-kompatiblen Dokuments benötigt werden. Ohne diese Einträge, würde latexmk
ständig neubauen, da diese dateien sich beim build ändern.
In der letzten Zeile wird xelatex als compiler konfiguriert.
Das Makefile bietet das Kommando `verify` um mit verapdf die Kompatibilität zu
PDF/A zu prüfen.
Dazu muss im Makefile für die Variable `VERAPDF` der korrekte Pfad zur
Executable liegen.
Für Fragen, Wünsche, Anregungen bitte den issue tracker nutzen.
Viel Spaß und Erfolg mit eurer Arbeit

21
common/commands.tex

@ -0,0 +1,21 @@
%
% own commands
%
%double empty page
\newcommand \myemptypage {
\clearpage
\thispagestyle{empty}
\null
\cleardoublepage
}
%create abstract environment that is not available in latex book style
\newcommand\abstractname{Abstract}
\newenvironment{abstract}{%
\begin{center}%
\normalfont\Large\bfseries \abstractname
\end{center}%
\it%
}
{}

42
common/config.tex

@ -0,0 +1,42 @@
%
% general configuration
%
\usepackage[draft=false]{scrlayer-scrpage}
\usepackage{ifdraft}
\renewcommand*{\chaptermarkformat}{\MakeUppercase{\chapapp}~\thechapter\autodot\enskip}
\chead{}
%\chead*{Entwicklungsversion \version}
\ihead{\headmark}
\ohead{\pagemark}
% Use microtype to improve typesetting
\usepackage{microtype}
%set page margin for DIN A4
\geometry{a4paper, left=2.5cm, right=2.5cm, top=4cm,
bottom=5cm, bindingoffset=1cm}
%makes TeX less fussy about line breaking
% but makes it also look like Word
%\sloppy
% Replacement for changing parskip and parindent directly
%\usepackage{parskip}
%1.5 spacing
\onehalfspacing
{}
%define some colors
\definecolor{darkblue}{rgb}{0.0,0.0,0.5}
\definecolor{grey}{rgb}{0.8,0.8,0.8}
\definecolor{lightgrey}{rgb}{0.95,0.95,0.95}
%override reference title and listings title
\renewcommand \bibname{References}
%\renewcommand{\lstlistlistingname}{List of Listings}
\newtheorem{definition}{Definition}

7
content/abstract.tex

@ -0,0 +1,7 @@
\begin{center}\normalfont\textbf{Abstract}\end{center}
\begin{quotation}
This is the abstract of the document
\end{quotation}

9
content/acronyms.tex

@ -0,0 +1,9 @@
\newglossaryentry{python}
{
name={Python},
description={a scripting language}
}
\newacronym{gau}{GAU}{Geor-Auguts-Universität Göttingen}

2
content/appendix_a.tex

@ -0,0 +1,2 @@
\chapter{Anhang A}%

4
content/ch1_introduction.tex

@ -0,0 +1,4 @@
\chapter{Einleitung}%
\label{chap:introduction}
Einleitungstext

4
content/ch2_basics.tex

@ -0,0 +1,4 @@
\chapter{Theoretischer Hintergrund}%
\label{chap:theorie}
Basics und Theorie

4
content/ch3_analysis.tex

@ -0,0 +1,4 @@
\chapter{Analyse}%
\label{chap:analysis}
Analyse des status quo

3
content/ch4_design.tex

@ -0,0 +1,3 @@
\chapter{Design}
Desing des neuen Systems, vielleicht mit \gls{python} ?

14
content/ch5_implementation.tex

@ -0,0 +1,14 @@
\chapter{Implementation}
\label{chap:implementation}
Implementation des ganzen, vielleicht nach einem vorherigen Blick in ein Buch
\parencite[vgl.][49]{martin2018}.
SI-Einheiten können per Befehl geschrieben werden: \SI{43}{\kilo\gram\per\square\metre}
Für code wird Minted genutzt:
\begin{minted}{python}
def add(a: int, b: int) -> int:
"""Really not the best addition function"""
return a + b
\end{minted}

4
content/ch6_conclusion.tex

@ -0,0 +1,4 @@
\chapter{Auswertung}%
\label{chap:fazit}
Fazit und Ausblick

71
content/coverpage.tex

@ -0,0 +1,71 @@
%
% title page
%
\begin{titlepage}
%default settings for the rest
\large
\centering
\vspace{3cm}
\textbf{\LARGE \mytype}
im Studiengang ``\mycourse''
\vspace{2.5cm}
\textbf{\LARGE \mytitle}
\vspace{2cm}
\myauthor
\vspace{2cm}
\mydepartment
\vspace{2cm}
Bachelor- und Masterarbeiten\\
des Zentrums für angewandte Informatik\\
an der Georg-August-Universität Göttingen
\vspace{0.2cm}
\mysubmissiondate
%--- new page ---
\clearpage
\thispagestyle{empty}
\null
\flushleft
%\onehalfspacing
\normalsize
\vspace{8cm}
Georg-August-Universität Göttingen\\
Institut für Informatik\\[3ex]
Goldschmidtstrasse 7\\
37077 Göttingen\\
Germany\\[3ex]
\begin{tabular}{@{}ll}
Telefon & +49 (551) 39-172000\\
Fax & +49 (551) 39-14403\\
E-Mail & \href{mailto:office@informatik.uni-goettingen.de}{office@informatik.uni-goettingen.de}\\
Web & \url{www.informatik.uni-goettingen.de}\\
\end{tabular}
\vspace{1.0cm}
\begin{tabular}{@{}ll}
Erstbetreuer: & \myfirstsupervisor\\
Zweitbetreuer:& \mysecondsupervisor\\
\end{tabular}
\end{titlepage}

8
content/quellen.bib

@ -0,0 +1,8 @@
@book{martin2018,
title={Clean architecture: a craftsman's guide to software structure and design},
author={Martin, Robert C},
year={2018},
publisher={Prentice Hall}
}

12
content/statement.tex

@ -0,0 +1,12 @@
\thispagestyle{empty}
\null
\vspace{16.0cm}
\rule{\textwidth}{0.4pt}
Ich erkläre hiermit, dass ich die vorliegende Arbeit selbständig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel verwendet habe.
\vspace{0.2cm}
Göttingen, den \mysubmissiondate

2
creationdate.lua

@ -0,0 +1,2 @@
os.remove("creationdate.timestamp")
io.output("creationdate.timestamp"):write(os.date("\\edef\\tempa{\\string D:%Y%m%d%H%M%S}\n\\def\\tempb{%z}"))

2
creationdate.timestamp

@ -0,0 +1,2 @@
\edef\tempa{\string D:20210314143807}
\def\tempb{+0100}

BIN
template.pdf

168
template.tex

@ -0,0 +1,168 @@
\documentclass[a4paper, oneside, 10pt,chapterprefix=true,listof=totoc,parskip=half]{scrbook}
\usepackage{morewrites}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage[spelling=new,babelshorthands=true]{german}
\usepackage{geometry}
\usepackage{graphicx}
\usepackage[german,pdfa=true]{hyperref}
\usepackage[sortlocale=auto, style=authoryear, citestyle=authoryear, backend=biber, autopunct=true, dashed=false]{biblatex}
\usepackage[acronym,automake,toc]{glossaries}
\usepackage{float}
\usepackage{siunitx}
\usepackage{multirow}
\usepackage{setspace}
\usepackage{xcolor}
\usepackage{tabularx}
\usepackage{amsmath}
\usepackage{mVersion}
\usepackage{booktabs}
\usepackage{tikz}
\usepackage{listing}
\usepackage{minted}
\usepackage{csquotes}
\usepackage{framed}
\usepackage{marvosym}
\setmonofont{Fira Code Regular}[Scale=MatchLowercase]
\increaseBuild
%--- basic document configuration ---
\newcommand{\mytype}{Bachelorarbeit}
%\newcommand{\mytype}{Masterarbeit}
\newcommand{\mycourse}{Angewandte Informatik}
%\newcommand{\mycourse}{Internet Technologies and Information Systems}
\newcommand{\mytitle}{Ein Template für Abschlussarbeiten im Jahre 2021}
\newcommand{\myauthor}{Fleißiger Studierender}
\newcommand{\mydepartment}{Institut für Informatik}
\newcommand{\mysubmissiondate}{\today}
%\newcommand{\mysubmissiondate}{23. Februar 2021}
%\newcommand{\mythesisid}{201x-xx} %assigned by examination office
\newcommand{\myfirstsupervisor}{Prof. Supervisor}
\newcommand{\mysecondsupervisor}{Dr. Zweitprüfer}
%--- pdf/a format ----
% insert metadata about the document here
%\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.xmpdata}
\Title{\mytitle v\version}
\Author{\myauthor}
\Language{de-DE}
\Subject{\mytitle}
\Keywords{bachelor\sep computer\sep science}
\end{filecontents*}
\usepackage{colorprofiles}
\usepackage[a-1b, mathxmp]{pdfx}[2018/12/22]
\hypersetup{pdfstartview=}
\addbibresource{content/quellen.bib}
%
% This is based on the official thesis template of
% the Institute of Computer Science at the
% Georg-August-University of Göttingen
%
% originial author: kellner@cs.uni-goettingen.de
%
% If you find any sort of mistake please let me know
% so that it can be fixed in future releases.
%
%%--- include custom commands ---
\input{common/commands}
%
%%--- include general configuration ---
\input{common/config}
%--- list of acronyms ---
\makeglossaries
\loadglsentries{content/acronyms}
\clearpage
\begin{document}
%lower case roman page numbers
\pagenumbering{roman}
\setcounter{page}{1}
%--- cover page ---
\input{content/coverpage}
\clearpage
%--- statement page ---
\input{content/statement}
\clearpage
%--- abstract ---
\clearpage\phantomsection\pdfbookmark{\abstractname}{abstract}
\thispagestyle{empty}
\input{content/abstract}
\clearpage
%reset acronyms after abstract
\glsresetall{}
%--- table of contents ---
\clearpage\phantomsection\pdfbookmark{\contentsname}{toc}
\tableofcontents
\printglossary[type=\acronymtype]{}
\printglossary[type=main]{}
\clearpage
%--- list of figures ---
\listoffigures
\clearpage
%--- list of tables ---
\listoftables
\clearpage
%--- list of listings ---
%\renewcommand{\listoflistings}{%
%\cleardoublepage
%%\addcontentsline{toc}{chapter}{\listoflistingscaption}%
%\listof{listing}{\listoflistingscaption}%
%}
%\listoflistings
%\clearpage
%arabic page numbers
\pagenumbering{arabic}
\setcounter{page}{1}
%--- chaper 1..n ---
\input{content/ch1_introduction}
\clearpage
\input{content/ch2_basics}
\clearpage
\input{content/ch3_analysis}
\clearpage
\input{content/ch4_design}
\clearpage
\input{content/ch5_implementation}
\clearpage
\input{content/ch6_conclusion}
\clearpage
% References
\printbibliography{}
\addcontentsline{toc}{chapter}{\bibname}
%--- appendix ---
\appendix
\input{content/appendix_a}
\clearpage
\end{document}

5
template.xmpdata

@ -0,0 +1,5 @@
\Title{\mytitle v\version}
\Author{\myauthor}
\Language{de-DE}
\Subject{\mytitle}
\Keywords{bachelor\sep computer\sep science}

1
version.dat

@ -0,0 +1 @@
0.0;4
Loading…
Cancel
Save