Compare commits

...

44 Commits

Author SHA1 Message Date
Günther Hutter
3c63de6edb Added info about docker and github workflow 2024-12-21 15:34:34 +01:00
Günther Hutter
8a9ffa43ac Fixed names of the container 2024-12-21 15:03:55 +01:00
Günther Hutter
105c21562f Added Docker support 2024-12-21 15:02:27 +01:00
Günther Hutter
b2ae73e538 Updated Logo and added a ithub workflow to build the image as workflow 2024-12-21 14:19:42 +01:00
Günther Hutter
51251c0bae Changed filenames to have no underscores. Updated makefile to wrtie a warning if there are underscores in filenames which are used during the build process. Closes #36 2024-04-17 23:03:28 +02:00
Günther Hutter
f6b7290893 Better namings in templates 2024-04-17 22:50:39 +02:00
Günther Hutter
c2d6bb0c10 Weitere Formulare und Vorlagen die im Laufe einer DA gebraucht werden eingecheckt 2024-04-17 22:45:08 +02:00
Günther Hutter
5b095573c0 Beispieldateien für DA Dokumentation als PDF hochgeladen
Diese sollten in der DA durch ein PDF des Formulars under doc ersetzt werden
2024-04-17 22:39:37 +02:00
Günther Hutter
4746e4ee0a Info wg. DA Vereinbarungen in yaml übernommen 2024-04-17 22:35:01 +02:00
Günther Hutter
1befba5364 Englische DA Doku eingecheckt 2024-04-17 22:32:07 +02:00
Günther Hutter
a2d4ccbb04 KI tools section corrected 2024-03-13 15:06:58 +01:00
Günther Hutter
211ade65d6 Merge pull request 'Added mechanism to enable dart (and all other language with definitions) to be used in the template' (#35) from feat-dart into master
Reviewed-on: Hg/HTLLE-DA-Vorlage#35
2024-02-29 18:11:36 +01:00
Günther Hutter
fb2738332d Added mechanism to enable dart (and all other language with definitions) to be used in the template 2024-02-29 18:10:28 +01:00
Günther Hutter
aeebc839c4 Merge pull request 'Added explaination for images' (#34) from feat-imageexplaination into master
Reviewed-on: Hg/HTLLE-DA-Vorlage#34
2024-02-29 12:01:05 +01:00
Günther Hutter
45a8e86bb7 Added explaination for images 2024-02-29 11:59:01 +01:00
Günther Hutter
47ee7bb2f3 Removed unnecessary sections and added info about metadata.yaml 2024-02-29 11:38:49 +01:00
Günther Hutter
a74be94c65 Added AI specific things. Solves #28 and #29 2024-02-29 11:22:53 +01:00
Günther Hutter
5689034008 Added clean option that removes the staging dir and the output file 2024-02-29 08:28:52 +01:00
Günther Hutter
1ee2fb447e Added Information about images, and removed section about the build-service
Solves #31
2024-02-29 07:51:49 +01:00
Günther Hutter
7a369c4d2d Merge pull request 'Added template files for better administration' (#30) from feat-AddTemplates into master
Reviewed-on: Hg/HTLLE-DA-Vorlage#30
2024-01-11 16:20:48 +01:00
Günther Hutter
9875bdf1ef Added template files for better administration 2024-01-11 16:15:34 +01:00
Günther Hutter
5bbfca1679 Merge pull request '„README.md“ ändern' (#24) from hg-patch-readme into master
Reviewed-on: Hg/HTLLE-DA-Vorlage#24
2023-12-13 13:40:09 +01:00
Günther Hutter
f3fbc2cb0d Merge pull request 'Formatierung' (#25) from hg-patch-1 into master
Reviewed-on: Hg/HTLLE-DA-Vorlage#25
2023-12-13 13:39:56 +01:00
Günther Hutter
69249a22d4 Merge pull request 'Added AI information' (#26) from hg-patch-3 into master
Reviewed-on: Hg/HTLLE-DA-Vorlage#26
2023-12-13 13:39:45 +01:00
Günther Hutter
4583cd23d3 Merge pull request 'KI Absatz eingefügt' (#27) from hg-patch-2 into master
Reviewed-on: Hg/HTLLE-DA-Vorlage#27
2023-12-13 13:39:33 +01:00
Günther Hutter
9f4770bff8 Added AI information 2023-12-13 13:37:02 +01:00
Günther Hutter
32a7b8fa3d KI Absatz eingefügt 2023-12-13 13:33:13 +01:00
Günther Hutter
8130c640e8 Merge pull request 'master' (#23) from 181wita07/HTLLE-DA-Vorlage:master into master
Added information how to work with VS-Code
2023-03-01 08:59:21 +01:00
c57499ea1b Added bibliography for Pandoc Citer 2023-02-26 11:16:17 +01:00
gottsi
40aeb4a031 moved .vscode into example 2023-02-25 23:54:23 +01:00
gottsi
9baf8c012c Edited the readme to reflect .vscode changes 2023-02-25 23:53:59 +01:00
gottsi
8463d2c46b Added .vscode folder:
* Snippets for bibtex
 * Recommended  extensions
 * Snippets for LaTeX extended markdown
 * General settings for cSpell, todoHighlights and pandocCiter
 * Tasks for building of thesis
2023-02-25 22:53:59 +01:00
Günther Hutter
61257352d6 Merge pull request 'SDGs der United Nations hinzugefügt' (#22) from hg-patch-sdg into master
Reviewed-on: Hg/HTLLE-DA-Vorlage#22
2023-02-05 09:58:37 +01:00
Günther Hutter
466d5a7dc6 SDGs der United Nations hinzugefügt 2023-02-05 09:57:01 +01:00
Günther Hutter
a5b402397d Merge pull request 'Typo in translation' (#21) from hg-patch-typo-translation-en into master
Reviewed-on: Hg/HTLLE-DA-Vorlage#21
2022-04-01 16:07:11 +02:00
Günther Hutter
ca1a7aab74 Typo in translation 2022-04-01 16:06:19 +02:00
Günther Hutter
cd926937e4 Merge pull request 'Better formatting for printing with doublepages.' (#20) from hg-patch-doublepages into master
Reviewed-on: Hg/HTLLE-DA-Vorlage#20
2022-03-29 12:06:08 +02:00
Günther Hutter
1d8a60920f Better formatting for printing with doublepages.
Fixes issue #19
2022-03-29 11:11:20 +02:00
Günther Hutter
5d1b4b39b6 „README.md“ ändern
Info wegen Appendix Benennung
2022-03-28 15:07:25 +02:00
Günther Hutter
98af8bb82b Merge pull request 'Pull: hg-feature-morestyles' (#18) from hg-feature-morestyles into master
Reviewed-on: Hg/HTLLE-DA-Vorlage#18
2022-03-16 12:12:59 +01:00
Günther Hutter
7a4b5ebe74 Example for new Languages 2022-03-15 17:25:21 +01:00
Günther Hutter
717f4b43e9 Added vba as code style 2022-03-15 17:19:57 +01:00
Günther Hutter
354eb3e106 Better readability 2022-03-15 17:19:30 +01:00
Günther Hutter
eeb80384fd Added style definition for kotlin 2022-03-15 17:08:43 +01:00
40 changed files with 667 additions and 165 deletions

View File

@ -15,20 +15,20 @@ SPELLERRORFILE = $(OUTPUTDIR)/spellcheck-results.txt
SHELL := /bin/bash
help:
@echo ' '
@echo 'Makefile für Pandoc Markdown Vorlage '
@echo 'für Diplomarbeiten der HTL Leoben '
@echo ' '
@echo 'Autor: Günther Hutter, Clemens Lauermann und Andreas Pötscher '
@echo ' basierend auf der Arbeit von Michael Heinemann '
@echo ' sowie auf dem Template der HTL Rennweg3 '
@echo ' '
@echo 'Änderungswünsche werden ausschließlich via issue und pullrequest '
@echo 'Usage: '
@echo ' make pdf generate a PDF file '
@echo ' make spellcheck checks the output for misspelled words '
@echo ' '
@echo ' '
@echo ' '
@echo 'Makefile für Pandoc Markdown Vorlage '
@echo 'für Diplomarbeiten der HTL Leoben '
@echo ' '
@echo 'Autor: Günther Hutter, Clemens Lauermann und Andreas Pötscher '
@echo ' basierend auf der Arbeit von Michael Heinemann '
@echo ' sowie auf dem Template der HTL Rennweg3 '
@echo ' '
@echo 'Änderungswünsche werden ausschließlich via issue und pullrequest '
@echo 'Usage: '
@echo ' make pdf generate a PDF file '
@echo ' make spellcheck checks the output for misspelled words'
@echo ' '
@echo '
# Helper Targets
@ -47,9 +47,21 @@ build-stage:
@echo "Merging style files into the staging directory"
@rsync -av $(STYLEDIR)/ $(STAGINGDIR)/style --quiet
compile-pdf:
# Prüfen auf Dateien mit Unterstrichen im Namen
@echo "Checking for files containing underscores in $(STAGINGDIR)..."
@files=$$(find $(STAGINGDIR) -type f -name '*_*'); \
if [ -n "$$files" ]; then \
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"; \
echo "WARNING: Found files with underscores:"; \
echo " -> $$files"; \
echo "These files are very likely to cause issues during the build process"; \
echo "Remove or rename them to build the thesis safely"; \
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"; \
fi
compile-output:
# Bauen der Arbeit aus dem staging verzeichnis heraus
@echo "Compiling the thesis into the pdf: $(OUTPUTFILE)"
@echo "Compiling the thesis into: $(OUTPUTFILE)"
# Builden mit pandoc. Als Basisverzeichnis springen wir ins staging.
# Damit sollten alle relativen Links stimmen
@ -96,7 +108,16 @@ remove-stage:
# Targets which are intended to be used directly
spellcheck: build-stage do-spellcheck remove-stage
pdf: build-stage compile-pdf remove-stage
# Erzeugen einer PDF Datei
pdf: build-stage compile-output remove-stage
# Ziel für die Erzeugung einer .tex Datei
tex: OUTPUTFILE := $(OUTPUTFILE).tex
tex: build-stage compile-output remove-stage
clean:
# Remove the staging directory
@rm -rf $(STAGINGDIR)
# Special Targets
.PHONY: help pdf clean

200
README.md
View File

@ -27,7 +27,7 @@ Wenn der HTL eigene GIT-Server verwendet wird, brauchen Sie die Tools nicht unbe
## Windows
Wenn man Windows 10 als primäres Betriebssystem verwendet hat man zwei Möglichkeiten um zu einer Linux Umgebung zu kommen:
Wenn man Windows 10 oder Windows 11 als primäres Betriebssystem verwendet hat man zwei Möglichkeiten um zu einer Linux Umgebung zu kommen:
### VM installieren
Installation einer virtuellen Maschine auf der ein Linux läuft (z.B: mit [HyperV](https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v), [VmWare](https://www.vmware.com/at/products/workstation-player.html), [VirtualBox](https://www.virtualbox.org/) oder einem anderen Virtualisierer) -> Dann erhält man eine VM welche man zum bearbeiten der VM extra starten muss
@ -55,36 +55,15 @@ $ sudo apt-get update
$ sudo apt-get install git build-essential make-guile texlive-full pandoc pandoc-citeproc tree rsync hunspell hunspell-de-at
```
Bei einer englischen Diplomarbeit muss außerdem entweder das Paket `hunspell-en-gb` oder `hunspell-en-us` installiert werden.
## Alternative platformen
Sie können die Diplomarbeit auch mit Hilfe von Docker oder Github WOrkflow bauen. Nähere Details dazu finden Sie im Verzeichnis `tools`.
# Grundlegende Schritte
## Automatisches erstellen einer Diplomarbeit
Um ein privates GIT-Repository mit der HTLLE-DA-Vorlage anzulegen oder diese zu einem bereits bestehenden GIT-Repository in einem Unterverzeichnis hinzuzufügen, können Sie folgenden [Link](https://itsp.htl-leoben.at/ci/job/HTLLE-Diplomarbeit%20Erstelle%20Repository%20mit%20Template/build?delay=0sec) verwenden (ggf. mit LDAP Benutzername und Passwort z.B.: "1911wit00" anmelden).
Das Repository muss dem eingeloggten Benutzer gehören bzw. wird es für diesen erstellt.
- `REPOSITORY_NAME` setzen Sie bitte den Namen Ihres bereits bestehenden oder neuen Repositories (z.B.: "Diplomarbeit")
- `GIT_PATH` hier können Sie ein Unterverzeichnis in GIT für Ihre Arbeit angeben
Sie bekommen anschließend eine E-Mail an Ihre Office365 Adresse mit weiteren Informationen und Links zu Ihrem Repository.
Fahren Sie bitte mit dem [Befüllen der speziellen Dateien](#befüllen-der-speziellen-dateien) fort.
### Build on Commit
Möchten Sie Ihre Diplomarbeit bei jedem GIT-Commit erstellen und an die - in der `metadata.yaml` genannten - E-Mail-Adressen zuschicken lassen, dann befolgen Sie diese Schritte:
- E-Mail an <hg@htl-leoben.at> oder <lcle@htl-leoben.at>
- Betreff: [Jenkins] Add Build-Job DA
- Body:
- Name: [Kürzel von Besitzer]-DA-remote-trigger (z.B.: *199wit99-DA-remote-trigger*)
- Repository: z.B.: *https://itsp.htl-leoben.at/git/199wit99/test_da.git*
- GIT Path: z.B.: *./text*
- GIT Branch: z.B.: *\*/master*
- Webhook in Gitea
- Einen **Gogs**-Webhook zum Repository hinzufügen (*Repository -> Settings -> Webhooks -> Add Webhook*)
- Target URL: https://itsp.htl-leoben.at/ci/gogs-webhook/?job=\[job-name\] (z.B.: *https://itsp.htl-leoben.at/ci/gogs-webhook/?job=199wit99-DA-remote-trigger*)
- Secret: **secureStudent**
## Manuelles erstellen einer Diplomarbeit
Wenn Sie mit einer neuen Diplomarbeit beginnen, dann gehen Sie am besten wie folgt vor:
@ -166,6 +145,12 @@ $ tree ~/Diplomarbeit
├── literatur.bib <= Das ist das Literaturverzeichnis
├── metadata.yaml <= Grundlegende Informationen zur Diplomarbeit
├── .vscode <= Einstellungen und hilfreiche Dateien für VS Code
│ ├── bibtex.code-snippets
│ ├── extensions.json
│ ├── markdown.code-snippets
│ ├── settings.json
│ └── tasks.json
├── img <= Hier kommen alle Ihre Bilder rein
│   ├── graph.png
│   └── screenshot_eclipse.png
@ -195,6 +180,7 @@ Hier nochmals eine Erklärung der verschiedenen Dateien:
* Achten Sie darauf dass sie dort nur `*.jpg` und `*.png` Dateien ablegen
* Groß und Kleinschreibung müssen beachtet werden. So werden unter Linux die Datein `Hallo.jpg` und `hallo.jpg` als zwei unterschiedliche Dateien angesehen. Unter Windows hingegen nicht.
* Das `/pdfs` Verzeichnis beinhaltet Dateien welche im Appendix (auszugsweise oder ganz) eingefügt werden. Damit dies geschieht müssen sie aber im `metadata.yaml` korrekt referenziert werden. Es ist keine Schande hier viele Dateien abzulegen - sofern diese einen Bezug zur Diplomarbeit haben.
* Das Verzeichnisse `.vscode` enthält Einstellungen, Snippets und eine Liste von empfohlenen Erweiterungen für VS Code. VS Code sollte selbständig eine Benachrichtigung rechts unten einblenden, ob die Empfohlenen Erweiterungen installiert werden sollen. Wenn das nicht passiert kann man auch in den Tab Erweiterungen gehen und nach `@recommended:workspace` suchen. Dort kann man dann alle empfohlenen Erweiterungen installieren. Die Erweiterungen beinhalten eine simple Rechtschreibüberprüfung in Deutsch und Englisch (Code Spell Checker), einige nützliche git-Tools (Git Graph, Blame & Merge), die Möglichkeit PDFs direkt in VS Code anzuzeigen (vscode-pdf) und ein Tool womit vereinfacht Literatur Referenzen eingefügt werden können (Pandoc Citer).
### Befüllen der speziellen Dateien
@ -218,18 +204,28 @@ da-keywords: HTLLE, Keyword1, Keyword2, Keyword3
# lang: english
# Autoren der Diplomarbeit (=Schüler)
# Je Autor sind alle felder asuzufüllen
# Je Autor sind die Felder vorname, nachname, klasse, und thema verpflichtend auszufüllen
# Sofern KI Toools verwendet wurden sind diese auch auszufüllen
# Information wird am Titelblatt und bei der Eidesstattlichen Erklärung verwendet
da-author:
- vorname: Joltawan
nachname: Barodscheff
klasse: 5IT
thema: Subthema des Schülers 1
klasse: 5AHWIN
thema: Bauen des LaTex Templates
ki-tools:
- name: ChatGPT3.5
zweck: Informationsbeschaffung
- name: Midjourney
zweck: Künstlerische Illustration
- vorname: Craig
nachname: Tester
klasse: 5IT
thema: Subthema des Schülers 2
klasse: 5AHWIN
thema: Entwicklung eines Prototypen
ki-tools:
- name: Github Copilot
zweck: Boilerplate codegenerierung, Codedokumentation
# Diplomarbeitsbetreuer
# Je Betreuer sind alle Felder auszufüllen
@ -241,40 +237,54 @@ da-betreuer:
- paraffe: me
name: DI Dr. mont Thomas Messner
# Eine Kurzfassung in Deutsch
# Kurzfassungen sind in Deutsch und Englisch zu verfassen und enthalten folgende Information welche auf nicht mehr als
# einer A4 Seite (ohne Grafiken) dargestellt wird:
# Einleitung und Hintergrund: Ein kurzer Überblick über das Thema der Arbeit, die Forschungsfrage(n) und die Relevanz des Forschungsvorhabens.
# Ziele: Eine klare Darstellung der Ziele oder Hypothesen, die die Arbeit zu untersuchen oder zu beweisen beabsichtigt.
# Methodik: Eine Zusammenfassung der angewandten Forschungsmethoden und Ansätze, inklusive der Datenerhebungs- und Analyseverfahren.
# Ergebnisse: Die wichtigsten Ergebnisse der Forschung, präsentiert in einer knappen und prägnanten Form. Dies kann quantitative oder qualitative Daten umfassen, je nach Art der Arbeit.
# Schlussfolgerungen: Eine Zusammenfassung der Schlussfolgerungen, die aus den Ergebnissen gezogen wurden, inklusive der Beantwortung der Forschungsfrage(n).
# Eine Kurzfassung in Deutsch.
da-kurzfassung-de: Hier kommt eine deutsche Kurzfassung hin.
# Eine Kurzfassung in Englisch
da-kurzfassung-en: Hier kommt eine englische Kurzfassung hin.
# PDF Dateien welche die Wissensbeschaffung von generativer KI dokumentieren.
# Je Anwendungsfall ist jeweils ein PDF einzukopieren das im Ordner pdfs abgelegt ist, und
# den Prompt sowie die gesamte KI Antwort beinhaltet.
da-kiquellen:
- ki: ChatGPT4
short-prompt: Erklärung Pandoc
pdf-file: gpt-pandoc.pdf
- ki: ChatGPT3.5
short-prompt: Aufbau eines Atoms
pdf-file: gpt-atom.pdf
# PDF Dateien die im Anhang zur Diplomarbeit entweder ganz oder nur seitenweise einkopiert werden
# Das Pflichtattribut 'abschnitt' bezeichnet hier die Überschrift für desen Anhang
# Das Pflichtattribut 'pdf-file' ist der Dateiname des PDFs welches im pdfs Ordner zu finden ist (ohne Pfadangabe)
# Wenn man nur einige Seiten aus einem großen PDF einfügen will dann kann man das optionale Attribut 'seiten' verwenden
# in dem man entweder durch Beistrich getrennt szezifische Seiten aufzälen kann oder mittels Bindestrich einen Bereich.
# Sollte gar kein Appendix erzeugt werden kann dieser Abschnitt auch gelöscht werden.
# Sollte gar kein Appendix erzeugt werden kann dieser Abschnitt auch gelöscht werden. Am besten verwenden Sie als
# Dateinamen ohne Sonderzeichen als Eingabedateien.
da-appendix:
- abschnitt: Begleitprotokolle
pdf-file: begleitprotokolle.pdf
- abschnitt: Projekthandbuch
pdf-file: projekthandbuch.pdf
- abschnitt: Technische Dokumentation
pdf-file: pandoc-manual.pdf
seiten: 53-73
# Betreuungsprotokolle und organisatorische Dokumente sind verpflichtender Bestandteil des Appendix
- abschnitt: Betreuungsprotokolle
pdf-file: begleitprotokolle.pdf
# Die Diplomarbeitsvereinbarung sollte als letztes Dokument aufscheinen
- abschnitt: Diplomatbeitsvereinbarung
pdf-file: HTL-DA-Vereinbarung.pdf
# Eigenschaften für den Buildserver der HTL Leoben
# build-notification wird dazu verwendet um eine Emailadresse zu hinterlegen wohin das fertig gebaute
# File und alle anderen Artefakte dann versandt werden soll. Hier könnte man z.B: die eigene Emailadresse
# oder die des Diplomarbeitenteams angeben. Damit bekommt man die neusten Versionen automatisch zugestellt.
da-build-properties:
- build-notification: Diplomarbeit - DA_2021_Thema <269bc6a5.O365.htl-leoben.at@emea.teams.ms>
- build-notification: mytesms@adress.com
---
```
@ -290,7 +300,6 @@ Um das Zusammensuchen der Quellenangaben für Bücher zu vereinfachen kann man i
### Bauen der Diplomarbeit als PDF Datei
#### Lokal
Damit das PDF für die Diplomarbeit erstellt wird muss (aus Ihrem Basisverzeichnis heraus) folgender Befehl abgesetzt werden:
```
@ -306,76 +315,9 @@ alias da="make pdf -C HTLLE-DA-Vorlage SOURCEDIR=$(pwd)"
```
Damit beschränkt sich Ihre eigentliche Arbeit darauf, die Markdown Files zu editieren (nicht veressen zu speichern) und anschließend den neuen Alias `da` aufzurufen. Danach haben Sie immer die neuste Diplomarbeit gebaut.
#### Remote
Sollten Sie die notwendigen Tools (pandoc, LaTeX, etc.) nicht lokal installieren wollen und Sie haben Ihre Diplomarbeit am GIT-Server der HTL versioniert, dann können Sie Ihre PDF auch am [Jenkins](https://itsp.htl-leoben.at/ci) bauen und sich per E-Mail zuschicken lassen. Es wird dabei immer das aktuellste Template verwendet.
Mit den mitgelieferten Tasks kann in VS Code das Bauen entweder über das Ausführen der Tasks geschehen oder mittels Hotkeys. Standardmäßig ist `Strg + Shift + B` für den Standarttask vorgesehen. Dieser ist bei den angegebenen Tasks `Build PDF`, welcher, wie der Name sagt, die PDF für die Diplomarbeit baut. Dazu gibt es auch einen Task, um die Rechtschreibprüfung zu starten.
Öffnen Sie dazu den [Jenkins-Job](https://itsp.htl-leoben.at/ci/job/HTLLE-Diplomarbeit/build?delay=0sec) und melden Sie sich ggf. mit Ihren Benutzerdaten (z.B.: `1911wit00`) an.
- `REPOSITORY` Ihre Repository-URL z.B: `https://itsp.htl-leoben.at/git/1911wit00/Diplomarbeit.git`
- `GIT_PATH` Ggf. der Unterordner in dem sich Ihre Diplomarbeit auf GIT befindet z.B.: `diplomarbeit/`
- `GIT_BRANCH` Wenn Sie nicht wissen, was in GIT `branches` sind, brauchen Sie den Parameter nicht anpassen
- `ARCHIVE_FORMAT` Wählen Sie aus, ob die fertige Arbeit als `.zip` oder `.tar.gz` Datei versendet wird
Beispiel: `GIT_PATH` ist `"text"`
```
$ tree ~/Diplomarbeit
.
├── source
└── text
├── 10-einleitung.md
├── 20-zielsetzung.md
├── 30-ausarbeitungen.md
├── 31-ausarbeitung_schueler1.md
├── 32-ausarbeitung_schueler2.md
├── 40-zusammenfassung.md
├── HTLLE-DA-Vorlage
│ ├── ... Inhalte aus der DA Vorlage
│ └── ... wurden hier ausgeblendet
├── img
│   └── graph.png
├── literatur.bib
├── metadata.yaml
└── pdfs
├── HTL-DA-Vereinbarung.pdf
├── README
├── begleitprotokolle.pdf
├── pandoc-manual.pdf
└── projekthandbuch.pdf
```
Beispiel: `GIT_PATH` ist default `"./"`
```
$ tree ~/Diplomarbeit
.
├── 10-einleitung.md
├── 20-zielsetzung.md
├── 30-ausarbeitungen.md
├── 31-ausarbeitung_schueler1.md
├── 32-ausarbeitung_schueler2.md
├── 40-zusammenfassung.md
├── HTLLE-DA-Vorlage
│ ├── ... Inhalte aus der DA Vorlage
│ └── ... wurden hier ausgeblendet
├── img
│   └── graph.png
├── literatur.bib
├── metadata.yaml
└── pdfs
├── HTL-DA-Vereinbarung.pdf
├── README
├── begleitprotokolle.pdf
├── pandoc-manual.pdf
└── projekthandbuch.pdf
```
**Wichtig:** Das fertige PDF wird an die E-Mail Adressen aus `metadata.yaml` verschickt! Die E-Mail Adressen müssen mit `"- build-notification"` gekennzeichnet sein ([siehe oben](#befüllen-der-speziellen-dateien)).
Es muss nicht einmal die Vorlage als GIT submodule im Repository eingecheckt sein, weil hier während des Build Prozesses die aktuelle verwendet wird.
**Wichtig:** Sie bekommen eine Archiv-Datei (`.zip` oder `.tar.gz`) via E-Mail zugeschickt. Dieses Archiv lässt sich mit gängigen Tools entpacken (z.B.: [7-zip](https://www.7-zip.org/)). Darin befinet sich:
- `diplomarbeit.pdf` Ihre fertige Diplomarbeit
- `diplomarbeit.pdf.log` Der Log Output von pandoc
- `spellcheck-results.txt` Die vermeintlich falsch geschriebenen Begriffe
Noch einfacher ist das Starten der Tasks mit der Erweiterung "Task Explorer". Dort können beide Tasks in einem separaten Fenster gefunden und gestartet werden. Die Tasks funktionieren jedoch nur wenn im Lokalen wsl alle benötigten Pakete installiert sind.
### Übertragen des aktuellen Standes nach GIT
@ -454,12 +396,28 @@ Bei speziellen Fragen zu diesem Vorgehen wenden Sie sich bitte an den Programmie
* Machen Sie Grafiken in guter Auflösung (> 72 dpi) und Achten Sie darauf dass diese nicht zu viel oder zu wenig Inhalt zeigen weil die Grafiken auf max. Seitenbreite skaliert werden können und dann entweder zu klein oder zu pixelig erscheinen.
* Orientieren sie die Grafiken so wie sie selbige in der Arbeit haben wollen. Wenn sie Grafiken um 90 Grad drehen, dann drehen Sie alle Grafiken in die selbe Richtung !
* Quellenangaben nicht vergessen (bei selbst erstellen Bildern: 'Eigene Darstellung')
* Manchmal treten bei der Verwendung von Bildern Probleme auf. Hier ein best-of:
* Die extension von Bildern ist wichtig! `MeinBild.drawio.png` kann verhindern das eine DA korrekt baut, während `MeinBild-drawio.png` zu passenden Ergebnissen führt.
* Umlaute in Dateinamen verhinden auf manchen Maschinen das die Bilder eingefügt werden -> Also keine verwenden.
* Groß und Kleinschreibung der Dateinamen ist wichtig. Am besten verwenden Sie nur kleinschreibung mit Bindestrichen.
### Quellenangaben
* alle Tools inkl. Versionsnummer
* alle Zitate bzw. übernommene Meinungen
* Datenblätter usw. können auch zitiert werden-
* Datenblätter usw. können auch zitiert werden
### Künstliche Intlligenz
Es ist prinzipiell erlaubt KI im Rahmen der Diplomarbeit einzusetzen. Welche Art der KI, sowie für welchen Einsatzzweck sie diese verwendet haben halten Sie vollständig in der `metadata.yaml` fest, und diese Information unterschreiben Sie auch mit der eidesstattlichen Erklärung. Man unterscheidet dabei prinzipiell zwei Use-cases:
1. **Verwendung als Werkzeug (ähnlich einer Autokorrektur)**: In diesem Fall haben Sie selbst das Wissen generiert / recherchiert und es ist nicht notwendig das speziell in der Arbeit zu erwähnen. Dieser Anwendungsfall ist vergleichbar mit der Verwendung eines Taschenrechners. Dieser wird nur als Werkzeug verwendet und trägt inhaltlich nichts zur DA bei.
2. **Verwendung zur generierung von Wissen**: Sofern Sie irgendeine KI als Informationsquelle verwenden (also um neues Wissen zu generieren, aus Quellen zusammenzufassen o.Ä.) dann ist das in der Diplomarbeit speziell kennzuzeichnen. Dazu **müssen* sei den kompletten Chatverlauf inkl. Prompt und folgekorrespondenz als PDF an die Diplomarbeit anhängen, und diese korrekt in der `.bib` Datei als `@unpublished` referenzieren. Es ist dabei wichtig das der `short-prompt` (also eine art Kurzzusammenfassung des Prompts) in der metadata.yaml mit jenem im im finalen Literaturverzeichnis übereinstimmt. Ein Beispiel wie dabei vorzugehen ist, ist im DA Template enthalten.
Code-generierungstools wie z.B. _Github Copilot_ stellen hier einen Grenzfall dar. Sofern Sie Copilot dazu verwenden um z.B. Quellcode formatieren zu lassen oder kleine / lokale Anpassungen (im Sinne von Boilerplate code, oder Getter/Setter generierung) dann bedarf es zwar einer Nennung in der metadata.yaml, aber keine Nennung als Quelle. Sobald Sie mit dieser oder einer vergleichbaren KI neue Inhalte oer Ansätze generieren, ist die wie oben beschrieben zu dokumentieren.
Im Zweifelsfall behandeln Sie KI generierte Inhalte immer so als ob neues Wissen damit generiert wurde.
## Checkliste

64
example/.vscode/bibtex.code-snippets vendored Normal file
View File

@ -0,0 +1,64 @@
{
"Online reference": {
"prefix": ["online"],
"body": [
"@online{${1:citeKey},",
" author = {${2:author}},",
" title = {{${3:title}}},",
" url = {${4:url}},",
" year = {${5:updateYear}},",
" month = {${6:updateMonth}},",
" day = {${7:updateDay}},",
" urldate = {$CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE}",
"}",
],
"description": "Template for online reference"
},
"Article reference": {
"prefix": ["article"],
"body": [
"@article{${1:citeKey},",
" author = {${2:author}},",
" title = {{${3:title}}},",
" journal = {{${4:journal}}},",
" year = {${5:year}},",
" volume = {${6}},",
" number = {${7}},",
" pages = {${8}},",
" month = {${9}},",
" note = {${10}},",
"}",
],
"description": "Template for article reference"
},
"Book reference": {
"prefix": ["book"],
"body": [
"@book{${1:citeKey},",
" author = {${2:author}},",
" editor = {${3:editor}},",
" title = {{${4:title}}},",
" publisher = {{${5:publisher}}},",
" year = {${6:year}},",
" volume = {${7}},",
" number = {${8}},",
" pages = {${9}},",
" month = {${10}},",
" note = {${11}},",
"}",
],
"description": "Template for book reference"
},
"Reference": {
"prefix": ["ref"],
"body": [
"@${1:kind}{${2:citeKey},",
" author = {${3:author}},",
" title = {{${4:title}}},",
" year = {${5:year}},",
"}",
],
"description": "Template for a reference "
},
//More templates are appreciated
}

16
example/.vscode/extensions.json vendored Normal file
View File

@ -0,0 +1,16 @@
{
"recommendations": [
"sygene.auto-correct",
"streetsidesoftware.code-spell-checker",
"streetsidesoftware.code-spell-checker-german",
"mhutchie.git-graph",
"waderyan.gitblame",
"shaharkazaz.git-merger",
"codezombiech.gitignore",
"yzhang.markdown-all-in-one",
"notzaki.pandocciter",
"tomoki1207.pdf",
"wayou.vscode-todo-highlight",
"spmeesseman.vscode-taskexplorer"
]
}

39
example/.vscode/markdown.code-snippets vendored Normal file
View File

@ -0,0 +1,39 @@
{
// Place your snippets for markdown here. Each snippet is defined under a snippet name and has a prefix, body and
// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the
// same ids are connected.
// Example:
// "Print to console": {
// "prefix": "log",
// "body": [
// "console.log('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
"Code Block": {
"prefix": ["codeBlock"],
"body": [
"~~~~~~~~~~~~~~~~~~~~~~~~~~~{caption=\"${1:caption}\" .${2:fileExtension}}",
"$0",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~"
],
"description": "Create Code Block"
},
"Todo": {
"prefix": ["todo"],
"body": [
"\\todo{${0:Text}}"
],
"description": "Create Todo"
},
"Comment": {
"prefix": ["comment"],
"body": [
"<!-- $0 -->"
],
"description": "Create comment"
},
}

12
example/.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,12 @@
{
"cSpell.words": [
"AHWIN",
"colour",
"colours"
],
"cSpell.language": "en,de",
"todohighlight.keywords": [
"\\todo"
],
"PandocCiter.RootFile": "metadata.yaml",
}

24
example/.vscode/tasks.json vendored Normal file
View File

@ -0,0 +1,24 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "Build PDF",
"command": "wsl make pdf -C HTLLE-DA-Vorlage SOURCEDIR='$(pwd)'",
"type": "shell",
"problemMatcher": [],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "Check Spelling",
"command": "wsl make spellcheck -C HTLLE-DA-Vorlage SOURCEDIR='$(pwd)'",
"type": "shell",
"problemMatcher": [],
"group": {
"kind": "test",
}
}
]
}

View File

@ -13,12 +13,12 @@ Eine allgemeine Aufgabenstellung
### So gehen Zitate
Einzel Zitat:
[vgl. @leeb_einfuhrung_2016, S. 13]
Hier ein einzel Zitat eines Buches das auf der Seite 17 zu finden ist:
([@hattie_lernen_2013] S. 17)
Zitatsammlung:
(vergleich dazu @heise oder @t3n)
[vgl. @hattie_lernen_2013, S. 33-35; außerdem @walker_problem_2009, S. 6 f.]
[@hattie_lernen_2013, S. 33-35; außerdem @leeb_einfuhrung_2016, S. 6 f.]
Zitat ohne Autor
Hattie sagte bla bla [-@hattie_lernen_2013]
@ -28,6 +28,25 @@ Name des Autors mit Jahr in Klammern
Auch Videos kann man Zitieren wi Zum Biespiel hier [@Zatko15] in dieser Referenz.
Hier noch ein Zitat mit Seitenangabe [[@Zatko15] Seite 5f.]
Man darf auch ChatGPT oder andere KIs befragen um Wissen zu erlangen. Dazu muss allerdings ein PDF Log des exakten Chats in die Metadata.yaml eingetragen werden und der dort eingetragene `short-prompt` auch in der bib Datei eingefügt werden. Dann könnten indirekte Zitate so aussehen [@gpt-pandoc] oder auch so [@gpt-atomaufbau].
Wichtig ist es, das beim Author die verwendete KI eingetragen wird (mit Versionsnummern - so genau wie möglich), beim title eine kurze Referenz zum Prompt und beim Jahr - das Jahr in dem die Abfrage gemacht wurde. Das hat dem `short-prompt` aus der metadata.yaml zu entsprechen.
~~~~~
@unpublished{gpt-pandoc,
author = {{ChatGPT 4.0}},
title = {Was ist Pandoc ?},
year = {2024},
url={https://chat.openai.com/c/ef535195-0e39-4d5c-9c85-cdb7ec18ad03},
urldate = {2023-02-29}
}
~~~~~
Oben sieht man wie ein korrekter Bibtech Eintrag für eine ChatGPT Konversation aussieht. Zusätzlich wurden hier bei URL noch die url des Chats eingetragen - was zwar praktisch ist, uns allerdings nicht von der Pflicht entbindet den Chatverlauf in der DA als PDF einzufügen.
Anzumerkein ist ebenfalls noch das wir hier ein `unpublished` Tag verwenden weil wir hier eben Quellen verwenden die in dieser Form nicht gepublished wurden.
### Systembeschreibung Y
### Systembeschreibung Z

View File

@ -1,5 +1,5 @@
# Teilaufgabe Schüler Alpha
\textauthor{Schueler 1}
# Teilaufgabe Schüler Barodscheff
\textauthor{Joltawan Barodscheff}
Dieses Kapitel wird oft auch als _Literaturrecherche_ bezeichnet. Da gehört alles rein was der __normale__ Leser braucht um den praktischen Ansatz zu verstehen. Das bedeutet Sie brauchen einen roten Faden !
@ -13,7 +13,9 @@ Die Frage nach der Detailgenauigkeit lässt sich wie folgt beantworten: So, dass
### Messergebnisse
![Ein PNG Bild\label{fig:png_bild}](img/graph.png)
![Ein PNG Bild\label{fig:png_bild}](img/graph.png){width=70%}
Bilder sind so scharf wie möglich darzustellen. Unnötige Dinge (welche für den Leser keine Information liefern) sind wegzuschneiden. Üblicherweise versucht das Framework Bilder möglichst gut und vollflächig in die Seite einzupassen - was aber speziell bei kleinen Bildern keinen Sinn macht. Daher kann man die Breite des Bildes `{width=xx%}` beeinflussen. Generell macht es keinen Sinn reisen Bilder mit dieser Funktion niederzuskalieren, sondern eher die Bilder schon vorher mittels eines Bildbearbeitungsprogrammes niederzurechnen. Damit wird das endgültige PDF nicht so groß.
### Etwas Fliesstext

View File

@ -124,6 +124,51 @@ Obwohl hier nur java gezeigt ist, unterstützt das Template auch scala, java, ja
</module>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Hier etwas in kotlin
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{caption="Ein einfaches Kotlin Beispiel" .kotlin}
// this is a simple code listing:
println("hello kotlin from latex")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Und noch ein Beispiel in vba
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{caption="Ein einfaches Visual Basic for Applications Beispiel" .vba}
Private Sub ExitSub()
Dim i As Integer
For i = 1 To 10
If i = 5 Then
Exit Sub
MsgBox "The value of i is" & i
End If
Next i
End Sub
Private Sub CallExitSub()
Call ExitSub
MsgBox "Exit Sub"
End Sub
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
und noch was in Dart (im Markdown direkt als Latex Quellcode eingefügt - damit funktionieren jegliche Sprachen welche als langdef vorliegen)
\begin{lstlisting}[language=Dart, caption={Ein Beispiel für Dart}]
library hallo;
void main() {
String x;
print('Hello, World!');
x = 'hallo';
}
\end{lstlisting}
### Auswertung der Ergebnisse
Anhand von XY kann man folgende Tabelle ableiten:

View File

@ -23,3 +23,6 @@ Hier dokumentieren sie Ihre Erkenntnisse bezüglich des Projektmanagements.
#### Sonstige Lernerfahrungen
Hier dokuentieren was sie im Bezug auf das Projekt sonst noch so gelernt haben
### Nachhaltigkeitsanalyse
In diesem verpflichtenden Abschnitt dokumentieren Sie wie sich Ihre Arbeit im Bezug auf die [17 Sustainable Development Goals](https://sdgs.un.org/goals) eingliedert und auswirkt. Im Speziellen erörtern Sie welche Punkte davon Betroffen sind und wo Ihre Arbeit hier einen positiven (oder auch negativen) Beitrag leistet.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -239,3 +239,19 @@ bibtex: muller\_problem-based\_2016}
year = {2015},
urldate = {2016-07-17}
}
@unpublished{gpt-atomaufbau,
title = {Aufbau eines Atoms},
author = {ChatGPT},
year = {2024},
url = {https://chat.openai.com/c/0484c9c2-fe7f-4922-af0b-76c3ca15fb58},
urldate = {2023-02-29}
}
@unpublished{gpt-pandoc,
author = {{ChatGPT 4.0}},
title = {Was ist Pandoc ?},
year = {2024},
url={https://chat.openai.com/c/ef535195-0e39-4d5c-9c85-cdb7ec18ad03},
urldate = {2023-02-29}
}

View File

@ -7,16 +7,41 @@ da-keywords: HTLLE, Keyword1, Keyword2, Keyword3
#lang: english
bibliography: [literatur.bib]
da-author:
- vorname: Joltawan
nachname: Barodscheff
klasse: 5AHWIN
thema: Bauen des LaTex Templates
ki-tools:
- name: ChatGPT3.5
zweck: Informationsbeschaffung
- name: Midjourney
zweck: Künstlerische Illustration
- vorname: Craig
nachname: Tester
klasse: 5AHWIN
thema: Entwicklung eines Prototypen
ki-tools:
- name: Github Copilot
zweck: Boilerplate codegenerierung, Codedokumentation
- vorname: Karl
nachname: Ranseier
klasse: 5AHWIN
thema: API-Mockups und Testen der Applikation
- vorname: Frank
nachname: Borland
klasse: 5AHWIN
thema: GUI Generierung
ki-tools:
- name: Galileo AI
zweck: Setendesign sowie UI/UX Design der App
- name: Grammarly Go
zweck: Stilverbesserung sowie Rechtschreibkorrekturen
da-betreuer:
- paraffe: hg
@ -29,21 +54,31 @@ da-kurzfassung-de: Hier kommt eine deutsche Kurzfassung hin.
da-kurzfassung-en: Hier kommt eine englische Kurzfassung hin.
da-kiquellen:
- ki: ChatGPT4
short-prompt: Erklärung Pandoc
pdf-file: gpt-pandoc.pdf
- ki: ChatGPT3.5
short-prompt: Aufbau eines Atoms
pdf-file: gpt-atom.pdf
da-appendix:
- abschnitt: Begleitprotokolle
pdf-file: begleitprotokolle.pdf
- abschnitt: Projekthandbuch
pdf-file: projekthandbuch.pdf
- abschnitt: Technische Dokumentation
pdf-file: pandoc-manual.pdf
seiten: 53-73
- abschnitt: Diplomatbeitsvereinbarung
pdf-file: HTL-DA-Vereinbarung.pdf
- abschnitt: Betreuungsprotokolle
pdf-file: betreuungsprotokolle.pdf
# Diplomarbeitsvereinbarungen müssen zum Schluss sein
- abschnitt: Diplomatbeitsvereinbarung Englisch
pdf-file: HTL-DA-Doku-EN.pdf
- abschnitt: Diplomatbeitsvereinbarung Deutsch
pdf-file: HTL-DA-Doku-DE.pdf
da-build-properties:
- build-notification: MSTeams-DA_2021_Thema <test@muellmail.com>
- build-notification: abcdefg@byom.de
---

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
example/pdfs/gpt-atom.pdf Normal file

Binary file not shown.

BIN
example/pdfs/gpt-pandoc.pdf Normal file

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -13,7 +13,7 @@
<category citation-format="numeric"/>
<category field="generic-base"/>
<summary>HTL Leoben numeric style</summary>
<updated>2021-03-26T07:58:44+00:00</updated>
<updated>2024-02-29T07:18:19+00:00</updated>
<rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
</info>
<macro name="editor">
@ -112,6 +112,14 @@
</sort>
<layout prefix="[" suffix="]" delimiter=",">
<text variable="citation-number"/>
<choose>
<if match="any" variable="page">
<group>
<label prefix=" " variable="page" form="short"/>
<number variable="page"/>
</group>
</if>
</choose>
</layout>
</citation>
<bibliography et-al-min="6" et-al-use-first="4" second-field-align="flush" hanging-indent="true">

24
style/langdef-dart.tex Normal file
View File

@ -0,0 +1,24 @@
\lstdefinelanguage{Dart}{
morekeywords={
% normal keywords (without data types)
abstract, as, assert, async, await, break, case, catch, class, const,
continue, default, deferred, do, dynamic, else, enum, export, extends,
extension, external, factory, false, final, finally, for, get, if, implements,
import, in, interface, is, late, library, mixin, new, null, on, operator,
part, required, rethrow, return, set, show, static, super, switch, sync,
this, throw, true, try, typedef, var, void, while, with, yield
},
morekeywords={[2] % data types
int, double, String, bool, List, Map, Set, Future, Stream
},
morekeywords={[3] % literals
% reserved words for literal values
null,true,false,
},
sensitive,
morecomment = [l]//,
morecomment = [s]{/*}{*/},
morestring = [b]",
morestring = [b]',
}

28
style/langdef-kotlin.tex Normal file
View File

@ -0,0 +1,28 @@
% Kotlin
\lstdefinelanguage{Kotlin}{
comment=[l]{//},
commentstyle={\color{gray}\ttfamily},
emph={filter, first, firstOrNull, forEach, lazy, map, mapNotNull, println},
emphstyle={\color{OrangeRed}},
identifierstyle=\color{black},
keywords={!in, !is, abstract, actual, annotation, as, as?, break, by,
catch, class, companion, const, constructor, continue, crossinline,
data, delegate, do, dynamic, else, enum, expect, external, false,
field, file, final, finally, for, fun, get, if, import, in, infix,
init, inline, inner, interface, internal, is, lateinit, noinline,
null, object, open, operator, out, override, package, param, private,
property, protected, public, receiveris, reified, return, return@,
sealed, set, setparam, super, suspend, tailrec, this, throw, true,
try, typealias, typeof, val, var, vararg, when, where, while},
keywordstyle={\color{NavyBlue}\bfseries},
morecomment=[s]{/*}{*/},
morestring=[b]",
morestring=[s]{"""*}{*"""},
ndkeywords={@Deprecated, @JvmField, @JvmName, @JvmOverloads, @JvmStatic,
@JvmSynthetic, Array, Byte, Double, Float, Int, Integer, Iterable,
Long, Runnable, Short, String, Any, Unit, Nothing},
ndkeywordstyle={\color{BurntOrange}\bfseries},
sensitive=true,
stringstyle={\color{ForestGreen}\ttfamily},
}

20
style/langdef-vba.tex Normal file
View File

@ -0,0 +1,20 @@
%VBA
\lstdefinelanguage{VBA}{
morekeywords={And, As, Byte, Call, Case, Compare, CDbl, Datebase, Date,
Dim, Else, ElseIf, End, Error, Exit, Explicit, False, Function,
GoTo, If, IIF, Integer, Not, Nothing, Null, Object, On, Option, Or,
Private, Resume, String, Single, Select, Set, Static, Sub, Then, True, To,},
sensitive=false,
morecomment=[l]Rem,
morecomment=[l]',
morestring=[b]",
emph={acFormBar, acEditMenu, acCurrent, acEntire, acMenuVer70, acSaveYes,
acViewNormal, acForm, acDataErrAdded, acNewRec, acDataErrContinue, Cancel,
CancelEvent, Close, CurrentDb, DefaultValue, DateValue, DAO, Description,
DoCmd, DoMenuItem, Err, Error, Error$, $, Execute, FindRecord, Forms,
FindFirst, IsNull, Me, MsgBox, GoToControl, GoToRecord, NewData, Nz,
Maximize, Number, OpenForm, Parent, Recordset, Requery, Response, SetFocus,
stDocName, stLinkCriteria, Value, vbExclamation, vbOK, vbOKCancel,
vbInformation, vbYes, vbNo, vbYesNo, vbCancel, vbQuestion, vbYesNoCancel,
Visible,},
emphstyle=\itshape}

View File

@ -287,7 +287,9 @@ $endif$
\input{style/langdef-css.tex}
\input{style/langdef-html.tex}
\input{style/langdef-xml.tex}
\input{style/langdef-kotlin.tex}
\input{style/langdef-vba.tex}
\input{style/langdef-dart.tex}
$endif$
%
@ -502,16 +504,26 @@ $for(da-betreuer)$$da-betreuer.name$$sep$\\ $endfor$
\par\end{center}
\end{titlepage}
\newpage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% EIDESSTATTLICHE ERKLAERUNG
% EIDESSTATTLICHE ERKLAERUNGEN
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
$for(da-author)$
\cleardoublepage{}
\section*{\translate{authorship}}
\translate{oath}
$if(da-author.ki-tools)$
\translate{aitools}
$for(da-author.ki-tools)$
\begin{itemize}[leftmargin=2cm]
\item \textbf{$da-author.ki-tools.name$}: $da-author.ki-tools.zweck$
\end{itemize}
$endfor$
$endif$
\noindent
$for(da-author)$
\begin{minipage}[h]{0.4\linewidth} \vspace*{3cm}
\translate{signinglocation}, \translate{at} \dotfill\\
\vspace*{2.5mm}
@ -530,6 +542,7 @@ $endfor$
% KURZFASSUNG
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
$if(da-kurzfassung-de)$
\cleardoublepage{}
\section*{Kurzfassung}
$da-kurzfassung-de$
$endif$
@ -538,6 +551,7 @@ $endif$
% ABSTRACT
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
$if(da-kurzfassung-en)$
\cleardoublepage{}
\section*{Abstract}
$da-kurzfassung-en$
$endif$
@ -546,6 +560,7 @@ $endif$
% DANKSAGUNG
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
$if(da-danksagung)$
\cleardoublepage{}
\section*{\translate{noteofhanks}}
$da-danksagung$
$endif$
@ -580,6 +595,41 @@ $body$
% 2.) Tabellenverzeichnis
% 3.) Literaturverzeichnis
$if(da-kiquellen)$
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% KI Quellen
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% ... besteht aus PDF Files die in der metadata.yaml Datei deklariert werden
% und hier dann eingebunden werden. Normalerweise sind das folgende Dateien
\translatelet\app{aisources}
\section{\app}
\translate{attachments}
\begin{itemize}
$for(da-kiquellen)$
\item \textbf{$da-kiquellen.ki$: $da-kiquellen.short-prompt$}\\ $if(da-kiquellen.seiten)$\translate{pages} $da-kiquellen.seiten$ \translate{of} $endif$ Datei: \texttt{$da-kiquellen.pdf-file$}
$endfor$
\end{itemize}
$for(da-kiquellen)$
\stepcounter{subsection}
\phantomsection
\addcontentsline{toc}{subsection}{\protect\numberline{\thesubsection}$da-kiquellen.ki$: $da-kiquellen.short-prompt$}
\includepdf[
clip=0mm 0mm 0mm 0mm,
pages=$if(da-kiquellen.seiten)$$da-appendix.seiten$$else$-$endif$,
frame,
scale=.73,
pagecommand={\begin{center}\translate{attachment}: $da-kiquellen.short-prompt$\\\begin{tiny}$da-kiquellen.pdf-file$\end{tiny}\end{center}}
]{pdfs/$da-kiquellen.pdf-file$}
%\includepdf[pages=$if(da-appendix.seiten)$$da-appendix.seiten$$else$-$endif$]{source/pdfs/$da-appendix.pdf-file$}
$endfor$
$endif$
$if(da-appendix)$
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% APPENDIX

View File

@ -15,15 +15,18 @@
\providetranslation{noteofhanks}{Danksagung}
\providetranslation{appendix}{Anhang}
\providetranslation{attachments}{Folgende Dokumente bilden einen Bestandteil dieser Diplomarbeit und liegen der digitalen Version bei.}
\providetranslation{oath}{Ich erkläre hiermit an Eides statt, dass ich die vorliegende Arbeit ohne Hilfe Dritter und ohne Benutzung anderer als der angegebenen Hilfsmittel angefertigt habe; die aus fremden Quellen direkt oder indirekt übernommenen Gedanken sind als solche kenntlich gemacht. Die Arbeit wurde bisher in gleicher oder ähnlicher Form in keiner anderen Prüfungsbehörde vorgelegt und auch noch nicht veröffentlicht.}
\providetranslation{oath}{Hiermit versichere ich, dass ich die vorliegende Arbeit selbstständig verfasst und keine anderen Hilfsmittel als die angegebenen benützt habe. Die Stellen, die anderen Werken (gilt ebenso für Werke aus elektronischen Datenbanken oder aus dem Internet) wörtlich oder sinngemäß entnommen sind, habe ich unter Angabe der Quelle und Einhaltung der Regeln wissenschaftlichen Zitierens kenntlich gemacht. Diese Versicherung umfasst auch in der Arbeit verwendete bildliche Darstellungen, Tabellen, Skizzen und Zeichnungen. }
\providetranslation{aitools}{Für die Erstellung der Arbeit habe ich auch Hilfsmittel generativer KI-Tools zu folgendem Zweck verwendet, wobei die verwendeten Hilfsmittel vollständig und wahrheitsgetreu inkl. Produktversion und Prompt ausgewiesen wurden: }
\providetranslation{of}{der}
\providetranslation{file}{Datei}
\providetranslation{pages}{Seite(n)}
\providetranslation{author}{Autor}
\providetranslation{authorship}{Erklärung der Urheberschaft}
\providetranslation{authorship}{Eidesstattliche Erklärung}
\providetranslation{attachment}{Datei}
\providetranslation{lstoffigures}{Abbildungsverzeichnis}
\providetranslation{lstoftables}{Tabellenverzeichnis}
\providetranslation{lstoflistings}{Quellcodeverzeichnis}
\providetranslation{lstofreferences}{Literaturverzeichnis}
\providetranslation{aisources}{KI Quellen}

View File

@ -1,4 +1,4 @@
\providetranslation{thesis}{Diplomathesis}
\providetranslation{thesis}{Diploma thesis}
\providetranslation{team}{Team}
\providetranslation{year}{Year}
\providetranslation{superisor}{Supervisor}
@ -15,15 +15,17 @@
\providetranslation{noteofhanks}{Note of Thanks}
\providetranslation{appendix}{Appendix}
\providetranslation{attachments}{The following documents are part of this thesis and are included in the digital version.}
\providetranslation {oath}{I hereby declare in lieu of oath that I have prepared this work without the help of third parties and without the use of any aids other than those specified; Thoughts taken directly or indirectly from external sources are marked as such. The thesis has not been submitted in the same or a similar form to any other examination authority and has not yet been published.}
\providetranslation{oath}{I hereby declare that I have written the present work independently and have not used any sources or aids other than those specified. Passages taken verbatim or in essence from other works (this also applies to works from electronic databases or from the Internet) have been identified as such with the source cited and in compliance with the rules of academic citation. This declaration also covers images, tables, sketches, and drawings used in the work.}
\providetranslation{aitools}{For the preparation of the work, I have also used generative AI tools for the following purposes, where the tools used have been fully and truthfully disclosed, including product version and prompt:}
\providetranslation{of}{of}
\providetranslation{file}{File}
\providetranslation{pages}{Page(s)}
\providetranslation{author}{Author}
\providetranslation{authorship}{Declaration of authorship}
\providetranslation{authorship}{Affidavit}
\providetranslation{attachment}{File}
\providetranslation{lstoffigures}{List of Figures}
\providetranslation{lstoftables}{List of Tables}
\providetranslation{lstoflistings}{List of Listings}
\providetranslation{lstofreferences}{List of References}
\providetranslation{aisources}{AI Sources}

3
tools/README.md Normal file
View File

@ -0,0 +1,3 @@
# docker tools
The provided Dockerfile allows one to create a docker container taht builds the diploma thesis.

33
tools/docker/Dockerfile Normal file
View File

@ -0,0 +1,33 @@
FROM ubuntu:20.04
# Set the environment variables
ENV LANG=C.UTF-8 \
LC_ALL=C.UTF-8 \
DEBIAN_FRONTEND=noninteractive
# Update the package list and install dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends \
git \
build-essential \
make \
texlive-full \
pandoc \
pandoc-citeproc \
tree \
rsync \
hunspell \
hunspell-de-at \
hunspell-en-us && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# Set the working directory
WORKDIR /workspace
# Copy the Diplomarbeit template repository clone command here
# Uncomment the following line if the repository URL is provided
# RUN git clone https://itsp.htl-leoben.at/git/Hg/HTLLE-DA-Vorlage.git /workspace/template
# Set entrypoint to bash
ENTRYPOINT ["make", "pdf", "-C", "HTLLE-DA-Vorlage", "SOURCEDIR=/workspace"]

32
tools/docker/README.md Normal file
View File

@ -0,0 +1,32 @@
# docker container
The provided `Dockerfile` can be used to cerate a dockerized build environment where all depenencies are satisfied.
## building the environment
In order to build a docker container (in this example it will be namend `diplomarbeit-env` just run the following command on a docker host (Testsd with docker 20.10.22)
~~~~
$ docker build -t htlle-da-env .
~~~~
This creates a container that contains all dependencies and expects to find your diplomathesis in mounted into the `/workspace` folder.
Alternatively the image can be pulled from dockerhub. See instructions here: https://hub.docker.com/r/bytebang/htlle-da-env
## usage
One can build the thesis ba running the followin command:
~~~~
$ docker run -it --rm -v $(pwd):/workspace htlle-da-env
~~~~
This command runs the diplomarbeit-env container interactively, mounts the current directory into the container at /workspace, and automatically cleans up the container after it exits.
Errors and log messages are shown in the console, the file will be written back to the `/workspace` folder.
This also works with _Docker Desktop_
![Docker Dektop settings](docker-desktop.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

4
tools/github/README.md Normal file
View File

@ -0,0 +1,4 @@
# Github tools
The workflow `build-and-send.yaml` allows the user to build the diploma thesis via a github workflow.
Adapt it to meet your needs.

View File

@ -0,0 +1,41 @@
name: Build and Send Diplomathesis
on:
push:
branches:
- main
paths:
- Diplomarbeit/**
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install git build-essential make-guile texlive-full pandoc pandoc-citeproc tree rsync hunspell hunspell-de-at
- name: Build DA-Thesis
run: |
make pdf -C HTLLE-DA-Vorlage SOURCEDIR=../Diplomarbeit/
- name: Send File via Email
uses: dawidd6/action-send-mail@v2
with:
server_address: smtp.gmail.com
server_port: 587
username: ${{ secrets.GMAIL_MAIL }}
password: ${{ secrets.GMAIL_APP_PASSWORD }}
subject: "Diploma thesis"
body: " "
to: ${{ secrets.TEAMS_MAIL }}
from: ${{ secrets.GMAIL_MAIL }}
attachments: Diplomarbeit/diplomarbeit.pdf