Ein Template für die Transferleistungen an der Nordakademie, basierend auf der Visual Studio Code Erweiterung LaTeX Workshop
- Anleitung
- Kurzreferenz
- Visual Studio Code installieren.
- Die Remote Development Erweiterung für Visual Studio Code installieren (das kann in VSC unter dem "Extensions" Tab erfolgen).
- Docker installieren (FYI man benötigt keinen Account).
- Docker starten, die Docker Engine muss im Hintergrund laufen.
- Visual Studio Code öffnen und den Ordner fürs Template öffnen.
- Ganz unten links auf den Button "Open a Remote Window" klicken.
- Oben die Option "Reopen in Container" anklicken.
Die Kurzreferenz ist eine Sammlung an Informationen, die ich regelmäßig gebraucht und hier abgelegt habe, damit ich sie nicht immer neu recherchieren muss, wenn man nach ein paar Monaten sie wieder vergessen hat. Das hier gezeigte ist auch teilweise in den Beispiel-Dateien bzw. -Code zu finden.
Das ist ein Beispiel für fettgedruckt.
\textbf{<text>}
Das ist ein Beispiel für kursiv.
\textit{<text>}
Das ist ein Beispiel für Unterstrichen.
\underline{<text>}
Für Abkürzungen wird das Paket acro
verwendet, mehr Information dazu gibt es in der Dokumentation.
❗
\printacronyms
funktioniert nicht immer beim ersten durchlauf, das Dokument muss ggf. mehrmals gebaut werden!
Abkürzungen werden in der folgenden Datei abgelegt:
transferleistungs_template/src/internal/acronyms.tex
Eine Abkürzung wird wie folgt angelegt (in der Dokumentation gibt noch weitere Parameter, die aber optional sind):
\DeclareAcronym{<id>}{
short = <short>,
long = <long>
}
\ac{<id>} % -> <long> (<short>)
\acs{<id>} % -> <short>
\acl{<id>} % -> <long>
Anhänge werden unter /assets/appendix
abgelegt. Anhänge können dann mit folgendem Custom Befehl hinzugefügt werden:
\addAppendix{<tile>}{<filename>}
FYI der Befehl ist in /src/internal/config.tex
zu finden.
Weiter schnelle Informationen über BibLaTeX sind hier zu finden.
Wenn zwei Attribute von einander mit einem
/
getrennt sind (z. B.year/date = {},
) muss sich für eins entschieden werden.
Quellen-Codeblöcke werden in die Datei /src/internal/bibliography.bib
eingefügt.
Ein Einzelstück, ein Buch mit einem oder mehreren Autoren, wo die Autoren alle zusammen gearbeitet haben.
@book{<id>,
% pflicht
author = {},
title = {},
year/date = {},
% optional
editor = {},
editora = {},
editorb = {},
editorc = {},
translator = {},
annotator = {},
commentator = {},
introduction = {},
foreword = {},
afterword = {},
subtitle = {},
titleaddon = {},
maintitle = {},
mainsubtitle = {},
maintitleaddon = {},
language = {},
origlanguage = {},
volume = {},
part = {},
edition = {},
volumes = {},
series = {},
number = {},
note = {},
publisher = {},
location = {},
isbn = {},
eid = {},
chapter = {},
pages = {},
pagetotal = {},
addendum = {},
pubstate = {},
doi = {},
eprint = {},
eprintclass = {},
eprinttype = {},
url = {},
urldate = {},
}
Ein Artikel in einem Journal, einer Zeitschrift, einer Zeitung oder einem anderem Periodikum, welches einen eigenen Abschnitt mit einem eigenen Titel erhält.
Die Datenfelder sind gleich zu
@book
mit dem Unterschied, dassjournaltitle={}
ein Pflichtfeld ist.
@article{<id>,
% pflicht
author={},
title={},
journaltitle={},
year/date={},
% optional
editor = {},
editora = {},
editorb = {},
editorc = {},
translator = {},
annotator = {},
commentator = {},
introduction = {},
foreword = {},
afterword = {},
subtitle = {},
titleaddon = {},
maintitle = {},
mainsubtitle = {},
maintitleaddon = {},
language = {},
origlanguage = {},
volume = {},
part = {},
edition = {},
volumes = {},
series = {},
number = {},
note = {},
publisher = {},
location = {},
isbn = {},
eid = {},
chapter = {},
pages = {},
pagetotal = {},
addendum = {},
pubstate = {},
doi = {},
eprint = {},
eprintclass = {},
eprinttype = {},
url = {},
urldate = {},
}
Dieser Eingabetyp ist für reine Onlinequellen wie Websites gedacht. Zu beachten ist, dass alle Eingabetypen das url-Feld unterstützen. Zum Beispiel, beim Zitieren eines Artikels aus einer Zeitschrift, die online verfügbar ist, ist der @article-Typ und dessen url-Feld zu verweden.
@online{<id>,
% plficht
author/editor = {},
title = {},
year/date = {},
doi/eprint/url = {},
% optional
subtitle = {},
titleaddon = {},
language = {},
version = {},
note = {},
organization = {},
month = {},
addendum = {},
pubstate = {},
eprintclass = {},
eprinttype = {},
urldate = {},
}
Eine Fallbacklösung für Quellen, die sonst in keine Kategorie passen. Das Feld
howpublished
kann hilfreich sein für eine Klarifizierung wo die Quelle herkommt.
Ein Augenmerk sei auch auf type
zu legen um zu klären, was die Quelle überhaupt
darstellt.
Es sollte auch unpublished
erwähnt werden, jedoch fehlt da das organization
Feld, welches jedoch bei internen Quellen benötigt wird.
@misc{<id>,
% pflicht
author/editor = {},
title = {},
year/date = {},
% optional
subtitle = {},
titleaddon = {},
language = {},
howpublished = {},
type = {},
version = {},
note = {},
organization = {},
location = {},
month = {},
addendum = {},
pubstate = {},
doi = {},
eprint = {},
eprintclass = {},
eprinttype = {},
url = {},
urldate = {}
}
Im Gegensatz zu \cite
sind bei \parencite
die Klammern vorhanden
\parencite{<id>}
\parencite[vgl.][<seite>]{<id>}
Direkte Zitate sollten zwar möglichst vermieden werden, jedoch sind sie ab und zu
nötig oder nützlich. Das Paket csqoutes
bietet eine große Auswahl an Möglichkeiten. Mit dem folgenden Befehl wird eine ansehnliche weise des Zitierens verwendet, welche sich aus dem Text hervorhebt.
(Die Klammern werden schon von der Umgebung displayquotes
gesetzt, daher kann \cite
verwendet werden.)
\begin{displayquote}[\cite{<bibid>}]
\emph{<text>}
\end{displayquote}
Pro Zeile:
% chktex <cktex_warning_number>
Mehrere Warnungen in einer Zeile (für jede Warnung muss mit einem neuen chktex angekündigt werden):
% chktex <cktex_warning_number> chktex <cktex_warning_number>
Für das ganze Projekt können Regeln in der .chktexrc
unterdrückt werden mit:
-n<cktex_warning_number>
Zum Beispiel
-n44
# 44: User Regex: -2:Use \toprule, midrule, or \bottomrule from booktabs.
# Because: booktabs my have a better handeling of tables but the difference in linethickness is very offputting with smaller tables and \hline is sufficient.
Ein Kommentar um welche Regel es sich handelt und warum sie deaktiviert ist kann hier sehr hilfreich sein!
Grafiken werden in /assets/images/
abgelegt.
\begin{figure}[H] % Grafik soll hier im Text stehen.
\centering
\includegraphics[width=.8\linewidth]{<graphics name>} % importiere Grafik
\caption{<caption text>} % Bildbeschreibung
\label{<label>} % das lable um auf die Grafik zu referieren
\end{figure}
\begin{figure}[H]
\centering
\begin{subfigure}{.4\textwidth}
\centering
\includegraphics[width=.8\linewidth]{<subfig filename 1>}
\caption{<suvfig caption 1>}
\label{<subfig label 1>}
\end{subfigure}
\begin{subfigure}{.4\textwidth}
\centering
\includegraphics[width=.8\linewidth]{<subfig filename 2>}
\caption{<suvfig caption 2>}
\label{<subfig label 2>}
\end{subfigure}
\caption{<caption>}
\label{<fig label>}
\end{figure}
\ref{fig:<label>}
TBD
\begin{itemize}
\item Item 1
\item Item 2
\item Item 3
\end{itemize}
\renewcommand{\labelitemi}{<symbol>}
Codeblöcke werden mit dem Paket minted realisiert.
\begin{listing}[H]
\begin{minted}{c} % sprache festlegen (hier c)
int main() {
// print hello world
printf("hello, world!");
return 0;
}
\end{minted}
\caption{Hello world in C}
\label{lst:listing}
\end{listing}
\mintinline{c}|int i = 1|.
Festgelegt in src/transferleinstung/transferleistung.tex
% list of code
\renewcommand{\headingValue}{Quelltext}
\renewcommand\listoflistingscaption{\headingValue} % Name ändern (original List of Listings)
\listoflistings
\addcontentsline{toc}{section}{\headingValue}
\newpage
Festgelegt in config/config.tex
\renewcommand{\listingscaption}{Quelltext}
Festgelegt in config/config.tex
\usemintedstyle{vs}
Festgelegt in config/config.tex
\setminted{%
autogobble,
linenos, % enable line numbers
% numbers = left, % default none
% numbes is essentially the same as linenos exceot the side can be specified
tabsize = 4 % default 8
}
Festgelegt in config/config.tex
Muss separat über das Makro \theFancyVerbLine
angepasst werden.
\renewcommand{\theFancyVerbLine}{%
\textcolor{gray}{%
\ttfamily
\scriptsize
\oldstylenums{\arabic{FancyVerbLine}}
}
}