From dcdfdc578319889f2031b513a541cf50f3dfe0aa Mon Sep 17 00:00:00 2001 From: Julius Riegel Date: Mon, 25 Mar 2019 14:42:25 +0100 Subject: [PATCH] initial commit --- .gitignore | 16 + document.tex | 99 ++++ img/hwr_header_logo.png | Bin 0 -> 38506 bytes img/th_header_logo.png | Bin 0 -> 2192 bytes lib/customcommands.sty | 3 + lib/customstyle.tex | 54 ++ lib/environments.tex | 9 + lib/erklaerung.tex | 20 + lib/hwrbib.bst | 1131 +++++++++++++++++++++++++++++++++++++++ lib/title.tex | 38 ++ metadata.sty | 49 ++ misc/bibliography.bib | 0 misc/glossary.tex | 0 misc/hyphenation.tex | 4 + 14 files changed, 1423 insertions(+) create mode 100644 .gitignore create mode 100644 document.tex create mode 100644 img/hwr_header_logo.png create mode 100644 img/th_header_logo.png create mode 100644 lib/customcommands.sty create mode 100644 lib/customstyle.tex create mode 100644 lib/environments.tex create mode 100644 lib/erklaerung.tex create mode 100644 lib/hwrbib.bst create mode 100644 lib/title.tex create mode 100644 metadata.sty create mode 100644 misc/bibliography.bib create mode 100644 misc/glossary.tex create mode 100644 misc/hyphenation.tex diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a3c9411 --- /dev/null +++ b/.gitignore @@ -0,0 +1,16 @@ +*.pptx +*.pdf +*.aux +*.log +*.glsdefs +*.gz +*.out +*.fls +*.fdb_latexmk +*.blg +*.bbl +*.toc +*.bak +*.doc +*.docx +md-converted \ No newline at end of file diff --git a/document.tex b/document.tex new file mode 100644 index 0000000..e1e1949 --- /dev/null +++ b/document.tex @@ -0,0 +1,99 @@ +\documentclass[ + 12pt, + a4paper, + numbers=noenddot, %Entfernt Punkt hinter Gliederungsnummern + ngerman, + headsepline, %Headertrennlinie + oneside, + version=first + ]{scrbook} + +% ------- Imports ---------- + +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage[ngerman]{babel} +\usepackage{float} +\usepackage{url} +\usepackage{cite} +\usepackage{setspace} +\usepackage[acronym, nonumberlist]{glossaries} +\usepackage{listings,xcolor} +\usepackage[a4paper, margin=1in]{geometry} +\usepackage[normalem]{ulem} +\usepackage{graphicx} +\usepackage{chngcntr} +\usepackage{tgbonum} +\usepackage{subfig} +\usepackage{color, colortbl} + +\usepackage{metadata} +\usepackage{lib/customcommands} + +\usepackage[ + colorlinks, % Links ohne Umrandungen in zu wählender Farbe + linkcolor=black, % Farbe interner Verweise + filecolor=black, % Farbe externer Verweise + citecolor=black, % Farbe von Zitaten + urlcolor=blue % Farbe von Links +]{hyperref} + +% --------Settings---------- + +\include{hyphenation} +\include{lib/customstyle} + +% --------Environments------ + +\include{lib/environments} + +% --------Title------------ + +\begin{document} +\include{lib/title} + +% --------Abstract---------- + +\include{chapters/abstract} + +\addcontentsline{toc}{chapter}{Abstract} + + +%-------------------------- + +\pagenumbering{Roman} +\newpage +\newpage + + +\tableofcontents{} +\addcontentsline{toc}{chapter}{Inhaltsverzeichnis} + +%\listoffigures +%\listoftables + +\addcontentsline{toc}{chapter}{Akronyme} +\printnoidxglossaries{} + +\clearpage + +%% arabische Seitenzahlen +\pagenumbering{arabic} + +% --------Content---------- + +% \include{chapters/chaptername} + +% ------------------------- + +\bibliography{literatur} +\bibliographystyle{hwrbib} +\addcontentsline{toc}{chapter}{Literaturverzeichnis} + +% -Ehrenwörtliche Erklärung- + +\include{lib/erklaerung} + +%-------------------------- + +\end{document} \ No newline at end of file diff --git a/img/hwr_header_logo.png b/img/hwr_header_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d8b499165605f55e8bce334da3414efc885d33a3 GIT binary patch literal 38506 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

