about summary refs log tree commit diff stats
path: root/common/latex/preamble/core
diff options
context:
space:
mode:
Diffstat (limited to 'common/latex/preamble/core')
-rw-r--r--common/latex/preamble/core/chemistry.tex5
-rw-r--r--common/latex/preamble/core/copyright.tex15
-rw-r--r--common/latex/preamble/core/date_and_time.tex1
-rw-r--r--common/latex/preamble/core/encoding.tex4
-rw-r--r--common/latex/preamble/core/graphics_and_floats.tex22
-rw-r--r--common/latex/preamble/core/index.tex8
-rw-r--r--common/latex/preamble/core/linting.tex1
-rw-r--r--common/latex/preamble/core/margindate.tex37
-rw-r--r--common/latex/preamble/core/math.tex25
-rw-r--r--common/latex/preamble/core/mod.tex15
-rw-r--r--common/latex/preamble/core/notes.tex1
-rw-r--r--common/latex/preamble/core/references.tex37
-rw-r--r--common/latex/preamble/core/visuals.tex10
13 files changed, 181 insertions, 0 deletions
diff --git a/common/latex/preamble/core/chemistry.tex b/common/latex/preamble/core/chemistry.tex
new file mode 100644
index 0000000..94f2592
--- /dev/null
+++ b/common/latex/preamble/core/chemistry.tex
@@ -0,0 +1,5 @@
+\usepackage[locale = %INIT_SIUNITX_LANGUAGE]{siunitx} % For easy unit representation
+\sisetup{per-mode = fraction}
+
+\usepackage[version=4]{mhchem} % for \ce command
+\usepackage{chemfig}
diff --git a/common/latex/preamble/core/copyright.tex b/common/latex/preamble/core/copyright.tex
new file mode 100644
index 0000000..268b910
--- /dev/null
+++ b/common/latex/preamble/core/copyright.tex
@@ -0,0 +1,15 @@
+\ExplSyntaxOn
+\cs_new_protected:Npn \SetAuthors #1
+{
+	\tl_const:Nn \AuthorList {#1}
+}
+\cs_new_protected:Npn \SetYears #1
+{
+	\tl_const:Nn \YearList {#1}
+}
+\ExplSyntaxOff
+
+\usepackage[scale=2]{ccicons} % Typeset the cc icons
+
+% TODO: Add a `\copyright` macro, that generates the copyright text automatically and
+% language defined <2024-10-03>
diff --git a/common/latex/preamble/core/date_and_time.tex b/common/latex/preamble/core/date_and_time.tex
new file mode 100644
index 0000000..32e838d
--- /dev/null
+++ b/common/latex/preamble/core/date_and_time.tex
@@ -0,0 +1 @@
+\usepackage[%INIT_DATE_TIME_LANGUAGE, showdow]{datetime2} % make handling dates easier
diff --git a/common/latex/preamble/core/encoding.tex b/common/latex/preamble/core/encoding.tex
new file mode 100644
index 0000000..1f48d2a
--- /dev/null
+++ b/common/latex/preamble/core/encoding.tex
@@ -0,0 +1,4 @@
+
+\usepackage[utf8]{inputenc} % use utf8 encoding
+\usepackage[T1]{fontenc} % for 8bit font support
+\usepackage{lmodern} % latin modern fonts, should be better than ae, aecompl
diff --git a/common/latex/preamble/core/graphics_and_floats.tex b/common/latex/preamble/core/graphics_and_floats.tex
new file mode 100644
index 0000000..b975c5f
--- /dev/null
+++ b/common/latex/preamble/core/graphics_and_floats.tex
@@ -0,0 +1,22 @@
+\usepackage{graphicx} % allows for easy inclusion of graphics
+\usepackage{xcolor} % colors and color mixing \color{red!30!green!40!blue}
+
+\usepackage{tikz} % Nice drawn graphics, for library see: https://tex.stackexchange.com/a/42664
+\usetikzlibrary{calc}
+
+\usepackage{pgfplots} % plots, 2D and 3D
+\pgfplotsset{compat=1.19} % Set a compatibility level, to be able to use the new versions
+
+\usetikzlibrary{external}
+\tikzexternalize[prefix=figures/, mode=list and make]
+
+% \usetikzlibrary{intersections, angles, quotes, calc, positioning}
+% \usetikzlibrary{arrows.meta} %TODO maybe deprecated?
+
+% \usepackage{tikz-cd} % better commutative diagrams
+% \usepackage{subcaption} % like caption package, but for subfigures
+% \usepackage{booktabs} % better tables
+
+
+\usepackage{float} % Allows placing floats here (H) and creating new floats `\newfloat`
+\usepackage{wrapfig} % Wraps text around figures with the \begin{wrapfigure} environment
diff --git a/common/latex/preamble/core/index.tex b/common/latex/preamble/core/index.tex
new file mode 100644
index 0000000..a52cc20
--- /dev/null
+++ b/common/latex/preamble/core/index.tex
@@ -0,0 +1,8 @@
+\usepackage{index} % Helps to create an index
+\makeindex
+
+\ifdraft{
+	\usepackage{showidx}
+} {
+	\message {Draft packages not loaded, showidx not loaded.}
+}
diff --git a/common/latex/preamble/core/linting.tex b/common/latex/preamble/core/linting.tex
new file mode 100644
index 0000000..a1bbe34
--- /dev/null
+++ b/common/latex/preamble/core/linting.tex
@@ -0,0 +1 @@
+\usepackage{nag}
diff --git a/common/latex/preamble/core/margindate.tex b/common/latex/preamble/core/margindate.tex
new file mode 100644
index 0000000..5579f98
--- /dev/null
+++ b/common/latex/preamble/core/margindate.tex
@@ -0,0 +1,37 @@
+\DTMnewdatestyle{margindate}{
+	\renewcommand*\DTMdisplaydate[4]{
+		\MakeLowercase{\DTMshortweekdayname{##4}}\space
+		\number##3\relax\space
+		\MakeLowercase{\DTMshortmonthname{##2}}\space
+		\DTMtwodigits{\DTMtwodigits{##1}}
+	}
+	\renewcommand*\DTMDisplaydate[4]{
+		\DTMshortweekdayname{##4}\space
+		##3\space
+		\DTMshortmonthname{##2}\space
+		\DTMtwodigits{\DTMtwodigits{##1}}
+	}
+}
+
+\NewDocumentCommand\MarginContent{m}{
+	\marginpar{
+		\small\textsf{\mbox{#1}}
+	}\relax
+}
+
+\NewDocumentCommand\MarginDate{m}{
+	{
+			\DTMsetdatestyle{margindate}
+
+			\MarginContent{\DTMDate{#1}}
+		}
+}
+
+\NewDocumentCommand\AnnotatedSection{m m}{
+	\section{#1}
+	\MarginContent{#2}
+}
+\NewDocumentCommand\DatedSection{m m}{
+	\section{#1}
+	\MarginDate{#2}
+}
diff --git a/common/latex/preamble/core/math.tex b/common/latex/preamble/core/math.tex
new file mode 100644
index 0000000..35144df
--- /dev/null
+++ b/common/latex/preamble/core/math.tex
@@ -0,0 +1,25 @@
+\usepackage{amsmath}  % extensive math commands
+\usepackage{amsfonts} % more fonts for math (fracture, boldfaced and so on)
+\usepackage{mathtools} % extension to amsmath, with more sensible defaults (eq numbers only when referenced)
+\usepackage{amssymb} % more symbols, mostly redundant because already loaded by something else
+\usepackage{mathrsfs} % support for the RSFS fonts (through \mathscr command)
+\usepackage{cancel} % allows to cancel a part in math mode, for example to shorten a term
+\usepackage{bm} % bold mode in math, but better than \boldsymbol command from ams. \bm
+
+% number sets
+\NewDocumentCommand\N{}{\ensuremath{\mathbb{N}}}
+\NewDocumentCommand\R{}{\ensuremath{\mathbb{R}}}
+\NewDocumentCommand\Z{}{\ensuremath{\mathbb{Z}}}
+\NewDocumentCommand\Q{}{\ensuremath{\mathbb{Q}}}
+\NewDocumentCommand\C{}{\ensuremath{\mathbb{C}}}
+\NewDocumentCommand\O{}{\ensuremath{\emptyset}} % replaces the Ø
+
+% readable limits
+\let\svlim\lim{}
+\renewcommand\lim{\svlim\limits}
+
+% aliases
+\let\implies\Rightarrow{}
+\let\impliedby\Leftarrow{}
+
+\let\epsilon{\varepsilon} % I like the textual epsilon more
diff --git a/common/latex/preamble/core/mod.tex b/common/latex/preamble/core/mod.tex
new file mode 100644
index 0000000..3a800a1
--- /dev/null
+++ b/common/latex/preamble/core/mod.tex
@@ -0,0 +1,15 @@
+% Core packages (used in the implementation of this preamble)
+\usepackage{ifdraft}
+
+\input{headers/preamble/core/chemistry.tex}
+\input{headers/preamble/core/copyright.tex}
+\input{headers/preamble/core/date_and_time.tex}
+\input{headers/preamble/core/encoding.tex}
+\input{headers/preamble/core/graphics_and_floats.tex}
+\input{headers/preamble/core/index.tex}
+\input{headers/preamble/core/linting.tex}
+\input{headers/preamble/core/margindate.tex}
+\input{headers/preamble/core/math.tex}
+\input{headers/preamble/core/notes.tex}
+\input{headers/preamble/core/references.tex}
+\input{headers/preamble/core/visuals.tex}
diff --git a/common/latex/preamble/core/notes.tex b/common/latex/preamble/core/notes.tex
new file mode 100644
index 0000000..8eab467
--- /dev/null
+++ b/common/latex/preamble/core/notes.tex
@@ -0,0 +1 @@
+\usepackage[obeyFinal,%INIT_BABLE_LANGUAGE]{todonotes}
diff --git a/common/latex/preamble/core/references.tex b/common/latex/preamble/core/references.tex
new file mode 100644
index 0000000..69a6ad6
--- /dev/null
+++ b/common/latex/preamble/core/references.tex
@@ -0,0 +1,37 @@
+\usepackage[%INIT_BABLE_LANGUAGE]{babel} % For language support
+\usepackage{csquotes} % required by biblatex
+
+% \usepackage{biblatex-dw}
+\usepackage[backend=biber,
+	% style=footnote-dw,
+	% pageref=true,
+	% annotation=true,
+	% library=true,
+	%
+	style=numeric,
+	autocite=plain,
+	doi=true,
+	isbn=true,
+	loccittracker=true,
+	opcittracker=true,
+	% No idea what it does, but it was recomended to me
+	defernumbers=true
+]{biblatex} % For bibtex references
+\addbibresource{ref/references.bib}
+% \bibliography{res/reference} % Set the location of the references
+
+\usepackage[nospace,%INIT_BABLE_LANGUAGE]{varioref} % for \vref
+\usepackage[%INIT_BABLE_LANGUAGE, noabbrev, nameinlink]{cleveref}
+\usepackage[pdflang=%INIT_DATE_TIME_LANGUAGE]{hyperref}
+\hypersetup{
+	colorlinks,
+	linkcolor={black},
+	citecolor={black},
+	urlcolor={blue!80!black}
+}
+
+\ifdraft{
+	\usepackage{showlabels}
+} {
+	\message {Draft packages not loaded, showlabels not loaded.}
+}
diff --git a/common/latex/preamble/core/visuals.tex b/common/latex/preamble/core/visuals.tex
new file mode 100644
index 0000000..96a2fd2
--- /dev/null
+++ b/common/latex/preamble/core/visuals.tex
@@ -0,0 +1,10 @@
+\usepackage[disable=ifdraft]{microtype} % makes text better to read
+\usepackage{emptypage} % no page numbers and headings on empty pages
+
+\usepackage{blindtext} % blindtext
+
+
+% horizontal rule
+\NewDocumentCommand{\hr}{}{
+	\par\noindent\rule[0.5ex]{\linewidth}{0.5pt}
+}