diff options
Diffstat (limited to 'common/latex/preamble/core')
-rw-r--r-- | common/latex/preamble/core/chemistry.tex | 5 | ||||
-rw-r--r-- | common/latex/preamble/core/copyright.tex | 15 | ||||
-rw-r--r-- | common/latex/preamble/core/date_and_time.tex | 1 | ||||
-rw-r--r-- | common/latex/preamble/core/encoding.tex | 4 | ||||
-rw-r--r-- | common/latex/preamble/core/graphics_and_floats.tex | 22 | ||||
-rw-r--r-- | common/latex/preamble/core/index.tex | 8 | ||||
-rw-r--r-- | common/latex/preamble/core/linting.tex | 1 | ||||
-rw-r--r-- | common/latex/preamble/core/margindate.tex | 37 | ||||
-rw-r--r-- | common/latex/preamble/core/math.tex | 25 | ||||
-rw-r--r-- | common/latex/preamble/core/mod.tex | 15 | ||||
-rw-r--r-- | common/latex/preamble/core/notes.tex | 1 | ||||
-rw-r--r-- | common/latex/preamble/core/references.tex | 37 | ||||
-rw-r--r-- | common/latex/preamble/core/visuals.tex | 10 |
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} +} |