p1JyizwXtM&I=Gz&rN>$1TPy|UxNjGvB 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�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 } + { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al." * } + { " and " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.key} % this function is just for apalike +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { editor format.names + editor num.names$ #1 > + { " (Eds.)" * } + { " (Ed.)" * } + if$ + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title "t" change.case$ } + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "volume" volume tie.or.space.connect + series empty$ + 'skip$ + { " of " * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { "number" } + { "Number" } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { " in " * series * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ " Edition" * } + { edition "t" change.case$ " Edition" * } + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "pages" pages n.dashify tie.or.space.connect } + { "page" pages tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume field.or.null + number empty$ + 'skip$ + { "(" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ":" * pages n.dashify * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "chapter" } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { "In: " booktitle emphasize * } + { "In: " format.editors * ", " * booktitle emphasize * } + if$ + } + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Technical Report" } + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ "In" % this is for apalike + " \cite{" * crossref * "}" * +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "In " + } + { "Volume" volume tie.or.space.connect + " of " * + } + if$ + "\cite{" * crossref * "}" * % this is for apalike +} + +FUNCTION {format.incoll.inproc.crossref} +{ "In" % this is for apalike + " \cite{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + new.block + format.title "title" output.check + new.block + crossref missing$ + { journal emphasize "journal" output.check + format.vol.num.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check % special for apalike + new.block + format.btitle "title" output.check + new.block + format.edition output + crossref missing$ + { format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { new.block + format.book.crossref output.nonnull + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output % special for + output.year.check % apalike + new.block + format.title "title" output.check + new.block + howpublished output + address output + new.block + note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check % special for apalike + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + new.block + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + publisher "publisher" output.check + address output + format.edition output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.pages output + address output % for apalike + new.sentence % there's no year + organization output % here so things + publisher output % are simpler + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output % special for + output.year.check % apalike + new.block + format.btitle "title" output.check + organization address new.block.checkb + organization output + address output + format.edition output + new.block + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + new.block + format.title "title" output.check + new.block + "Master's thesis" format.thesis.type output.nonnull + school "school" output.check + address output + new.block + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output % special for + output.year.check % apalike + new.block + format.title output + new.block + howpublished output + new.block + note output + fin.entry +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + new.block + format.btitle "title" output.check + new.block + "PhD thesis" format.thesis.type output.nonnull + school "school" output.check + address output + new.block + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output % special for + output.year.check % apalike + new.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + address output % for apalike + new.sentence % we always output + organization output % a nonempty organization + publisher output % here + new.block + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + new.block + format.title "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" output.check + address output + new.block + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + new.block + format.title "title" output.check + new.block + note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +INTEGERS { et.al.char.used } + +FUNCTION {initialize.et.al.char.used} +{ #0 'et.al.char.used := +} + +EXECUTE {initialize.et.al.char.used} + +FUNCTION {format.lab.names} +{ 's := + s num.names$ 'numnames := + numnames #1 > + { numnames #4 > + { #3 'namesleft := } + { numnames 'namesleft := } + if$ + #1 'nameptr := + "" + { namesleft #0 > } + { nameptr numnames = + { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { "{\etalchar{+}}" * + #1 'et.al.char.used := + } + { s nameptr "{v{}}{l{}}" format.name$ * } + if$ + } + { s nameptr "{v{}}{l{}}" format.name$ * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + numnames #4 > + { "{\etalchar{+}}" * + #1 'et.al.char.used := + } + 'skip$ + if$ + } + { s #1 "{v{}}{l{}}" format.name$ + duplicate$ text.length$ #2 < + { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ } + 'skip$ + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + { key #3 text.prefix$ } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key % apalike uses the whole key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key % apalike uses the whole key, no organization + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.label} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label % apalike ignores organization + 'author.key.label % for labeling and sorting + if$ + } + if$ % these three lines are % for apalike, which + year field.or.null purify$ #-1 #2 substring$ % uses all four digits + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ % apalike uses initials + s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here + nameptr numnames = t "others" = and + { "et al" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} + +% apalike uses two sorting passes; the first one sets the +% labels so that the `a's, `b's, etc. can be computed; +% the second pass puts the references in "correct" order. +% The presort function is for the first pass. It computes +% label, sort.label, and title, and then concatenates. +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ % for + 'sort.label := % apalike + sort.label % style + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT % by label, sort.label, title---for final label calculation + +STRINGS { last.label next.extra } % apalike labels are only for the text; + +INTEGERS { last.extra.num } % there are none in the bibliography + +FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label' +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := +} + +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + label extra.label * 'label := + extra.label 'next.extra := +} + +EXECUTE {initialize.extra.label.stuff} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +% Now that the label is right we sort for real, +% on sort.label then year then title. This is +% for the second sorting pass. +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {bib.sort.order} + +SORT % by sort.label, year, title---giving final bibliography order + +FUNCTION {begin.bib} +{ preamble$ empty$ % no \etalchar in apalike + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{}" write$ newline$ % no labels in apalike +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} diff --git a/lib/title.tex b/lib/title.tex new file mode 100644 index 0000000..736e810 --- /dev/null +++ b/lib/title.tex @@ -0,0 +1,38 @@ +\subject{\zTyp} +\title{ + \normalfont\endgraf\rule{\textwidth}{.4pt} + \begingroup + \centering + \linespread{1.5} + \huge\zTitel{} + \endgroup + \linespread{1} + \endgraf\rule{\textwidth}{.4pt} +} + +\publishers{ + \begin{tabular}{rl} + \textbf{\normalsize{Name, Vorname:}} & \normalsize{\zStudent} \\ + \textbf{\normalsize{Matrikelnummer:}} & \normalsize{\zMatrikelnr} \\ + \textbf{\normalsize{Ausbildungsbetrieb:}} & \normalsize{\zBetrieb} \\ + \textbf{\normalsize{Studienjahrgang:}} & \normalsize{\zJahrgang} \\ + \textbf{\normalsize{Fachbereich:}} & \normalsize{\zFachbereich} \\ + \textbf{\normalsize{Studiengang:}} & \normalsize{\zStudiengang} \\ + \textbf{\normalsize{Modul:}} & \normalsize{\zModul} \\ + \textbf{\normalsize{Betreuer Hochschule:}} & \normalsize{\zBetreuerHs} \\ + \textbf{\normalsize{Betreuer Unternehmen:}} & \normalsize{\zBetreuerUn} \\ + \textbf{\normalsize{Anzahl der Wörter}} & \normalsize{\zAnzahlWoerter} \\ + \end{tabular} +} + +\titlehead{ + \begin{center} + \includegraphics[scale=1.5]{img/th_header_logo.png} + \includegraphics[scale=0.7]{img/hwr_header_logo.png} + \end{center} +} + +% ------------------------- + +\maketitle{} +\onehalfspacing{} \ No newline at end of file diff --git a/metadata.sty b/metadata.sty new file mode 100644 index 0000000..6311f57 --- /dev/null +++ b/metadata.sty @@ -0,0 +1,49 @@ +\ProvidesPackage{metadata} +% Typ: +\newcommand{\zTyp}{ + +} +% Titel: +\newcommand{\zTitel}{ + +} +% Name: +\newcommand{\zStudent}{ + +} +% Matrikelnummer: +\newcommand{\zMatrikelnr}{ + +} +% Betrieb: +\newcommand{\zBetrieb}{ + +} +% Jahrgang: +\newcommand{\zJahrgang}{ + +} +% Fachbereich: +\newcommand{\zFachbereich}{ + +} +% Studiengang: +\newcommand{\zStudiengang}{ + +} +% Modul: +\newcommand{\zModul}{ + +} +% Betreuer Hochschule: +\newcommand{\zBetreuerHs}{ + +} +% Betreuer Unternehmen: +\newcommand{\zBetreuerUn}{ + +} +% Anzahl der Wörter: +\newcommand{\zAnzahlWoerter}{ + +} \ No newline at end of file diff --git a/misc/bibliography.bib b/misc/bibliography.bib new file mode 100644 index 0000000..e69de29 diff --git a/misc/glossary.tex b/misc/glossary.tex new file mode 100644 index 0000000..e69de29 diff --git a/misc/hyphenation.tex b/misc/hyphenation.tex new file mode 100644 index 0000000..1dbd8d8 --- /dev/null +++ b/misc/hyphenation.tex @@ -0,0 +1,4 @@ +% falsche Default-Silbentrennung überschreiben +\hyphenation{Soft-ware-ent-wick-lung} +\hyphenation{Write} +\hyphenation{Java-Byte-code} \ No newline at end of file