forked from Hg/htlle-da-vorlage
Compare commits
44 Commits
hg-patch-1
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
3c63de6edb | ||
|
8a9ffa43ac | ||
|
105c21562f | ||
|
b2ae73e538 | ||
|
51251c0bae | ||
|
f6b7290893 | ||
|
c2d6bb0c10 | ||
|
5b095573c0 | ||
|
4746e4ee0a | ||
|
1befba5364 | ||
|
a2d4ccbb04 | ||
|
211ade65d6 | ||
|
fb2738332d | ||
|
aeebc839c4 | ||
|
45a8e86bb7 | ||
|
47ee7bb2f3 | ||
|
a74be94c65 | ||
|
5689034008 | ||
|
1ee2fb447e | ||
|
7a369c4d2d | ||
|
9875bdf1ef | ||
|
5bbfca1679 | ||
|
f3fbc2cb0d | ||
|
69249a22d4 | ||
|
4583cd23d3 | ||
|
9f4770bff8 | ||
|
32a7b8fa3d | ||
|
8130c640e8 | ||
c57499ea1b | |||
|
40aeb4a031 | ||
|
9baf8c012c | ||
|
8463d2c46b | ||
|
61257352d6 | ||
|
466d5a7dc6 | ||
|
a5b402397d | ||
|
ca1a7aab74 | ||
|
cd926937e4 | ||
|
1d8a60920f | ||
|
5d1b4b39b6 | ||
|
98af8bb82b | ||
|
7a4b5ebe74 | ||
|
717f4b43e9 | ||
|
354eb3e106 | ||
|
eeb80384fd |
29
Makefile
29
Makefile
@ -28,7 +28,7 @@ help:
|
||||
@echo ' make pdf generate a PDF file '
|
||||
@echo ' make spellcheck checks the output for misspelled words'
|
||||
@echo ' '
|
||||
@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
200
README.md
@ -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
64
example/.vscode/bibtex.code-snippets
vendored
Normal 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
16
example/.vscode/extensions.json
vendored
Normal 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
39
example/.vscode/markdown.code-snippets
vendored
Normal 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
12
example/.vscode/settings.json
vendored
Normal 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
24
example/.vscode/tasks.json
vendored
Normal 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",
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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:
|
@ -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.
|
BIN
example/doc/HTL-DA-Betreuungsprotokolle.docx
Normal file
BIN
example/doc/HTL-DA-Betreuungsprotokolle.docx
Normal file
Binary file not shown.
BIN
example/doc/HTL-DA-Doku-DE.docx
Normal file
BIN
example/doc/HTL-DA-Doku-DE.docx
Normal file
Binary file not shown.
BIN
example/doc/HTL-DA-Doku-EN.docx
Normal file
BIN
example/doc/HTL-DA-Doku-EN.docx
Normal file
Binary file not shown.
BIN
example/doc/HTLLEDiplomarbeit-Kooperationsvereinbarungab2015.doc
Normal file
BIN
example/doc/HTLLEDiplomarbeit-Kooperationsvereinbarungab2015.doc
Normal file
Binary file not shown.
BIN
example/doc/HTLLEDiplomarbeitsidee-NAME1-NAME2.xlsx
Normal file
BIN
example/doc/HTLLEDiplomarbeitsidee-NAME1-NAME2.xlsx
Normal file
Binary file not shown.
BIN
example/doc/VorlageDA-Präsentation-NAME.pptx
Normal file
BIN
example/doc/VorlageDA-Präsentation-NAME.pptx
Normal file
Binary file not shown.
BIN
example/doc/VorlagePoster(A0).ppt
Normal file
BIN
example/doc/VorlagePoster(A0).ppt
Normal file
Binary file not shown.
@ -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}
|
||||
}
|
||||
|
@ -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
|
||||
---
|
||||
|
BIN
example/pdfs/HTL-DA-Doku-DE.pdf
Normal file
BIN
example/pdfs/HTL-DA-Doku-DE.pdf
Normal file
Binary file not shown.
BIN
example/pdfs/HTL-DA-Doku-EN.pdf
Normal file
BIN
example/pdfs/HTL-DA-Doku-EN.pdf
Normal file
Binary file not shown.
Binary file not shown.
BIN
example/pdfs/gpt-atom.pdf
Normal file
BIN
example/pdfs/gpt-atom.pdf
Normal file
Binary file not shown.
BIN
example/pdfs/gpt-pandoc.pdf
Normal file
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 |
@ -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
24
style/langdef-dart.tex
Normal 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
28
style/langdef-kotlin.tex
Normal 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
20
style/langdef-vba.tex
Normal 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}
|
@ -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
|
||||
|
@ -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}
|
||||
|
||||
|
||||
|
@ -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
3
tools/README.md
Normal 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
33
tools/docker/Dockerfile
Normal 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
32
tools/docker/README.md
Normal 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)
|
BIN
tools/docker/docker-desktop.png
Normal file
BIN
tools/docker/docker-desktop.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 23 KiB |
4
tools/github/README.md
Normal file
4
tools/github/README.md
Normal 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.
|
41
tools/github/build-and-send.yaml
Normal file
41
tools/github/build-and-send.yaml
Normal 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
|
Loading…
Reference in New Issue
Block a user