From d84663cf332cae4b79bab4d2b1d8f5e556409d98 Mon Sep 17 00:00:00 2001 From: Felix Prillwitz <36958734+photovoltex@users.noreply.github.com> Date: Tue, 7 Dec 2021 13:09:04 +0100 Subject: [PATCH] Squashed commit of the following: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit 063091aaae9b5cebc9fb999689889f0f6e72bce8 Author: Oliver Kogel Date: Sat Dec 4 22:34:45 2021 +0100 remove update files (#107) commit e02e02ac6d70662275b8e285b541a034246442cf Author: Max Date: Fri Dec 3 13:16:43 2021 +0100 Toggelbare Vorgaben nach Prof. Kusche: "Kuschemode" (#103) * prep work * load config before setup * adjust page numbering in Kusche Mode * document change in Readme * Kusche: move InhaltsVZ to bottom * add abstracts * add section in left footer * try new fig counter ...and clean some comments * fix last commit * also kusche-format tables * reflect changes; deal with some linter warnings * README cleanup * unsolicited font recommendation * fix and speedup * fixed: setnumbering of Anlagen to normal * removed some unneded packages in order to speed up the build process and do housekeeping for more details, see #78 (not all packages suggested by @photovoltex were removed since some are actually needed) * german comments WE ARE A VERY DEUTSCHES REPOSITORY AND ZIS IS WHY WE BRAUCHEN DEUTSCHE KOMMENTARE (see #5) * fixes and documentation * fix missing "Anlagen"-Section * General Enhancements to improve the user's experience Co-authored by: @RvNovae * use pretty fonts as discussed with @photovoltex and @RvNovae I made this a seperate commit to be easily revertable * Apply suggestions from code review Co-authored-by: Oliver Kogel * fix lost fi as pointed out by @photovoltex in #103 * rename kusche and put him in the tests * you know what happened * move Anpassungsfortschritt and transform to documentation * make fancy fonts toggleable * try doing workflow change and move abstract * hopefully fix sed syntax * maybe capturing whitespaces will work? * uhhh i have NO IDEA how this works but let's give it a shot * OK, that's how you DONT * damn typo * i blame regex * \a\a\a\a\a\a\h\h\?\? \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ * dude, who designed that?!? * remove debug flag from sed and put something inside the abstract * Kusche mode: anlagen after toc * hanging indent is in fact working * deactivate kusche mode and abstract by default * rename artifacts * rename fonts readme heading and remove codeblock * move abstract docu to its own heading * fix 2 template comments * Update config.tex Co-authored-by: Oliver Kogel * comment for fancy fonts packages * Einrückungen * refactor to one artifact * apply changes from code review oder so * fix fonts for mathrm * fix cleardoublepage for appendix in Kusche Mode Co-authored-by: Oliver Kogel --- .github/workflows/ci-dhge-latex.yaml | 29 +++++-- README.md | 84 ++++++++++++++----- abstract.tex | 1 + build/components/package.config.tex | 94 +++++++++++++-------- build/components/setup.tex | 68 ++++++++------- build/template.tex | 120 ++++++++++++++++++++------- build/tests/abstract.tex | 7 ++ build/tests/config.tex | 3 + config.tex | 12 ++- main.tex | 3 +- update.bat | 25 ------ update.sh | 25 ------ 12 files changed, 295 insertions(+), 176 deletions(-) create mode 100644 abstract.tex create mode 100644 build/tests/abstract.tex delete mode 100644 update.bat delete mode 100755 update.sh diff --git a/.github/workflows/ci-dhge-latex.yaml b/.github/workflows/ci-dhge-latex.yaml index b5c7614..50d75a9 100644 --- a/.github/workflows/ci-dhge-latex.yaml +++ b/.github/workflows/ci-dhge-latex.yaml @@ -21,23 +21,40 @@ jobs: cp -v build/tests/main.tex main.tex cp -v build/tests/config.tex config.tex cp -v build/tests/anlagen.tex anlagen.tex + cp -v build/tests/abstract.tex abstract.tex cp -v build/tests/img.png assets/img/img.png - name: Rename template.tex - run: mv -v build/template.tex build/example.tex + run: mv -v build/template.tex build/default_example.tex - name: Compile *.tex uses: xu-cheng/latex-action@v2 with: working_directory: build/ - root_file: example.tex + root_file: default_example.tex - - name: Upload artifact + - name: Rename default_example.tex + run: mv -v build/default_example.tex build/kusche_example.tex + + - name: Set Kusche-Mode and Abstract # matches \def\CKUSCHE {0} and replaces it with ...{1}, as well as CHASABSTRACT... + run: | + sed -i 's/\def\\CKUSCHE *{0}/\def\\CKUSCHE {1}/g' config.tex + sed -i 's/\def\\CHASABSTRACT *{0}/\def\\CHASABSTRACT {1}/g' config.tex + + - name: Compile *.tex in Kusche mode + uses: xu-cheng/latex-action@v2 + with: + working_directory: build/ + root_file: kusche_example.tex + + - name: Upload artifacts if: github.event_name == 'push' && github.ref == 'refs/heads/main' uses: actions/upload-artifact@v2 with: name: example - path: ./build/example.pdf + path: | + ./build/default_example.pdf + ./build/kusche_example.pdf release: if: github.event_name == 'push' && github.ref == 'refs/heads/main' @@ -45,7 +62,7 @@ jobs: needs: build_artifact runs-on: ubuntu-latest steps: - - name: Download artifact + - name: Download artifacts uses: actions/download-artifact@v2 with: name: example @@ -67,5 +84,5 @@ jobs: name: dhge-latex-example body: Automatic example release gzip: false - files: example/example.pdf + files: example/default_example.pdf example/kusche_example.pdf allow_override: true diff --git a/README.md b/README.md index 19c0602..3a661aa 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ Inoffizielles LaTeX-Template für Projektarbeiten für Technik-Studiengänge an - ["Variablen"](#variablen) - [Environment (Umgebung)](#environment-umgebung) - [Common Environments](#common-environments) + - [Fonts](#fonts) - [Zitate und Literaturverzeichnis](#zitate-und-literaturverzeichnis) - [Zitat als Fußnote einfügen](#zitat-als-fußnote-einfügen) - [Hochgestelltes Zitat einfügen](#hochgestelltes-zitat-einfügen) @@ -32,6 +33,9 @@ Inoffizielles LaTeX-Template für Projektarbeiten für Technik-Studiengänge an - [Spezielle Abschnitte](#spezielle-abschnitte) - [SubSubSubSection](#subsubsubsection) - [Unicode Alphabete](#unicode-alphabete) +- [Kusche Mode](#kusche-mode) + - [Probleme im Kusche Mode](#probleme-im-kusche-mode) +- [Abstract](#abstract) # Installation @@ -63,13 +67,7 @@ Für Windows Nutzer empfiehlt sich Strawberry Perl, was [hier](https://strawberr ## Setup -* Das Repository downloaden, clonen, oder die Template Funktion nutzen, um ein eigenes Repository zu erstellen. -* Mit der Update-Datei (OS abhängig .bat/.sh) kann ein bestehendes Template aktualisiert werden - -* ### **ACHTUNG** die Update-Datei (entsprechend OS) - * **überschreibt** die Dateien im build Ordner - * eigene Anpassungen sollten über die Dateien im Wurzelverzeichnis des Projektes geschehen - * **löscht** die mit git in Zusammenhang stehenden Ordner und Dateien (.git, .gitignore, .gitkeep) +Das Repository downloaden, clonen, oder die Template Funktion nutzen, um ein eigenes Repository zu erstellen. Das Projekt sollte sich nun bauen lassen. @@ -140,9 +138,18 @@ Ein Codeblock, welcher bestimmte Abläufe vor und nach dem eigenen Code laufen l ### Common Environments -* [itemize/enumerate](https://en.wikibooks.org/wiki/LaTeX/List_Structures) -* [table/tabular](https://en.wikibooks.org/wiki/LaTeX/Tables) -* [figure](https://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions) +- [itemize/enumerate](https://en.wikibooks.org/wiki/LaTeX/List_Structures) +- [table/tabular](https://en.wikibooks.org/wiki/LaTeX/Tables) +- [figure](https://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions) + +## Fonts + +> Die Standardfonts sind zwar ganz in Ordnung, aber ich finde, das geht schöner :^) + +Die vorgestellte Font-Konfiguration basiert auf [diesem Stackoverflow Thread](https://tex.stackexchange.com/a/114166), wo auch eine Vorschau betrachtet werden kann. +**Die Fonts sind standardmäßig im Template aktiv.** + +Wer diese Fonts **nicht** verwenden möchte, kann in ``config.tex`` ``CFANCYFONTS`` auf ``0`` setzen, um den LaTex-Standard wiederherzustellen. # Zitate und Literaturverzeichnis @@ -256,12 +263,12 @@ Beispiel: kann mit bis zu sechs Argumenten aufgerufen werden: 1. **Optional** Float Position, standardmäßig `h` -1. Relativer Bild-Pfad mit oder ohne Dateiendung (relativ zum `./assets/img` Ordner, kann in `template.tex` angepasst werden) -1. `\includegraphics` Optionen (leer lassen für Standard) -1. Bildunterschrift -1. Label für die Figure/Grafik -1. **Optional:** ID -1. **Optional:** "Postnote", beispielsweise um Seitenzahlen anzugeben +2. Relativer Bild-Pfad mit oder ohne Dateiendung (relativ zum `./assets/img` Ordner, kann in `template.tex` angepasst werden) +3. `\includegraphics` Optionen (leer lassen für Standard) +4. Bildunterschrift +5. Label für die Figure/Grafik +6. **Optional:** ID +7. **Optional:** "Postnote", beispielsweise um Seitenzahlen anzugeben Beispiel: @@ -407,13 +414,13 @@ Für mehr Informationen kann die [Acro Package Documentation](https://mirror.phy ## Verwendung -* Anlagen werden in der anlagen.tex hinterlegt. - * hierbei ist zu beachten: - * die Anlage muss sich in einer Umgebung vom Typ `figure` oder `table` befinden - * die Anlage benötigt eine Beschriftung `\caption{}` - * ein Label ist für eine automatische Verknüpfung im Anlagenverzeichnis nicht nötig - * der vorgefertigte Befehl `\dhgefigure`, kann verwendet werden, da dieser beide Anforderungen erfüllt - * siehe Beispiel `build/tests/anlagen.tex` +- Anlagen werden in der anlagen.tex hinterlegt. + - hierbei ist zu beachten: + - die Anlage muss sich in einer Umgebung vom Typ `figure` oder `table` befinden + - die Anlage benötigt eine Beschriftung `\caption{}` + - ein Label ist für eine automatische Verknüpfung im Anlagenverzeichnis nicht nötig + - der vorgefertigte Befehl `\dhgefigure`, kann verwendet werden, da dieser beide Anforderungen erfüllt + - siehe Beispiel `build/tests/anlagen.tex` Beispiel: @@ -467,3 +474,34 @@ Beispiel: Falls chinesische, japanische o.ä. Alphabete verwendet werden müssen (bspw. bedingt durch Autoren), ist die einfachste Methode, das `CJKutf8` Package zu laden. Eine Anleitung finden Sie in [diesem Artikel](https://www.overleaf.com/learn/latex/chinese). + +# Kusche Mode + +Prof. Dr. Kusche stellt an Praxisarbeiten, die er betreut, andere Anforderungen als Prof. Dr. Dorendorf. +Deshalb wurde der ``CKUSCHE``-Schalter in ``config.tex`` eingeführt: diesen auf ``1`` zu setzen überschreibt einige Standardverhalten vom Template: + +- es gibt ein Abstract +- das Abstract wird nicht im Inhaltsverzeichnis geführt +- das Abstract erscheint vor dem Inhaltsverzeichnis +- das Abstract hat keine Kapitelnummer +- Abbildungen, Tabellen, usw. werden zweistufig ``hauptkapitel.lfd`` nummeriert, mit Ausnahme von Anlagen, welche laufend nummeriert werden +- Seitenzahlen erscheinen rechts außen, am Besten unten +- Kapitel steht links im Footer / Header, analog zur Seitenzahl +- Seitenzahlen vor dem Hauptteil sind römisch, ansonsten arabisch +- Serifen-Font 12pt (Times New Roman geht, ist aber "langweilig") +- Literaturverzeichnis erscheint zuletzt +- es gibt kein Anlagenverzeichnis, dafür werden Anlagen im Inhaltsverzeichnis gelistet + +## Probleme im Kusche Mode + +Leider gibt es Anforderungen von Prof. Dr. Kusche, die bislang nicht umgesetzt werden konnten. +Wir freuen uns natürlich sehr über Ideen, Fixes und Anregungen aus der Community. + +- aktuell ist es noch nicht möglich, Anlagen mit Buchstaben zu nummerieren + - das ist glücklicherweise keine zwingende Anforderung + +# Abstract + +Das Template kann optional ein Abstract vor dem Inhaltsverzeichnis generieren. + +Um das zu aktivieren, muss in der ``config.tex`` der ``CHASABSTRACT``-Schalter auf ``1`` gesetzt werden. diff --git a/abstract.tex b/abstract.tex new file mode 100644 index 0000000..e9dec92 --- /dev/null +++ b/abstract.tex @@ -0,0 +1 @@ +% hier können Sie Ihr Abstract schreiben diff --git a/build/components/package.config.tex b/build/components/package.config.tex index ac9730c..8bafc0e 100644 --- a/build/components/package.config.tex +++ b/build/components/package.config.tex @@ -1,36 +1,58 @@ -\usepackage [a4paper, - inner = 3cm, - outer = 2.5cm, - top = 2.5cm, - bottom = 2.5cm]{geometry} -\usepackage [utf8]{inputenc} -\usepackage {setspace} -\usepackage {titletoc} -\usepackage [hyperfootnotes = false, - hidelinks]{hyperref} -\usepackage {amssymb} -\usepackage {fancyhdr} -\usepackage [version = 3]{acro} -\usepackage {enumitem} -\usepackage [T1]{fontenc} -\usepackage [style=german]{csquotes} -\usepackage [backend=biber, - style = alphabetic, - citestyle = components/alphabetic-ibid, - giveninits = true, - ibidtracker = true, - minbibnames = 3, - minalphanames= 3]{biblatex} -\usepackage [ngerman]{babel} -\usepackage {csquotes,xpatch} -\usepackage {footmisc} -\usepackage {graphicx} -\usepackage {caption} -\usepackage {ifthen} -\usepackage {xparse} -\usepackage {float} -\usepackage {etoolbox} -\usepackage {tocloft} -\usepackage {icomma} -\usepackage {lmodern} -\usepackage {totcount} +\usepackage [a4paper, + inner = 3cm, + outer = 2cm, + top = 2.5cm, + bottom = 2.5cm]{geometry} +\usepackage {setspace} +\usepackage [hyperfootnotes = false, + hidelinks]{hyperref} +\usepackage {amssymb} +\usepackage {fancyhdr} +\usepackage [version = 3]{acro} +\usepackage {enumitem} +\usepackage [style=german]{csquotes} +\usepackage [backend=biber, + style = alphabetic, + citestyle = components/alphabetic-ibid, + giveninits = true, + ibidtracker = true, + minbibnames = 3, + minalphanames= 3]{biblatex} +\usepackage [ngerman]{babel} +\usepackage {footmisc} +\usepackage {graphicx} +\usepackage {caption} +\usepackage {xparse} +\usepackage {float} +\usepackage {tocloft} +\usepackage {lmodern} +\usepackage {totcount} +\usepackage {chngcntr} +\usepackage {icomma} % korrekte Darstellung von Kommas in Formeln + +% schönere Fonts, aber optional. Zum deaktivieren CFANCYFONTS in config.tex auf 0 setzen +\if\CFANCYFONTS 1 +\usepackage [scaled=0.88]{beraserif} % Bera Serifen Font +\usepackage [scaled=0.85]{berasans} % Bera Sans Font +\usepackage [scaled=0.84]{beramono} % Bera Mono Font +\usepackage [T1]{fontenc} +\usepackage {mathpazo} % Palatino Font +\usepackage [T1,small,euler-digits]{eulervm} % Euler Font +\DeclareMathAlphabet{\mathrm}{OT1}{cmr}{m}{n} % mathrm soll weiter Computer Modern als Font nutzen, siehe #103 +\DeclareMathAlphabet{\mathit}{OT1}{cmr}{m}{it} +\usepackage {listings} +\lstset{ + basicstyle=\ttfamily, + breaklines=true +} +\fi + +% VERALTETE PAKETE +% nicht mehr benötigt, aber für Rückwärtskompatibilität noch enthalten +% einkommentieren, wenn nach einem Template-Update Probleme auftauchen + +%\usepackage [utf8]{inputenc} +%\usepackage {titletoc} +%\usepackage {csquotes,xpatch} +%\usepackage {ifthen} +%\usepackage {etoolbox} diff --git a/build/components/setup.tex b/build/components/setup.tex index 2d4cf75..cf84ff1 100644 --- a/build/components/setup.tex +++ b/build/components/setup.tex @@ -3,7 +3,7 @@ \widowpenalty10000 \clubpenalty10000 -% ToC SETUP +% INHALTSVERZEICHNIS SETUP \cftsetindents {section}{0em}{4em} \cftsetindents {subsection}{0em}{4em} \cftsetindents {subsubsection}{0em}{4em} @@ -11,11 +11,18 @@ \setcounter {tocdepth}{3} \setcounter {secnumdepth}{5} -% ABBILDUNGEN UND TABELLEN SETUP +% ABBILDUNGEN UND TABELLEN SETUP + +% im Kusche-Mode sollen Abbildungen nach kapitel.lfd nummeriert werden +\if\CKUSCHE 1 + \counterwithin{figure}{section} + \counterwithin{table}{section} +\fi + \renewcommand {\listfigurename}{Abbildungsverzeichnis} \renewcommand {\listtablename}{Tabellenverzeichnis} -\addto{\captionsngerman}{% +\addto{\captionsngerman}{ \renewcommand*{\figurename}{Abb.} \renewcommand*{\tablename}{Tab.} } @@ -35,7 +42,7 @@ \makeatother % CAPTION SETUP -\captionsetup{% +\captionsetup{ font=small, labelfont=bf, singlelinecheck=false, @@ -47,21 +54,28 @@ % HEADERS & FOOTERS \pagestyle {fancyplain} -\fancyfoot {} \fancyhf {} \renewcommand {\headrulewidth}{0pt} \renewcommand {\footrulewidth}{0pt} -\fancyhead [c]{\thepage} \setlength {\headheight}{15pt} +% Im Kusche-Mode ist die Seitenzahl unten rechts, ansonsten oben mittig +\if\CKUSCHE 0 + \fancyhead [c]{\thepage} + \fancyfoot {} +\else + \fancyhead {} + \fancyfoot [R]{\thepage} + \fancyfoot [L]{\leftmark} +\fi + % PARAGRAPH SETUP \newcommand{\dhgeparagraph}[1]{\paragraph{#1}\mbox{}\\\vspace{-1.5em}} % FOOTNOTE \renewcommand{\footnotelayout}{\hspace{0.5em}} -% AUTISTIC CONDITIONALS -% This hides ToF and ToT if they are empty +% Conditionals um AbbildungsVZ und TabellenVZ nur zu rendern, wenn sie nicht leer sind \newtotcounter{figCount} \newtotcounter{tabCount} \let\oldTabTOC=\table @@ -71,39 +85,36 @@ \newcommand{\conditionalLoF}{ \ifnum\totvalue{figCount}>0 - \addcontentsline{toc}{section}{\listfigurename} - \listoffigures + \addcontentsline{toc}{section}{\listfigurename} + \listoffigures \cleardoublepage \fi } \newcommand{\conditionalLoT}{ \ifnum\totvalue{tabCount}>0 - \addcontentsline{toc}{section}{\listtablename} - \listoftables + \addcontentsline{toc}{section}{\listtablename} + \listoftables \cleardoublepage \fi } -% COUNTER (So we can keep counting in Roman after switching to Arabic) +% COUNTER (Zweck: in römischen Zahlen weiterzählen, nachdem der Counter von arabisch zurückgeändert wird) \newcounter{savepage} -% new section new page +% Sections sollen mit Seitenumbruch beginnen \let\stdsection\section \renewcommand\section{\newpage\stdsection} -% override \mathrm{} -> add standard spacing +% Überschreiben von \mathrm{} -> einheitlichen Abstand einfügen \let\oldMathrm\mathrm \renewcommand{\mathrm}[1]{\,\oldMathrm{#1}} -% input path is the root-folder -% only after \input{setup.tex} so all new files in the root will be integrated +% Template-Root-Verzeichnis ist das neue Arbeitsverzeichnis +% muss nach \input{setup.tex} aufgerufen werden, damit alle Template-Root-Dateien integriert werden \makeatletter \def\input@path{{../}{path1/}} \makeatother - - - % definiert eine neue Liste für das Anlagenverzeichnis \newcommand{\listexamplename}{\vspace*{-20pt}} \newlistof{anlagen}{alt}{\listexamplename} % TODO das ist defintiv kein example mehr lol @@ -124,8 +135,8 @@ \setcounter{anlagen}{\type} % only here because the \type-counter is one lower (later it will count up like normal) - % -> reason... it's called to early but can't called later because of dependencies other types LUL - % works only in the last section of the paper so it should be fine :) + % -> reason... it's called too early but can't called later because of dependencies other types LUL + % works only in the last section of the paper so it should be fine :) \refstepcounter{anlagen} \addcontentsline{alt}{anlagen} @@ -134,7 +145,7 @@ \newtotcounter{anlagenentries} \newcommand{\renewFigTabCap} { - % caption ruft jetzt \ATA{} auf welches das jeweilige Objekt zum "Anlageverzeichnis" hinzufügt + % caption ruft jetzt \ATA{} auf, welches das jeweilige Objekt zum "Anlageverzeichnis" hinzufügt \let\oldCap=\caption \renewcommand{\caption}[1]{\ATA{##1}\oldCap{##1}} @@ -146,18 +157,19 @@ \renewcommand{\figure}{\def\typeOfCap{fig}\stepcounter{anlagenentries}\oldFig} } -% define the old CAUTHOR variable + +% die veraltete CAUTHOR Variable wird automatisch befüllt \def\CAUTHOR{\CAUTHORVOR\ \CAUTHORNACH} \newcounter{totalbibentries} \newcommand*{\listcounted}{} \makeatletter -\AtDataInput{% +\AtDataInput{ \xifinlist{\abx@field@entrykey}\listcounted {} - {\stepcounter{totalbibentries}% - \listxadd\listcounted{\abx@field@entrykey}}% + {\stepcounter{totalbibentries} + \listxadd\listcounted{\abx@field@entrykey}} } \makeatother @@ -169,7 +181,7 @@ link-only-first = false } -% Abkürzungsverzeichnis redefine of \UseAcroTemplate, which is the base of \ac +% Abkürzungsverzeichnis überschreibt \UseAcroTemplate für \ac % New Counter to count used acronyms: \newtotcounter{acro_num} \def\oldUseAcroTemplate{} \let\oldUseAcroTemplate=\UseAcroTemplate diff --git a/build/template.tex b/build/template.tex index 691bd33..3e55017 100644 --- a/build/template.tex +++ b/build/template.tex @@ -1,57 +1,70 @@ % default latex begin \documentclass [a4paper, 12pt]{article} -% preamble input +% Präambel laden \input{../preamble.tex} -% management for all packages -\input{components/package.config.tex} - -% fügt die configuration ein um innerhalb des setups, deckblattes und den commands verwendbar zu sein +% Nutzerkonfiguration laden \input{../config.tex} -% setups and commands +% verwendete Pakete laden und konfigurieren +\input{components/package.config.tex} + +% Setup von Commands und Dokument \input{components/commands.tex} \input{components/setup.tex} -% -> default dir set to "project root directory" (latex default root dir is the dir of the start file -> build/) +% ab hier ist das Arbeitsverzeichnis das root Verzeichnis (latex default root dir is the dir of the start file -> build/) % Abkürzungen müssen früher eingefügt werden da sie nicht als Text sondern als Variablen definiert werden \input{abk.tex} % PDF Metadata \hypersetup{ - pdftitle={\CTITLE}, - pdfauthor={\CAUTHOR} + pdftitle={\CTITLE}, + pdfauthor={\CAUTHOR} } \addbibresource{../literatur.bib} \graphicspath{{../assets/img/}} + +% Hier beginnt der Spaß % setzt variablen für den Titel -> \maketitle in deckblatt.tex \title{{\LARGE \textbf{\CTITLE}}} \author{} \date{} + % eigentliche Struktur des Templates \begin{document} + % lade Deckblatt ohne Nummerierung \pagenumbering{gobble} - \input{build/components/deckblatt.tex} - + % Lade Sperrvermerk abhängig von der Einstellung in config.tex \if\CSPERRVERMERK 1 \input{build/components/sperrvermerk.tex} \fi - + % Lade Thesenblatt abhängig von der Einstellung in config.tex \if\CARBEIT B \input{../bachelor.tex} \fi + % Lade Abstract abhängig von der Einstellung in config.tex + \if\CHASABSTRACT 1 + \section*{Abstract} + \input{../abstract.tex} + \newpage % Sections haben hier noch keinen automatischen Seitenumbruch + \fi % INHALTSVERZEICHNIS \pagenumbering{Roman} \setcounter{page}{1} \tableofcontents{\fancyfoot{}} + \if\CKUSCHE 1 % im Kusche Mode erscheinen die Anlagen im InhaltsVZ + \phantomsection + \listofanlagen + \fi \cleardoublepage % ABBILDUNGSVERZEICHNIS @@ -63,46 +76,91 @@ \conditionalLoT % ABKÜRZUNGSVERZEICHNIS - % only if \ac or similar used + % wird nur dann generiert, wenn mindestens ein mal \ac oder ein verwandter Befehl aufgerufen wurde und damit nicht leer ist \ifnum\totvalue{acro_num}>0 \printacronyms \addcontentsline{toc}{section}{Abkürzungsverzeichnis} \cleardoublepage - \fi - + \fi - \setcounter{savepage}{\arabic{page}} + % TABELLENVERZEICHNIS + \phantomsection + \conditionalLoT - % MAIN CONTENT - \pagenumbering {arabic} - \input{main.tex} - \cleardoublepage + % ABKÜRZUNGSVERZEICHNIS + % only if \ac or similar used + \ifnum\totvalue{acro_num}>0 + \printacronyms + \addcontentsline{toc}{section}{Abkürzungsverzeichnis} + \cleardoublepage + \fi % LITERATURVERZEICHNIS % TODO Formatierung - \pagenumbering{Roman} \setcounter{page}{\thesavepage} - % wenn keine literatur verwendet (zitiert) wird, erstelle kein literaturverzeichnis - \ifnum\thetotalbibentries>0 - \printbibliography[title=Literaturverzeichnis] - \addcontentsline{toc}{section}{Literaturverzeichnis} - \cleardoublepage + % Im Kusche-Mode wird arabische Nummerierung beibehalten + \if\CKUSCHE 0 + \pagenumbering {Roman} \setcounter{page}{\thesavepage} + \fi + + % wenn keine Literatur verwendet (zitiert) wird, erstelle kein Literaturverzeichnis + % im Kusche-Mode wird das LiteraturVZ später generiert + \if\CKUSCHE 0 + \ifnum\thetotalbibentries>0 + \printbibliography[title=Literaturverzeichnis] + \addcontentsline{toc}{section}{Literaturverzeichnis} + \cleardoublepage + \fi \fi % TODO %ANLAGENVERZEICHNIS UND ANLAGEN + % erzeugt ein Anlagenkapitel und fügt es zum InhaltsVZ hinzu, insofern Anlagen existieren. + + % \listofanlagen generiert ein Anlagenverzeichnis + % im Kusche-Modus wird kein Anlagenverzeichnis erzeugt, aber Anlagen im Inhaltsverzeichnis geführt \ifnum\totvalue{anlagenentries}>0 \section*{Anlagen} - \begin{spacing}{2} - \listofanlagen - \end{spacing} \addcontentsline{toc}{section}{Anlagen} - \cleardoublepage + \if\CKUSCHE 0 + \begin{spacing}{2} + \listofanlagen + \end{spacing} + \cleardoublepage + \fi + \fi + + \if\CKUSCHE 1 + % die kapitel.lfd-Nummerierung wird im Kusche Mode ab hier wieder deaktiviert, + % da Anhänge mit Buchstaben nummeriert werden sollen (TODO: das funktioniert noch nicht, help wanted) + \counterwithout{figure}{section} + \counterwithout{table}{section} \fi - \renewFigTabCap % change the behavior from the env figure and table and the command \caption{} + + \renewFigTabCap % Verhalten von Figure und Table Environments sowie \caption wird verändert (TODO: wie genau? LG, ZPM) \input{anlagen.tex} \cleardoublepage + % Im Kusche-Mode kommt das LiteraturVZ zuletzt + \if\CKUSCHE 1 + \ifnum\thetotalbibentries>0 + \printbibliography[title=Literaturverzeichnis] + \addcontentsline{toc}{section}{Literaturverzeichnis} + \cleardoublepage + \fi + \fi + + % EHRENWÖRTLICHE ERKLÄRUNG + \pagestyle{empty} + \pagenumbering{gobble} + \section*{Ehrenwörtliche Erklärung} + \addcontentsline{toc}{section}{Ehrenwörtliche Erklärung} + \input{build/components/ehrenwort.tex} + + \if\CARBEIT B + \input{components/freigabe.tex} + \fi + % EHRENWÖRTLICHE ERKLÄRUNG \pagestyle{empty} \pagenumbering{gobble} diff --git a/build/tests/abstract.tex b/build/tests/abstract.tex new file mode 100644 index 0000000..4d67288 --- /dev/null +++ b/build/tests/abstract.tex @@ -0,0 +1,7 @@ +Franz jagt im komplett verwahrlosten Taxi quer durch Bayern. +\\ +Falsches Üben von Xylophonmusik quält jeden größeren Zwerg. +\\ +Es ist Mittwoch, meine Kerle. +\\ +Lorem ipsum dolor sit amet. diff --git a/build/tests/config.tex b/build/tests/config.tex index 25c6bb9..5cd178d 100644 --- a/build/tests/config.tex +++ b/build/tests/config.tex @@ -13,3 +13,6 @@ \def\CBETREUER {Dr. Eng. Tester} \def\CSPERRVERMERK {1} \def\CABKL {DHGE} +\def\CKUSCHE {0} +\def\CHASABSTRACT {0} +\def\CFANCYFONTS {1} diff --git a/config.tex b/config.tex index 8bf51d1..bb2b48c 100644 --- a/config.tex +++ b/config.tex @@ -1,5 +1,5 @@ % Projektarbeit Nr. (1 bis 4) oder Bachelorarbeit (B) -\def\CARBEIT {1} +\def\CARBEIT {1} % Title der Arbeit \def\CTITLE {THEMA} @@ -38,3 +38,13 @@ % längste Abkürzung in der abk.tex \def\CABKL {DHGE} + +% verwende Richtlinien nach Prof. Dr. Kusche +% zum Aktivieren auf 1 setzen +\def\CKUSCHE {0} + +% 1 aktiviert das Einbinden des Abstracts +\def\CHASABSTRACT {0} + +% 1 aktiviert den Fontvorschlag, 0 deaktiviert ihn +\def\CFANCYFONTS {1} diff --git a/main.tex b/main.tex index c3d9520..22ad618 100644 --- a/main.tex +++ b/main.tex @@ -1 +1,2 @@ -% für ein tex Beispiel siehe `build/tests/` +% hier können Sie Ihre Arbeit schreiben. +% für ein Beispiel siehe `build/tests/` diff --git a/update.bat b/update.bat deleted file mode 100644 index 24699a0..0000000 --- a/update.bat +++ /dev/null @@ -1,25 +0,0 @@ -rem Update the build folder -cd .\build -set "GIT_DHGE_LATEX_HOME=https://raw.githubusercontent.com/RvNovae/dhge-latex/main/build" -curl %GIT_DHGE_LATEX_HOME%/template.tex -o template.tex -mkdir components -curl %GIT_DHGE_LATEX_HOME%/components/com.tex -o components/com.tex -curl %GIT_DHGE_LATEX_HOME%/components/deckblatt.tex -o components/deckblatt.tex -curl %GIT_DHGE_LATEX_HOME%/components/ehrenwort.tex -o components/ehrenwort.tex -curl %GIT_DHGE_LATEX_HOME%/components/package.config.tex -o components/package.config.tex -curl %GIT_DHGE_LATEX_HOME%/components/setup.tex -o components/setup.tex -curl %GIT_DHGE_LATEX_HOME%/components/alphabetic-ibid.cbx -o components/alphabetic-ibid.cbx -curl %GIT_DHGE_LATEX_HOME%/components/freigabe.tex -o components/freigabe.tex -curl %GIT_DHGE_LATEX_HOME%/bachelor.tex -o bachelor.tex - -rem Delete unneccesary files and folders -rd /q /s tests -cd .. -del -f .gitignore -del -f .travis.yml -rd /q /s .git -cd assets -cd img -del -f .gitkeep -cd .. -cd .. diff --git a/update.sh b/update.sh deleted file mode 100755 index 789c4da..0000000 --- a/update.sh +++ /dev/null @@ -1,25 +0,0 @@ -echo Update the build folder -cd build/ -GIT_DHGE_LATEX_HOME="https://raw.githubusercontent.com/RvNovae/dhge-latex/main/build" -curl ${GIT_DHGE_LATEX_HOME}/template.tex -o template.tex -mkdir components -curl ${GIT_DHGE_LATEX_HOME}/components/com.tex -o components/com.tex -curl ${GIT_DHGE_LATEX_HOME}/components/deckblatt.tex -o components/deckblatt.tex -curl ${GIT_DHGE_LATEX_HOME}/components/ehrenwort.tex -o components/ehrenwort.tex -curl ${GIT_DHGE_LATEX_HOME}/components/package.config.tex -o components/package.config.tex -curl ${GIT_DHGE_LATEX_HOME}/components/setup.tex -o components/setup.tex -curl ${GIT_DHGE_LATEX_HOME}/components/alphabetic-ibid.cbx -o components/alphabetic-ibid.cbx -curl $GIT_DHGE_LATEX_HOME$/components/freigabe.tex -o components/freigabe.tex -curl $GIT_DHGE_LATEX_HOME$/bachelor.tex -o bachelor.tex - -echo Delete unneccesary files and folders -rm -rf tests -cd .. -rm -f .gitignore -rm -f .travis.yml -rm -rf .git -cd assets/ -cd img/ -rm -f .gitkeep -cd .. -cd ..