Update docs (mostly), fixes, etc
This commit is contained in:
35
.gitea/workflows/update-docs.yml
Normal file
35
.gitea/workflows/update-docs.yml
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
name: Update docs
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- 'docs/**'
|
||||||
|
jobs:
|
||||||
|
build_docs:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Set up Git repository
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
- name: Sign into gitea registry
|
||||||
|
uses: https://github.com/docker/login-action@v3
|
||||||
|
with:
|
||||||
|
username: ${{ vars.REGISTRY_USER_USERNAME }}
|
||||||
|
password: ${{ secrets.REGISTRY_USER_PASSWORD }}
|
||||||
|
registry: ${{ vars.REGISTRY_BASE_URL }}
|
||||||
|
- name: Run format of docs
|
||||||
|
uses: actions/latex-format@main
|
||||||
|
with:
|
||||||
|
workdir: docs
|
||||||
|
- name: Run build
|
||||||
|
uses: actions/latex-full@main
|
||||||
|
with:
|
||||||
|
workdir: docs
|
||||||
|
include_helpers: true
|
||||||
|
- name: Upload compiled docs
|
||||||
|
uses: actions/git-auto-commit-action@v7
|
||||||
|
with:
|
||||||
|
commit_message: "[skip ci] Build docs on push"
|
||||||
|
file_pattern: '*.pdf'
|
||||||
|
commit_user_name: LaTeX compiler [bot]
|
||||||
|
commit_user_email: actions@janishutz.com
|
||||||
|
commit_author: LaTeX compiler [bot] <actions@janishutz.com>
|
||||||
|
push_options: "--force"
|
||||||
35
.gitea/workflows/update-helpers.yml
Normal file
35
.gitea/workflows/update-helpers.yml
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
name: Update helpers
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- 'src/**'
|
||||||
|
jobs:
|
||||||
|
build_helpers:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Set up Git repository
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
- name: Sign into gitea registry
|
||||||
|
uses: https://github.com/docker/login-action@v3
|
||||||
|
with:
|
||||||
|
username: ${{ vars.REGISTRY_USER_USERNAME }}
|
||||||
|
password: ${{ secrets.REGISTRY_USER_PASSWORD }}
|
||||||
|
registry: ${{ vars.REGISTRY_BASE_URL }}
|
||||||
|
- name: Run format of main
|
||||||
|
uses: actions/latex-format@main
|
||||||
|
with:
|
||||||
|
workdir: main
|
||||||
|
- name: Run format of extra
|
||||||
|
uses: actions/latex-format@main
|
||||||
|
with:
|
||||||
|
workdir: extra
|
||||||
|
- name: Run build
|
||||||
|
run: ./build.sh
|
||||||
|
- name: Upload compiled helpers
|
||||||
|
uses: actions/git-auto-commit-action@v7
|
||||||
|
with:
|
||||||
|
commit_message: "[skip ci] Build helpers on push"
|
||||||
|
commit_user_name: Helpers compiler [bot]
|
||||||
|
commit_user_email: actions@janishutz.com
|
||||||
|
commit_author: Helpers compiler [bot] <actions@janishutz.com>
|
||||||
|
push_options: "--force"
|
||||||
@@ -38,12 +38,13 @@ output = load_all_files_of_array("../src/", ["header.sty"])
|
|||||||
if build_sty:
|
if build_sty:
|
||||||
output += f"\\ProvidesPackage{{janishutz-helpers}}[{datetime.datetime.now().date().isoformat()} v{version}]\n\n"
|
output += f"\\ProvidesPackage{{janishutz-helpers}}[{datetime.datetime.now().date().isoformat()} v{version}]\n\n"
|
||||||
output += load_all_files_of_array("../src/", ["core.sty"])
|
output += load_all_files_of_array("../src/", ["core.sty"])
|
||||||
output += load_all_files_of_array("../src/config/", os.listdir("../src/config/"))
|
output += load_all_files_of_array("../config/", os.listdir("../config/"))
|
||||||
l = labels.generate_labels()
|
l = labels.generate_labels()
|
||||||
output += l[0] + "\n\n"
|
output += l[0] + "\n\n"
|
||||||
output += l[1]
|
output += l[1]
|
||||||
output += load_all_files_of_array("../src/", ["style.sty"])
|
output += load_all_files_of_array("../src/", ["style.sty"])
|
||||||
output += load_all_files_of_array("../src/core/", os.listdir("../src/core/"))
|
output += load_all_files_of_array("../src/core/", os.listdir("../src/core/"))
|
||||||
|
output += load_all_files_of_array("../src/counters/", os.listdir("../src/counters/"))
|
||||||
output += load_all_files_of_array("../src/style/", os.listdir("../src/style/"))
|
output += load_all_files_of_array("../src/style/", os.listdir("../src/style/"))
|
||||||
|
|
||||||
output += "\\endinput"
|
output += "\\endinput"
|
||||||
|
|||||||
@@ -10,10 +10,11 @@ def generate_labels():
|
|||||||
"lemma",
|
"lemma",
|
||||||
"corollary",
|
"corollary",
|
||||||
"proposition",
|
"proposition",
|
||||||
|
"axiom",
|
||||||
"fact",
|
"fact",
|
||||||
"formula",
|
"formula",
|
||||||
"remark",
|
"remark",
|
||||||
"combine",
|
"combined",
|
||||||
]:
|
]:
|
||||||
data += f"\\newcounter{{{label}none}}\n"
|
data += f"\\newcounter{{{label}none}}\n"
|
||||||
reset_func += f"\n \\setcounter{{{label}none}}{{0}}\n"
|
reset_func += f"\n \\setcounter{{{label}none}}{{0}}\n"
|
||||||
@@ -35,7 +36,7 @@ def generate_labels():
|
|||||||
reset_func += f" \\setcounter{{{label}paragraph}}{{0}}\n"
|
reset_func += f" \\setcounter{{{label}paragraph}}{{0}}\n"
|
||||||
|
|
||||||
# Generate tcolorboxes
|
# Generate tcolorboxes
|
||||||
if label != "combine":
|
if label != "combined":
|
||||||
data += f"""\\newtcolorbox{{{label}}}[2][]{{
|
data += f"""\\newtcolorbox{{{label}}}[2][]{{
|
||||||
mainboxstyle,
|
mainboxstyle,
|
||||||
colback={label}color!5!white,
|
colback={label}color!5!white,
|
||||||
|
|||||||
@@ -5,32 +5,19 @@
|
|||||||
\newcommand{\authorTitle}{Janis Hutz\\\url{https://janishutz.com}}
|
\newcommand{\authorTitle}{Janis Hutz\\\url{https://janishutz.com}}
|
||||||
\newcommand{\authorHeaders}{Janis Hutz}
|
\newcommand{\authorHeaders}{Janis Hutz}
|
||||||
|
|
||||||
% Configure your address here
|
|
||||||
\newcommand{\name}{Janis Hutz}
|
|
||||||
\newcommand{\street}{Street}
|
|
||||||
\newcommand{\city}{City}
|
|
||||||
\newcommand{\countrycode}{CH}
|
|
||||||
|
|
||||||
% Set the default language
|
|
||||||
\renewcommand{\currentLanguage}{en}
|
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
% ┌ ┐
|
||||||
% │ Rendering │
|
% │ Rendering │
|
||||||
% └ ┘
|
% └ ┘
|
||||||
% Short descriptors are generated from the naming defined in naming.sty
|
|
||||||
% You may here configure how they are generated. #1 is the full name.
|
|
||||||
\newcommand{\shortDescriptorNameTemplate}[1]{\StrBefore[1]{#1}}
|
|
||||||
|
|
||||||
% Specify how the inline and short descriptors (e.g. Lemma, etc) are rendered.
|
% Specify how the inline and short descriptors (e.g. Lemma, etc) are rendered.
|
||||||
% - #1 is the name of the descriptor
|
% - #1 is the name of the descriptor
|
||||||
% - #2 is the number (correctly rendered according to settings and preceded with space if not disabled)
|
% - #2 is the number (correctly rendered according to settings and preceded with space if not disabled)
|
||||||
% - #3 is the name passed (non-empty asserted)
|
% - #3 is the name passed (non-empty asserted)
|
||||||
\newcommand{\shortDescriptorTemplate}[3]{\bg{#1color}{\shortDescriptorNameTemplate{\namingTranslate{#1}} #2} \textit{(#3)}}
|
\newcommand{\shortDescriptorTemplate}[3]{\bg{#1color}{\shortNamingTranslate{#1} #2} \textit{(#3)}}
|
||||||
\newcommand{\inlineDescriptorTemplate}[3]{\bg{#1color}{\namingTranslate{#1} #2}: \textit{(#3)}}
|
\newcommand{\inlineDescriptorTemplate}[3]{\bg{#1color}{\namingTranslate{#1} #2}: \textit{(#3)}}
|
||||||
|
|
||||||
% These are used if no name is provided and argument #4 from above is the missing argument
|
% These are used if no name is provided and argument #4 from above is the missing argument
|
||||||
\newcommand{\anonymousShortDescriptorTemplate}[2]{\bg{#1color}{\shortDescriptorNameTemplate{\namingTranslate{#1}} #2}}
|
\newcommand{\anonymousShortDescriptorTemplate}[2]{\bg{#1color}{\shortNamingTranslate{#1} #2}}
|
||||||
\newcommand{\anonymousInlineDescriptorTemplate}[2]{\bg{#1color}{\namingTranslate{#1} #2}}
|
\newcommand{\anonymousInlineDescriptorTemplate}[2]{\bg{#1color}{\namingTranslate{#1} #2}}
|
||||||
|
|
||||||
% background command config (draws a small box around the content)
|
% background command config (draws a small box around the content)
|
||||||
@@ -39,3 +39,43 @@
|
|||||||
\newcommand{\usageNamingDE}{Nutzung}
|
\newcommand{\usageNamingDE}{Nutzung}
|
||||||
\newcommand{\recallNamingDE}{Repetition}
|
\newcommand{\recallNamingDE}{Repetition}
|
||||||
\newcommand{\propertiesNamingDE}{Eigenschaften}
|
\newcommand{\propertiesNamingDE}{Eigenschaften}
|
||||||
|
|
||||||
|
|
||||||
|
% Specify here what they should be shortened to
|
||||||
|
\newcommand{\definitionShortNamingEN}{D}
|
||||||
|
\newcommand{\theoremShortNamingEN}{T}
|
||||||
|
\newcommand{\lemmaShortNamingEN}{L}
|
||||||
|
\newcommand{\corollaryShortNamingEN}{C}
|
||||||
|
\newcommand{\axiomShortNamingEN}{A}
|
||||||
|
\newcommand{\factShortNamingEN}{F}
|
||||||
|
\newcommand{\propositionShortNamingEN}{P}
|
||||||
|
\newcommand{\exampleShortNamingEN}{E}
|
||||||
|
\newcommand{\formulaShortNamingEN}{F}
|
||||||
|
\newcommand{\remarkShortNamingEN}{R}
|
||||||
|
\newcommand{\proofShortNamingEN}{Proof}
|
||||||
|
\newcommand{\intuitionShortNamingEN}{Intuition}
|
||||||
|
\newcommand{\termShortNamingEN}{Term}
|
||||||
|
\newcommand{\notationShortNamingEN}{Not.}
|
||||||
|
\newcommand{\taskShortNamingEN}{Task}
|
||||||
|
\newcommand{\usageShortNamingEN}{Usage}
|
||||||
|
\newcommand{\recallShortNamingEN}{Recall}
|
||||||
|
\newcommand{\propertiesShortNamingEN}{Prop.}
|
||||||
|
|
||||||
|
\newcommand{\definitionShortNamingDE}{D}
|
||||||
|
\newcommand{\theoremShortNamingDE}{T}
|
||||||
|
\newcommand{\lemmaShortNamingDE}{L}
|
||||||
|
\newcommand{\corollaryShortNamingDE}{K}
|
||||||
|
\newcommand{\axiomShortNamingDE}{A}
|
||||||
|
\newcommand{\factShortNamingDE}{F}
|
||||||
|
\newcommand{\propositionShortNamingDE}{S}
|
||||||
|
\newcommand{\exampleShortNamingDE}{Bsp}
|
||||||
|
\newcommand{\formulaShortNamingDE}{F}
|
||||||
|
\newcommand{\remarkShortNamingDE}{B}
|
||||||
|
\newcommand{\proofShortNamingDE}{Bew.}
|
||||||
|
\newcommand{\intuitionShortNamingDE}{Int.}
|
||||||
|
\newcommand{\termShortNamingDE}{Begriff}
|
||||||
|
\newcommand{\notationShortNamingDE}{Not.}
|
||||||
|
\newcommand{\taskShortNamingDE}{Aufg.}
|
||||||
|
\newcommand{\usageShortNamingDE}{Nutz.}
|
||||||
|
\newcommand{\recallShortNamingDE}{Rep.}
|
||||||
|
\newcommand{\propertiesShortNamingDE}{Eig.}
|
||||||
@@ -35,5 +35,3 @@
|
|||||||
\newcommand{\usagenumbering}{default}
|
\newcommand{\usagenumbering}{default}
|
||||||
\newcommand{\recallnumbering}{default}
|
\newcommand{\recallnumbering}{default}
|
||||||
\newcommand{\propertiesnumbering}{default}
|
\newcommand{\propertiesnumbering}{default}
|
||||||
\newcommand{\tablenumbering}{default}
|
|
||||||
\newcommand{\figurenumbering}{default}
|
|
||||||
BIN
docs/docs.pdf
Normal file
BIN
docs/docs.pdf
Normal file
Binary file not shown.
@@ -1,76 +1,58 @@
|
|||||||
\documentclass{article}
|
\documentclass{article}
|
||||||
|
|
||||||
\usepackage{janishutz-helpers}
|
\input{../janishutz-helpers.tex}
|
||||||
|
|
||||||
\setup{Docs - \LaTeX \hspace{0mm} helpers}
|
\setup{Docs - \LaTeX \hspace{0mm} helpers}
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
\startDocument
|
\startDocument
|
||||||
\usetcolorboxes
|
|
||||||
|
|
||||||
\vspace{4cm}
|
% ── Title page ──────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
\vspace{2cm}
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\includegraphics[width=0.5\linewidth]{../assets/logo.jpg}
|
\includegraphics[width=0.5\linewidth]{../assets/logo.jpg}
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
|
|
||||||
|
\vspace{5cm}
|
||||||
|
\begin{center}
|
||||||
|
\begin{Large}
|
||||||
|
\textsc{Usage guide for Version 2.0.0}
|
||||||
|
\end{Large}
|
||||||
|
|
||||||
|
\hlurl{https://git.janishutz.com/janishutz/latex}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
|
||||||
|
% ── Table of contents ───────────────────────────────────────────────
|
||||||
\newpage
|
\newpage
|
||||||
\printtoc{Aquamarine}
|
\printtoc{Aquamarine}
|
||||||
|
|
||||||
\newpage
|
|
||||||
\section{Introduction}
|
|
||||||
This set of \LaTeX files is designed to give you a good looking, pre-configured \LaTeX setup, which helps you get started much more quickly.
|
|
||||||
|
|
||||||
It has some configuration options already, but more are to come soon. If you have any suggestions as to what should be added, don't hesitate to open a support ticket at \url{https://support.janishutz.com?a=add} or contacting me via email to \texttt{development@janishutz.com}.
|
|
||||||
|
|
||||||
|
|
||||||
\section{Breaking Changes}
|
|
||||||
Please note that the regex provided below are for NeoVim and you may need to replace \verb|\(\)| with \verb|()|
|
|
||||||
\subsection{Time complexity}
|
|
||||||
The timecomplexity commands have been updated to require math environment. You can use the following regex to fix them
|
|
||||||
|
|
||||||
\verb|/ \\tc\([olt]\){\(.*)}\([, .\n]\)/ \$\\tc\1{\2}\$\3/g| (execute first)\\
|
|
||||||
and \verb|/\\text{\\tc\([olt]\){\(.*\)}}/\\tc\1{\2}/g|
|
|
||||||
|
|
||||||
\subsection{Labels \& Environments}
|
|
||||||
The counter environments can now be referenced (see \ref{sec:counters}).
|
|
||||||
Due to the new requirements set out by that addition, it is now no longer possible to manually update the counters using
|
|
||||||
\verb|\setcounter|.
|
|
||||||
Use the below regex to replace all occurrences of \verb|\setcounter| with the new format.
|
|
||||||
Please note that this will overwrite \textit{all} occurrences of \verb|\setcounter| with the specific old format with \verb|\setLabelNumber|:
|
|
||||||
|
|
||||||
\verb|/\\setcounter{\(.*\)s}/\\setLabelNumber{\1}/g| and \verb|/\\setcounter{all}/\\setLabelNumber{all}/g|
|
|
||||||
|
|
||||||
and for the \verb|\stepcounter| as well
|
|
||||||
|
|
||||||
\verb|/\\stepcounter{\(.*\)s}/\\stepLabelNumber{\1}| and \verb|/\\stepcounter{all}/\\stepLabelNumber{all}/g|.
|
|
||||||
|
|
||||||
|
|
||||||
\section{Installation}
|
|
||||||
You can install these helper files by downloading this repo and storing it to any location on your PC, remembering where that location is.
|
|
||||||
|
|
||||||
You may also install the VSCode snippets found in the vscode-snippets folder. These snippets provide autocompletion for many of the commands that this helper file provides.
|
|
||||||
|
|
||||||
|
|
||||||
\input{./parts/usage.tex}
|
|
||||||
|
|
||||||
\input{./parts/custom-loader.tex}
|
|
||||||
|
|
||||||
% ┌ ┐
|
% ┌ ┐
|
||||||
% │ Reference │
|
% │ Imports │
|
||||||
% └ ┘
|
% └ ┘
|
||||||
|
\input{./parts/intro.tex}
|
||||||
|
\input{./parts/usage.tex}
|
||||||
|
|
||||||
|
|
||||||
|
% ── Reference ───────────────────────────────────────────────────────
|
||||||
\input{./parts/reference/intro.tex}
|
\input{./parts/reference/intro.tex}
|
||||||
\input{./parts/reference/loading.tex}
|
\input{./parts/reference/loading.tex}
|
||||||
\input{./parts/reference/math.tex}
|
\input{./parts/reference/math.tex}
|
||||||
\input{./parts/reference/cs.tex}
|
\input{./parts/reference/cs.tex}
|
||||||
\input{./parts/reference/style/intro.tex}
|
\input{./parts/reference/style/intro.tex}
|
||||||
|
\input{./parts/reference/style/spacing.tex}
|
||||||
\input{./parts/reference/style/tcolorbox/default.tex}
|
\input{./parts/reference/style/tcolorbox/default.tex}
|
||||||
\input{./parts/reference/style/tcolorbox/counter.tex}
|
\input{./parts/reference/style/tcolorbox/counter.tex}
|
||||||
\input{./parts/reference/style/tcolorbox/other.tex}
|
\input{./parts/reference/style/tcolorbox/other.tex}
|
||||||
\input{./parts/reference/style/descriptors.tex}
|
\input{./parts/reference/style/descriptors.tex}
|
||||||
\input{./parts/reference/tables-index.tex}
|
\input{./parts/reference/tables-index.tex}
|
||||||
\input{./parts/reference/extras.tex}
|
% \input{./parts/reference/extras.tex}
|
||||||
|
%
|
||||||
|
%
|
||||||
\input{./parts/troubleshooting.tex}
|
% \input{./parts/troubleshooting.tex}
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
\newsection
|
|
||||||
\section{Custom Loader}
|
|
||||||
You can create a custom loader by defining a \verb|load|\{\textit{string}\} macro (or any other, if you are aware you need to change that in your main file for it to work) that uses the \verb|\dir| command to resolve the custom parts.
|
|
||||||
Take a look at the \texttt{/include.tex} file for inspiration on how to do it, if you also want it to do case distinction.
|
|
||||||
|
|
||||||
You can also include some the pre-built configs from the \texttt{dist/} folder.
|
|
||||||
20
docs/parts/intro.tex
Normal file
20
docs/parts/intro.tex
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
\newpage
|
||||||
|
\section{Introduction}
|
||||||
|
This set of \LaTeX files is designed to give you a good looking, pre-configured \LaTeX setup, which helps you get started much more quickly.
|
||||||
|
|
||||||
|
There are quite a lot of configuration options, but it is likely that more are to come in the future.
|
||||||
|
If you have any suggestions as to what should be added, don't hesitate to open a \hlhref{https://support.janishutz.com?a=add}{support ticket}\
|
||||||
|
or contacting me via email to \texttt{development@janishutz.com}.
|
||||||
|
|
||||||
|
|
||||||
|
\section{Breaking Changes}
|
||||||
|
The current version is almost entirely incompatible with Version 1.X and you should familiarize yourself with the new commands.
|
||||||
|
|
||||||
|
The docs contain a section (section \ref{sec:migration}) on migrating from V1.X to V2.X
|
||||||
|
|
||||||
|
|
||||||
|
\section{Installation}
|
||||||
|
You can install these helper files by downloading this repo and storing it to any location on your PC, remembering where that location is.
|
||||||
|
|
||||||
|
You may also install the VSCode snippets found in the vscode-snippets folder. These snippets provide autocompletion for many of the commands that this helper file provides.
|
||||||
|
|
||||||
0
docs/parts/migration/00_intro.tex
Normal file
0
docs/parts/migration/00_intro.tex
Normal file
@@ -1,9 +1,7 @@
|
|||||||
\newpage
|
\newpage
|
||||||
\subsection{CS-Commands}
|
\subsection{CS-Commands}
|
||||||
These commands have to be executed inside math environment, except \verb|\timecomplexity| and \verb|\tc|.
|
These commands have to be executed inside math environment
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \verb|\timecomplexity| Prints the word time complexity with a coloured box.
|
|
||||||
\item \verb|\tc| Shorthand for \verb|\tct|. Deprecated
|
|
||||||
\item \verb|\tct| Time complexity in $\tct{}$-notation (average case)
|
\item \verb|\tct| Time complexity in $\tct{}$-notation (average case)
|
||||||
\item \verb|\tco| Time complexity in $\tco{}$-notation (worst case / upper bound)
|
\item \verb|\tco| Time complexity in $\tco{}$-notation (worst case / upper bound)
|
||||||
\item \verb|\tcl| Time complexity in $\tcl{}$-notation (best case / lower bound)
|
\item \verb|\tcl| Time complexity in $\tcl{}$-notation (best case / lower bound)
|
||||||
@@ -16,7 +14,7 @@ These commands have to be executed inside math environment, except \verb|\timeco
|
|||||||
\item \verb|\alphabetbool| Prints $\alphabetbool$
|
\item \verb|\alphabetbool| Prints $\alphabetbool$
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\fhlc{Aquamarine}{Algorithms}
|
\subsubsection{Algorithms}
|
||||||
\begin{minted}{latex}
|
\begin{minted}{latex}
|
||||||
\begin{algo}{functionName(A)}
|
\begin{algo}{functionName(A)}
|
||||||
\Procedure{functionName}{$(A)$}
|
\Procedure{functionName}{$(A)$}
|
||||||
@@ -30,3 +28,40 @@ These commands have to be executed inside math environment, except \verb|\timeco
|
|||||||
\State\Return "Hello World"
|
\State\Return "Hello World"
|
||||||
\EndProcedure
|
\EndProcedure
|
||||||
\end{algo}
|
\end{algo}
|
||||||
|
|
||||||
|
|
||||||
|
\subsubsection{Code}
|
||||||
|
If you get compilation errors, be sure to enable \texttt{-shell-escape} for your compiler.
|
||||||
|
\textit{(Note: Some newer versions of LaTeX do no longer require this and it is better to keep it turned off for security reasons, if it works without)}!
|
||||||
|
|
||||||
|
|
||||||
|
\paragraph{Code inlined in tex file}
|
||||||
|
\begin{minted}{latex}
|
||||||
|
\begin{code}{language}
|
||||||
|
//Code goes here
|
||||||
|
\end{code}
|
||||||
|
\end{minted}
|
||||||
|
|
||||||
|
This is nothing different than a wrapper for a minted environment with a box drawn around it.
|
||||||
|
|
||||||
|
Example (in python):
|
||||||
|
|
||||||
|
\begin{code}{python}
|
||||||
|
def hello_world():
|
||||||
|
print("hello world!")
|
||||||
|
\end{code}
|
||||||
|
|
||||||
|
|
||||||
|
\paragraph{Code in separate files}
|
||||||
|
It is also possible to load code from a source file using the provided commands:
|
||||||
|
\begin{itemize}
|
||||||
|
\item \verb|\inputcode|\{\textit{language}\}\{\textit{file}\}, where \textit{language} is the programming language
|
||||||
|
and \textit{file} is the file name of the file to be loaded, relative to the main tex file.
|
||||||
|
\item \verb|\inputcodewithfilename|\{\textit{language}\}\{\textit{hidden-path}\}\{\textit{shown-path}\}, where \textit{language} is the programming language,
|
||||||
|
\textit{hidden-path} is the part of the path you want to hide of the file to be loaded, relative to the main tex file
|
||||||
|
and \textit{shown-path} is the displayed part.
|
||||||
|
\end{itemize}
|
||||||
|
\inlineexample
|
||||||
|
\begin{minted}{latex}
|
||||||
|
\inputcodewithfilename{python}{/start/of/path}{/shown/path/file.py}
|
||||||
|
\end{minted}
|
||||||
|
|||||||
@@ -1,42 +1,10 @@
|
|||||||
\newpage
|
\newpage
|
||||||
\subsection{Extras}
|
\section{BibTeX}
|
||||||
\subsubsection{BibTeX}
|
|
||||||
\textit{Included in \texttt{recommended} and up}
|
|
||||||
|
|
||||||
Use \verb|\setupBiber|\{\textit{/path/to/your/bib/sources.bib file}\} in the preamble to prepare, then use \verb|\printbib| to print your bibliography.
|
Use \verb|\setupBiber|\{\textit{/path/to/your/bib/sources.bib file}\} in the preamble to prepare, then use \verb|\printbib| to print your bibliography.
|
||||||
|
|
||||||
To add more sources, simply use bibter's built-in macro \verb|\addbibresource|\textit{\{filepath\}}, which will load your \texttt{.bib} file.
|
To add more sources, simply use bibter's built-in macro \verb|\addbibresource|\textit{\{filepath\}}, which will load your \texttt{.bib} file.
|
||||||
You need to use that inside the preamble as well.
|
You need to use that inside the preamble as well.
|
||||||
|
|
||||||
|
|
||||||
\subsubsection{Glossary}
|
\section{Glossary}
|
||||||
\textit{Included in \texttt{recommended} and up}
|
|
||||||
|
|
||||||
Use \verb|\setupGlossary| in the preamble to prepare, then use the normal glossary commands to add entries to the glossary. When you want to print it, use \verb|\printGlossary|.
|
Use \verb|\setupGlossary| in the preamble to prepare, then use the normal glossary commands to add entries to the glossary. When you want to print it, use \verb|\printGlossary|.
|
||||||
|
|
||||||
\subsubsection{Minted}
|
|
||||||
\textit{Included in \texttt{full}}
|
|
||||||
|
|
||||||
Be sure to enable \texttt{-shell-escape} for your compiler
|
|
||||||
\textit{(Note: Some newer versions of LaTeX do no longer require this and it is better to keep it turned off for security reasons, if it works without)}!
|
|
||||||
|
|
||||||
When \texttt{minted} is available via these helpers, you will also have access to the \texttt{code} environment:
|
|
||||||
|
|
||||||
\begin{minted}{latex}
|
|
||||||
\begin{code}{language}
|
|
||||||
//Code goes here
|
|
||||||
\end{code}
|
|
||||||
\end{minted}
|
|
||||||
|
|
||||||
This is nothing different than a wrapper for a minted environment with a box drawn around it.
|
|
||||||
|
|
||||||
Example (in python):
|
|
||||||
|
|
||||||
\begin{code}{python}
|
|
||||||
def hello_world():
|
|
||||||
print("hello world!")
|
|
||||||
\end{code}
|
|
||||||
|
|
||||||
If you want to print code inline, use \verb|\inlinecode|\textit{\{string\}}, which renders to \inlinecode{code}.
|
|
||||||
|
|
||||||
\textit{Caveat: This is not using the \texttt{verbatim} environment due to various limitations of that environment and instead is simply using} \verb|\texttt{}|, so you cannot use this to print \LaTeX-commands
|
|
||||||
|
|||||||
@@ -2,11 +2,10 @@
|
|||||||
\section{Full Command Reference}
|
\section{Full Command Reference}
|
||||||
\subsection{Variables}
|
\subsection{Variables}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \textit{scope}: \texttt{minimal}, \texttt{most}, \texttt{recommended}, \texttt{all} or \texttt{letter}
|
|
||||||
\item \textit{string}: Any normal text
|
\item \textit{string}: Any normal text
|
||||||
|
\item \textit{boolean}: \texttt{true} or \texttt{false}
|
||||||
\item \textit{math}: Any math input
|
\item \textit{math}: Any math input
|
||||||
\item \textit{number}: Any non-negative integer, i.e. no commas
|
\item \textit{number}: Any non-negative integer, i.e. no commas
|
||||||
\item \textit{color}: Any of the \texttt{dvipsnames} colours of \texttt{xcolor}
|
\item \textit{color}: Any of the \texttt{dvipsnames} colours of \texttt{xcolor} or as defined in the color config file
|
||||||
\item \textit{langauge}: 2-character country code (currently only \texttt{de} and \texttt{en} supported)
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
|||||||
@@ -3,37 +3,54 @@
|
|||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \verb|\renewcommand{\authorTitle}|\{\textit{string}\} Change the author (in the title) for this document only
|
\item \verb|\renewcommand{\authorTitle}|\{\textit{string}\} Change the author (in the title) for this document only
|
||||||
\item \verb|\renewcommand{\authorHeaders}|\{\textit{string}\} Change the author (in the header) for this document only
|
\item \verb|\renewcommand{\authorHeaders}|\{\textit{string}\} Change the author (in the header) for this document only
|
||||||
|
\item \verb|\renewcommand{\<descriptor>NamingDE}|\{\textit{string}\} Configure translations for descriptors on the fly (for DE)
|
||||||
|
\item \verb|\renewcommand{\<descriptor>NamingEN}|\{\textit{string}\} Configure translations for descriptors on the fly (for EN)
|
||||||
|
\item \verb|\setnumberingpreset|\{\textit{string}\}
|
||||||
|
Change the numbering preset of definitions, lemmas, etc for this document.
|
||||||
|
Value can be \texttt{off}, \texttt{separate}, \texttt{combined}.
|
||||||
|
\item \verb|\renewcommand{<descriptor>numbering}|\{\textit{string}\}
|
||||||
|
Change the numbering for an individual descriptor, passed as first argument.
|
||||||
|
The second value can be \texttt{off}, \texttt{separate}, \texttt{combined} or \texttt{default}.
|
||||||
|
If set to \texttt{default}, it will follow the \verb|\numberingpreset| setting.
|
||||||
|
If you do not override it here, it will follow your global config as set in the config directory
|
||||||
|
and if unset there, it will follow the \verb|\numberingpreset| setting.
|
||||||
|
\item \verb|\renew|\{\textit{string}\} Change the format of the numbering of definitions, etc.
|
||||||
|
The value can be set to any of the below
|
||||||
|
\begin{itemize}[noitemsep]
|
||||||
|
\item none = $<$section$>$.$<$number$>$
|
||||||
|
\item section = $<$section$>$.$<$number$>$
|
||||||
|
\item subsection = $<$section$>$.$<$subsection$>$.$<$number$>$
|
||||||
|
\item subsubsection = $<$section$>$.$<$subsection$>$.$<$subsubsection$>$.$<$number$>$
|
||||||
|
\item paragraph = $<$section$>$.$<$subsection$>$.$<$subsubsection$>$.$<$paragraph$>$.$<$number$>$
|
||||||
|
\end{itemize}
|
||||||
|
Changing this won't affect all of numbering prior to the command, only after. You can change this setting (and the ones above) at any point in the document
|
||||||
|
\item \verb|\setcounter{descriptorShadeStrength}|\{\textit{number}\} Change the colour saturation of the inline descriptors
|
||||||
|
\item \verb|\setcounter{shadeStrength}|\{\textit{number}\} Change the colour saturation of the \verb|\shade| command
|
||||||
|
\item \verb|\loadGerman| Load german configuration. Needs to be in preamble and you may only use it once
|
||||||
|
\item To change the font for the entire document, load the font package using \verb|\usepackage|, with the last occurrence of a font package determining the active one.
|
||||||
|
Then select the type by using \verb|\setFontType|\textit{\{mono $|$ serif $|$ sans\}}.
|
||||||
|
A list of fonts is available \color{Cyan}\href{https://www.overleaf.com/learn/latex/Font_typefaces#Reference_guide}{here}\color{black}.
|
||||||
|
You may change the font only for a specific section, by enclosing \verb|\setFont| and the text that should be written in said typeface in curly braces.
|
||||||
|
\end{itemize}
|
||||||
|
\subsubsection{Letters}
|
||||||
|
\begin{itemize}
|
||||||
\item \verb|\renewcommand{\name}|\{\textit{string}\} Change the name (for letters) for this document only
|
\item \verb|\renewcommand{\name}|\{\textit{string}\} Change the name (for letters) for this document only
|
||||||
\item \verb|\renewcommand{\street}|\{\textit{string}\} Change the street (for letters) for this document only
|
\item \verb|\renewcommand{\street}|\{\textit{string}\} Change the street (for letters) for this document only
|
||||||
\item \verb|\renewcommand{\city}|\{\textit{string}\} Change the city (for letters) for this document only
|
\item \verb|\renewcommand{\city}|\{\textit{string}\} Change the city (for letters) for this document only
|
||||||
\item \verb|\renewcommand{\countrycode}|\{\textit{string}\} Change the country-code (for letters) for this document only
|
\item \verb|\renewcommand{\countrycode}|\{\textit{string}\} Change the country-code (for letters) for this document only
|
||||||
\item \verb|\renewcommand{\theoremde}|\{\textit{string}\} Change the translation for theorem in German (usually either ``Satz'' or ``Theorem'')
|
|
||||||
\item \verb|\setNumberingStyle|\{\textit{number}\} Change the numbering of definitions, lemmas, etc for this document. 0 = off, 1 = Separately, 2 = Combined (except for definition), 3 = Combined
|
|
||||||
\item \verb|\setcounter{numberSubsections}|\{\textit{number}\} Change the format of the numbering of definition, lemma, etc.
|
|
||||||
0 = $<$section$>$.$<$number$>$,\\
|
|
||||||
1 = $<$section$>$.$<$subsection$>$.$<$number$>$,\\
|
|
||||||
2 = $<$section$>$.$<$subsection$>$.$<$subsubsection$>$.$<$number$>$\\
|
|
||||||
Changing this won't affect all of numbering prior to the command, only after. You can change this setting (and the one above) at any point in the document
|
|
||||||
\item \verb|\setcounter{descriptorShadeStrength}|\{\textit{number}\} Change the colour saturation of the inline descriptors
|
|
||||||
\item \verb|\setcounter{shadeStrength}|\{\textit{number}\} Change the colour saturation of the \verb|\shade| command
|
|
||||||
\item \verb|\setLang|\{\textit{language}\} Change the language. Will automatically load babel in German. Can only be used once and only at the start of the document or in the preamble, as repeated usage leads to undefined behaviour
|
|
||||||
\item To change the font for the entire document, load the font package using \verb|\usepackage|, with the last occurrence of a font package determining the active one.
|
|
||||||
Then select the type by using \verb|\setFontType|\textit{\{mono $|$ serif $|$ sans\}}.
|
|
||||||
A list of fonts is available \color{Cyan}\href{https://www.overleaf.com/learn/latex/Font_typefaces#Reference_guide}{here}\color{black}.
|
|
||||||
You may change the font only for a specific section, by enclosing \verb|\setFont| and the text that should be written in said typeface in curly braces.
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\newpage
|
\newpage
|
||||||
\subsection{Setup, Loading \& Translation}
|
\subsection{Setup, Loading \& Translation}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \verb|\load|\{\textit{scope}\} Load the selected \textit{scope}
|
|
||||||
\item \verb|\setup|\{\textit{string}\} Prepare the document with the \textit{string} being the title
|
\item \verb|\setup|\{\textit{string}\} Prepare the document with the \textit{string} being the title
|
||||||
\item \verb|\setupCheatSheet|\{\textit{string}\} Prepare the document with smaller borders and no headers / footers. \textit{string} is the title
|
\item \verb|\setupCheatSheet|[\textit{boolean}]\{\textit{string}\} Prepare the document with smaller borders and no headers / footers.
|
||||||
|
The mandatory argument is the title, the optional argument will, if set to \texttt{true} use a landscape layout (default)
|
||||||
|
and a horizontal layout if set to \texttt{false}.
|
||||||
\item \verb|\setupBarebones|\{\textit{string}\} Minimal setup, only borders and title set
|
\item \verb|\setupBarebones|\{\textit{string}\} Minimal setup, only borders and title set
|
||||||
\item \verb|\startDocument| Initialize the document. Has to be called after \verb|\begin{document}|
|
\item \verb|\startDocument| Initialize the document. Has to be called after \verb|\begin{document}|
|
||||||
\item \verb|\usetcolorboxes| Initialize tcolorboxes. In main body, if you want to use fancy boxes. (requires \texttt{most} or up)
|
|
||||||
\item \verb|\translate|\{\textit{string}\}\{\textit{string}\} First \textit{string} is English, second \textit{string} is German. Switches automatically based on language selected
|
\item \verb|\translate|\{\textit{string}\}\{\textit{string}\} First \textit{string} is English, second \textit{string} is German. Switches automatically based on language selected
|
||||||
\item \verb|\tr|\{\textit{string}\}\{\textit{string}\} Shorthand for \verb|\translate|
|
\item \verb|\tr|\{\textit{string}\}\{\textit{string}\} Shorthand for \verb|\translate|
|
||||||
\item \verb|\numberingOn| Turn on the numbering (will set back to config previously set by \verb|\setNumberingStyle|)
|
\item \verb|\numberingOn| Turn on the numbering (if previously turned off using \verb|\numberingOff| or set in the config)
|
||||||
\item \verb|\numberingOff| Turn off the numbering (if you want to temporarily not use it. Do not use \verb|\setNumberingStyle| for that)
|
\item \verb|\numberingOff| Turn off the numbering (useful to temporarily turn off numbering)
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|||||||
@@ -5,14 +5,13 @@ All these have to be executed in the math environment.
|
|||||||
\item \verb|\R| Prints $\R$. Same goes for \verb|\C| printing $\C$, etc.
|
\item \verb|\R| Prints $\R$. Same goes for \verb|\C| printing $\C$, etc.
|
||||||
\item \verb|\floor|\{\textit{math}\} Round down symbol, e.g. $\floor{n}$
|
\item \verb|\floor|\{\textit{math}\} Round down symbol, e.g. $\floor{n}$
|
||||||
\item \verb|\ceil|\{\textit{math}\} Round up symbol, e.g. $\ceil{n}$
|
\item \verb|\ceil|\{\textit{math}\} Round up symbol, e.g. $\ceil{n}$
|
||||||
\item \verb|\hastoeq| or \verb|\mbeq| Has to equal symbol (non-standard), $\hastoeq$
|
|
||||||
\item \verb|\Leftrightarrowequiv| Equivalence transformation symbol, $\Leftrightarrowequiv$.
|
\item \verb|\Leftrightarrowequiv| Equivalence transformation symbol, $\Leftrightarrowequiv$.
|
||||||
\item \verb|\Rightarrowequiv| Equivalence transformation symbol, $\Rightarrowequiv$.
|
\item \verb|\Rightarrowequiv| Equivalence transformation symbol, $\Rightarrowequiv$.
|
||||||
\item \verb|\Leftarrowequiv| Equivalence transformation symbol, $\Leftarrowequiv$.
|
\item \verb|\Leftarrowequiv| Equivalence transformation symbol, $\Leftarrowequiv$.
|
||||||
\item \verb|\defAs| Define as, i.e. $\defAs$
|
\item \verb|\defAs| Define as, i.e. $\defAs$
|
||||||
\item \verb|\defEquiv| Define as, but with a two-sided implication instead of equality, i.e. $\defEquiv$
|
\item \verb|\defEquiv| Define as, but with a two-sided implication instead of equality, i.e. $\defEquiv$
|
||||||
\item \verb|\defImplies| Define as, but with one-sided implication, i.e. $\defImplies$
|
\item \verb|\defImplies| Define as, but with one-sided implication, i.e. $\defImplies$
|
||||||
\item \verb|\divides| Divider or divides symbol, e.g. $a \divides b$
|
\item \verb|\divider| Divider or divides symbol, e.g. $a \divider b$
|
||||||
\item \verb|\lcm| Least common multiple, $\lcm$
|
\item \verb|\lcm| Least common multiple, $\lcm$
|
||||||
\item \verb|\arcsinh| Inverse of hyperbolic sine, $\arcsinh$
|
\item \verb|\arcsinh| Inverse of hyperbolic sine, $\arcsinh$
|
||||||
\item \verb|\arccosh| Inverse of hyperbolic cosine, $\arccosh$
|
\item \verb|\arccosh| Inverse of hyperbolic cosine, $\arccosh$
|
||||||
@@ -21,8 +20,10 @@ All these have to be executed in the math environment.
|
|||||||
\item \verb|\limni| Shortened limit notation for $n \rightarrow \infty$, $\displaystyle \limni$
|
\item \verb|\limni| Shortened limit notation for $n \rightarrow \infty$, $\displaystyle \limni$
|
||||||
\item \verb|\liminfni| Shortened limit inferior notation for $n \rightarrow \infty$, $\displaystyle \liminfni$
|
\item \verb|\liminfni| Shortened limit inferior notation for $n \rightarrow \infty$, $\displaystyle \liminfni$
|
||||||
\item \verb|\limsupni| Shortened limit superior notation for $n \rightarrow \infty$, $\displaystyle \limsupni$
|
\item \verb|\limsupni| Shortened limit superior notation for $n \rightarrow \infty$, $\displaystyle \limsupni$
|
||||||
\item \verb|\der|\{\textit{math}\} Derivative, $\displaystyle \der{x}$
|
\item \verb|\diff|\{\textit{math}\} Derivative, $\displaystyle \diff{x}$
|
||||||
\item \verb|\dern|\{\textit{math}\}\{\textit{math}\} Higher derivative, $\displaystyle \dern{x}{2}$
|
\item \verb|\diffn|\{\textit{math}\}\{\textit{math}\} Higher derivative, $\displaystyle \diffn{x}{2}$
|
||||||
|
\item \verb|\pardiff|\{\textit{math}\} Partial derivative, $\displaystyle \pardiff{x}$
|
||||||
|
\item \verb|\pardiffn|\{\textit{math}\}\{\textit{math}\} Higher partial derivative, $\displaystyle \pardiffn{x}{2}$
|
||||||
\item \verb|\elementstack|\{\textit{math}\}\{\textit{math}\} Stack two elements on top of eachother. Uses \verb|\genfrac| under the hood.
|
\item \verb|\elementstack|\{\textit{math}\}\{\textit{math}\} Stack two elements on top of eachother. Uses \verb|\genfrac| under the hood.
|
||||||
Can be used for example in limits as an alternative to \verb|\atop| or \verb|\substack|.
|
Can be used for example in limits as an alternative to \verb|\atop| or \verb|\substack|.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
\newpage
|
\newpage
|
||||||
\subsubsection{Inline \& Shortened descriptors}
|
\subsubsection{Inline \& Shortened descriptors}
|
||||||
\textit{Included in \texttt{most} and up}
|
|
||||||
|
|
||||||
See \ref{sec:counters} for a guide on how to change the current number.
|
See \ref{sec:counters} for a guide on how to change the current number.
|
||||||
|
|
||||||
\fhlc{Aquamarine}{Inline}
|
\paragraph{Inline}
|
||||||
\begin{tables}{ll}{Command & Output}
|
\begin{tables}{ll}{Command & Output}
|
||||||
\verb|\inlineex| & \inlineex \\
|
\verb|\inlineexample| & \inlineexample \\
|
||||||
\verb|\inlinedef| & \inlinedef \\
|
\verb|\inlinedefinition| & \inlinedefinition \\
|
||||||
\verb|\inlinetheorem| & \inlinetheorem \\
|
\verb|\inlinetheorem| & \inlinetheorem \\
|
||||||
\verb|\inlinelemma| & \inlinelemma \\
|
\verb|\inlinelemma| & \inlinelemma \\
|
||||||
\verb|\inlinecorollary| & \inlinecorollary \\
|
\verb|\inlinecorollary| & \inlinecorollary \\
|
||||||
@@ -18,10 +16,10 @@ See \ref{sec:counters} for a guide on how to change the current number.
|
|||||||
\verb|\inlineproof| & \inlineproof \\
|
\verb|\inlineproof| & \inlineproof \\
|
||||||
\end{tables}
|
\end{tables}
|
||||||
|
|
||||||
\fhlc{Aquamarine}{Shortened}
|
\paragraph{Shortened}
|
||||||
\begin{tables}{ll}{Command & Output}
|
\begin{tables}{ll}{Command & Output}
|
||||||
\verb|\shortex| & \shortex \\
|
\verb|\shortexample| & \shortexample \\
|
||||||
\verb|\shortdef| & \shortdef \\
|
\verb|\shortdefinition| & \shortdefinition \\
|
||||||
\verb|\shorttheorem| & \shorttheorem \\
|
\verb|\shorttheorem| & \shorttheorem \\
|
||||||
\verb|\shortlemma| & \shortlemma \\
|
\verb|\shortlemma| & \shortlemma \\
|
||||||
\verb|\shortcorollary| & \shortcorollary \\
|
\verb|\shortcorollary| & \shortcorollary \\
|
||||||
@@ -31,45 +29,14 @@ See \ref{sec:counters} for a guide on how to change the current number.
|
|||||||
\verb|\shortremark| & \shortremark \\
|
\verb|\shortremark| & \shortremark \\
|
||||||
\verb|\shortproof| & \shortproof \\
|
\verb|\shortproof| & \shortproof \\
|
||||||
\end{tables}
|
\end{tables}
|
||||||
|
|
||||||
\newpage
|
\newpage
|
||||||
|
|
||||||
\fhlc{Aquamarine}{Inline (Named)}
|
|
||||||
\begin{tables}{ll}{Command & Output}
|
|
||||||
\verb|\fancyex|\{\textit{string}\} & \fancyex{Exercise} \\
|
|
||||||
\verb|\fancydef|\{\textit{string}\} & \fancydef{Definition} \\
|
|
||||||
\verb|\fancytheorem|\{\textit{string}\} & \fancytheorem{Theorem} \\
|
|
||||||
\verb|\fancylemma|\{\textit{string}\} & \fancylemma{Lemma} \\
|
|
||||||
\verb|\fancycorollary|\{\textit{string}\} & \fancycorollary{Corollary} \\
|
|
||||||
\verb|\fancyproposition|\{\textit{string}\} & \fancyproposition{Proposition} \\
|
|
||||||
\verb|\fancyfact|\{\textit{string}\} & \fancyfact{Fact} \\
|
|
||||||
\verb|\fancyaxiom|\{\textit{string}\} & \fancyaxiom{Axiom} \\
|
|
||||||
\verb|\fancyremark|\{\textit{string}\} & \fancyremark{Remark} \\
|
|
||||||
\verb|\fancyproof|\{\textit{string}\} & \fancyproof{Proof} \\
|
|
||||||
\end{tables}
|
|
||||||
|
|
||||||
\fhlc{Aquamarine}{Shortened (Named)}
|
|
||||||
\begin{tables}{ll}{Command & Output}
|
|
||||||
\verb|\compactex|\{\textit{string}\} & \compactex{Exercise} \\
|
|
||||||
\verb|\compactdef|\{\textit{string}\} & \compactdef{Definition} \\
|
|
||||||
\verb|\compacttheorem|\{\textit{string}\} & \compacttheorem{Theorem} \\
|
|
||||||
\verb|\compactlemma|\{\textit{string}\} & \compactlemma{Lemma} \\
|
|
||||||
\verb|\compactcorollary|\{\textit{string}\} & \compactcorollary{Corollary} \\
|
|
||||||
\verb|\compactproposition|\{\textit{string}\} & \compactproposition{Proposition} \\
|
|
||||||
\verb|\compactfact|\{\textit{string}\} & \compactfact{Fact} \\
|
|
||||||
\verb|\compactaxiom|\{\textit{string}\} & \compactaxiom{Axiom} \\
|
|
||||||
\verb|\compactremark|\{\textit{string}\} & \compactremark{Remark} \\
|
|
||||||
\verb|\compactproof|\{\textit{string}\} & \compactproof{Proof} \\
|
|
||||||
\end{tables}
|
|
||||||
|
|
||||||
|
|
||||||
\subsubsection{Changing the counters}
|
\subsubsection{Changing the counters}
|
||||||
\label{sec:counters}
|
\label{sec:counters}
|
||||||
\textit{Included in \texttt{most} and up}
|
|
||||||
|
|
||||||
\textit{Starting from the version of October 18, 2025, you may no longer use \texttt{$\backslash$setcounter} directly}
|
|
||||||
|
|
||||||
You may set the current number for the elements by setting their corresponding counter to the selected number.
|
You may set the current number for the elements by setting their corresponding counter to the selected number.
|
||||||
You can do this using \verb|\setLabelNumber|\{\textit{name of the environment}\}\{\textit{number}\},
|
You can do this using \verb|\setLabelNumber|\{\textit{name of the environment}\}\{\textit{number}\},
|
||||||
where you replace \textit{name of the environment} with one of the following:
|
where you replace \textit{name of the environment} with one of the following:
|
||||||
\texttt{definition}, \texttt{lemma}, \texttt{theorem}, \texttt{corollary}, \texttt{proposition}, \texttt{fact},
|
\texttt{definition}, \texttt{lemma}, \texttt{theorem}, \texttt{corollary}, \texttt{proposition}, \texttt{fact},
|
||||||
\texttt{formula}, \texttt{axiom}, \texttt{example}, \texttt{remark}
|
\texttt{formula}, \texttt{axiom}, \texttt{example}, \texttt{remark}
|
||||||
@@ -81,9 +48,9 @@ You may also use \verb|\stepLabelNumber|\{\textit{name of the environment}\} to
|
|||||||
|
|
||||||
|
|
||||||
\subsubsection{Referencing counters}
|
\subsubsection{Referencing counters}
|
||||||
\textit{Included in \texttt{most} and up, introduced on October 18, 2025}
|
\hl{\textit{With recent overhaul has not been re-introduced yet, will be a feature again soon, with some changes}}
|
||||||
|
|
||||||
If you wish to reference a counter, you can do so by writing
|
If you wish to reference a counter, you can do so by writing
|
||||||
|
|
||||||
\verb|\ref{<counter name>:<section>-<subsection>-<subsubsection>-<counter value>}|,
|
\verb|\ref{<counter name>:<section>-<subsection>-<subsubsection>-<counter value>}|,
|
||||||
|
|
||||||
|
|||||||
@@ -1,17 +1,9 @@
|
|||||||
\newpage
|
\newpage
|
||||||
\subsection{Style}
|
\subsection{Style}
|
||||||
General styling commands. All other commands, except these ones require at least \texttt{most} to be the selected \textit{scope}
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \verb|\TODO| Print a highlighted \TODO
|
\item \verb|\TODO| Print a highlighted \TODO
|
||||||
\item \verb|\background|\{\textit{color}\}\{\textit{number}\}\{\textit{string}\} Print \background{ForestGreen}{50}{shaded text, with colour saturation}
|
\item \verb|\background|\{\textit{color}\}\{\textit{number}\}\{\textit{string}\} Print \background{ForestGreen}{50}{shaded text, with colour saturation}
|
||||||
\item \verb|\shade|\{\textit{color}\}\{\textit{string}\} Print \shade{ForestGreen}{shaded text}
|
\item \verb|\shade|\{\textit{color}\}\{\textit{string}\} Print \shade{ForestGreen}{shaded text}
|
||||||
\item \verb|\backdrop|\{\textit{string}\} Print \backdrop{text with gray backdrop}
|
\item \verb|\backdrop|\{\textit{string}\} Print \backdrop{text with gray backdrop}
|
||||||
\item \verb|\fhlc|\{\textit{color}\}\{\textit{string}\} Print \fhlc{ForestGreen}{bold, underlined text in a coloured box}
|
|
||||||
\item \verb|\fhl|\{\textit{string}\} Print \fhl{bold, underlined text in a white box}
|
|
||||||
\item \verb|\printtoc|\{\textit{color}\} Print the table of contents (as seen on the first page). The normal \verb|\tableofcontents| still works as expected
|
\item \verb|\printtoc|\{\textit{color}\} Print the table of contents (as seen on the first page). The normal \verb|\tableofcontents| still works as expected
|
||||||
\item \verb|\smallhspace| Prints a 2mm hspace
|
|
||||||
\item \verb|\mediumhspace| Prints a 5mm hspace
|
|
||||||
\item \verb|\largehspace| Prints a 10mm = 1cm hspace
|
|
||||||
\item \verb|\rmvspace| Removes some of the vertical whitespace printed by environments like \verb|align|
|
|
||||||
\item \verb|\drmvspace| Removes some of the vertical whitespace printed by environments like \verb|align| (double the amount)
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|||||||
80
docs/parts/reference/style/spacing.tex
Normal file
80
docs/parts/reference/style/spacing.tex
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
\subsubsection{Spacing}
|
||||||
|
For spacing in math mode, prefer using the methods described \hlhref{https://www.overleaf.com/learn/latex/Spacing_in_math_mode}{here},
|
||||||
|
for vertical spacing prefer the commands described below
|
||||||
|
\begin{itemize}
|
||||||
|
\item \verb|\smallhspace| Prints a 2mm hspace
|
||||||
|
\item \verb|\mediumhspace| Prints a 5mm hspace
|
||||||
|
\item \verb|\largehspace| Prints a 10mm = 1cm hspace
|
||||||
|
\item \verb|\rmvspace|[\textit{number}] Removes an amount of vertical space. Should not be used unless can be avoided with general settings. Defaults to 0.5
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
Vertical spacing config for the entire document. By default, the \LaTeX\ defaults are used.
|
||||||
|
\begin{itemize}
|
||||||
|
\item \verb|\noverticalspacing|
|
||||||
|
\item \verb|\smallverticalspacing|
|
||||||
|
\item \verb|\mediumverticalspacing| (approximately the same as the \LaTeX defaults)
|
||||||
|
\item \verb|\largeverticalspacing|
|
||||||
|
\end{itemize}
|
||||||
|
You are of course free to redefine commands like \verb|\parskip|, etc to your liking, these commands are just provided for your convenience.
|
||||||
|
See \hlhref{https://www.overleaf.com/learn/latex/\%5Cabovedisplayskip_and_related_commands}{here}\ for more details
|
||||||
|
and \hlhref{https://latex-tutorial.com/latex-space/}{here for a good guide on spacing}.
|
||||||
|
|
||||||
|
To control paragraph spacing, see \hlhref{https://mirror.ox.ac.uk/sites/ctan.org/macros/latex/contrib/parskip/parskip.pdf}{here}\
|
||||||
|
and \hlhref{https://www.overleaf.com/learn/latex/Articles/How_to_change_paragraph_spacing_in_LaTeX}{here}
|
||||||
|
|
||||||
|
To make use of \TeX's automatic wrapping of short alignment environments, use the \texttt{aligned}
|
||||||
|
(or, if no alignment is needed, use the normal \verb|\[ <math> \]|) instead of the \texttt{align} environment for short equations.
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
Below a demonstration on the effects of the different settings:
|
||||||
|
|
||||||
|
\shade{Aquamarine}{No vertical spacing}\noverticalspacing
|
||||||
|
|
||||||
|
This is text:
|
||||||
|
\[
|
||||||
|
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
|
||||||
|
\]
|
||||||
|
This is very long introductory text that exceeds the limit (same applies to long equations)
|
||||||
|
\[
|
||||||
|
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
|
||||||
|
\]
|
||||||
|
Text following the equation (no paragraph break!)
|
||||||
|
|
||||||
|
|
||||||
|
\shade{Aquamarine}{Small vertical spacing}\smallverticalspacing
|
||||||
|
|
||||||
|
This is text:
|
||||||
|
\[
|
||||||
|
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
|
||||||
|
\]
|
||||||
|
This is very long introductory text that exceeds the limit (same applies to long equations)
|
||||||
|
\[
|
||||||
|
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
|
||||||
|
\]
|
||||||
|
Text following the equation (no paragraph break!)
|
||||||
|
|
||||||
|
|
||||||
|
\shade{Aquamarine}{Medium vertical spacing}\mediumverticalspacing
|
||||||
|
|
||||||
|
This is text:
|
||||||
|
\[
|
||||||
|
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
|
||||||
|
\]
|
||||||
|
This is very long introductory text that exceeds the limit (same applies to long equations)
|
||||||
|
\[
|
||||||
|
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
|
||||||
|
\]
|
||||||
|
Text following the equation (no paragraph break!)
|
||||||
|
|
||||||
|
|
||||||
|
\shade{Aquamarine}{Large vertical spacing}\largeverticalspacing
|
||||||
|
|
||||||
|
This is text:
|
||||||
|
\[
|
||||||
|
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
|
||||||
|
\]
|
||||||
|
This is very long introductory text that exceeds the limit (same applies to long equations)
|
||||||
|
\[
|
||||||
|
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
|
||||||
|
\]
|
||||||
|
Text following the equation (no paragraph break!)
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
\newpage
|
\newpage
|
||||||
\fhlc{Aquamarine}{Counter-enabled}
|
\paragraph{Counter-enabled}
|
||||||
|
|
||||||
These ones also have two settings, namely, you can change the counter behaviour and the inclusion of subsections in the numbering. See \ref{sec:perFileConf}.
|
These ones also have two settings, namely, you can change the counter behaviour and the inclusion of subsections in the numbering. See \ref{sec:perFileConf}.
|
||||||
|
|
||||||
See \ref{sec:counters} for a guide on how to change the current number and how to reference them.
|
See \ref{sec:counters} for a guide on how to change the current number and how to reference them.
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
\newpage
|
\newpage
|
||||||
\subsubsection{Tcolorboxes}
|
\subsubsection{Tcolorboxes}
|
||||||
\textit{Included in \texttt{most} and up}
|
\paragraph{General boxes}
|
||||||
|
These tcolorboxes can be created using the code displayed inside them.
|
||||||
|
|
||||||
Put \verb|\usetcolorboxes| right after \verb|\startDocument| (right after \verb|\begin{document}|) if you plan to use them.
|
|
||||||
|
|
||||||
\fhlc{Aquamarine}{General}
|
|
||||||
\begin{terms}[]{Title here}
|
\begin{terms}[]{Title here}
|
||||||
\begin{minted}{latex}
|
\begin{minted}{latex}
|
||||||
\begin{terms}[]{Title here}
|
\begin{terms}[]{Title here}
|
||||||
@@ -29,14 +27,6 @@ Put \verb|\usetcolorboxes| right after \verb|\startDocument| (right after \verb|
|
|||||||
\end{minted}
|
\end{minted}
|
||||||
\end{recall}
|
\end{recall}
|
||||||
|
|
||||||
\begin{remarks}[]{Title here}
|
|
||||||
\begin{minted}{latex}
|
|
||||||
\begin{remarks}[]{Title here}
|
|
||||||
|
|
||||||
\end{remarks}
|
|
||||||
\end{minted}
|
|
||||||
\end{remarks}
|
|
||||||
|
|
||||||
\begin{usage}[]{Title here}
|
\begin{usage}[]{Title here}
|
||||||
\begin{minted}{latex}
|
\begin{minted}{latex}
|
||||||
\begin{usage}[]{Title here}
|
\begin{usage}[]{Title here}
|
||||||
@@ -45,15 +35,6 @@ Put \verb|\usetcolorboxes| right after \verb|\startDocument| (right after \verb|
|
|||||||
\end{minted}
|
\end{minted}
|
||||||
\end{usage}
|
\end{usage}
|
||||||
|
|
||||||
\begin{guides}[]{Title here}{Tutorial}
|
|
||||||
\begin{minted}{latex}
|
|
||||||
\begin{guides}[]{Title here}{Tutorial}
|
|
||||||
% You can also change the right title on this one
|
|
||||||
|
|
||||||
\end{guides}
|
|
||||||
\end{minted}
|
|
||||||
\end{guides}
|
|
||||||
|
|
||||||
\begin{properties}[]{Title here}
|
\begin{properties}[]{Title here}
|
||||||
\begin{minted}{latex}
|
\begin{minted}{latex}
|
||||||
\begin{properties}[]{Title here}
|
\begin{properties}[]{Title here}
|
||||||
|
|||||||
@@ -1,26 +1,9 @@
|
|||||||
\vspace{1cm}
|
\paragraph{Flexible}
|
||||||
\fhlc{Aquamarine}{Language-Specific}
|
This tcolorbox has all the styles applied, but allows configuring the colour and both title boxes
|
||||||
\begin{conjugation}[]{Title here}
|
|
||||||
\begin{minted}{latex}
|
|
||||||
\begin{conjugation}[]{Title here}
|
|
||||||
|
|
||||||
\end{conjugation}
|
|
||||||
\end{minted}
|
|
||||||
\end{conjugation}
|
|
||||||
|
|
||||||
\begin{forms}[]{Title here}
|
|
||||||
\begin{minted}{latex}
|
|
||||||
\begin{forms}[]{Title here}
|
|
||||||
|
|
||||||
\end{forms}
|
|
||||||
\end{minted}
|
|
||||||
\end{forms}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\fhlc{Aquamarine}{Flexible}
|
|
||||||
\begin{general}[]{title}{second title}{red}
|
\begin{general}[]{title}{second title}{red}
|
||||||
This Tcolorbox is flexible and can take any main and secondary title, as well as any colour.\\
|
This Tcolorbox is flexible and can take any main and secondary title, as well as any colour.
|
||||||
|
|
||||||
\begin{minted}{latex}
|
\begin{minted}{latex}
|
||||||
\begin{general}[]{title}{second title}{red}
|
\begin{general}[]{title}{second title}{red}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
\newpage
|
\newpage
|
||||||
\subsection{Tables}
|
\subsection{Tables}
|
||||||
\textit{Included in \texttt{most} and up}
|
|
||||||
|
|
||||||
You can set up nice looking tables using the \texttt{booktab} and \texttt{tabulary} environments.
|
You can set up nice looking tables using the \texttt{booktab} and \texttt{tabulary} environments.
|
||||||
|
|
||||||
\textit{New as of October 28 2025:} Tables and figures are now also numbered according to your settings
|
\textit{New as of October 28 2025:} Tables and figures are now also numbered according to your settings
|
||||||
@@ -24,16 +22,15 @@ This doesn't use the \texttt{table} environment, so no captions are possible, as
|
|||||||
\end{fullTable}
|
\end{fullTable}
|
||||||
\end{minted}
|
\end{minted}
|
||||||
|
|
||||||
|
% TODO: Get it working again (generate new \thetable and \thefigure) for
|
||||||
This outputs as
|
This outputs as
|
||||||
|
|
||||||
|
|
||||||
\begin{fullTable}{ll}{Left & Right}{This is a caption}
|
\begin{fullTable}{ll}{Left & Right}{This is a caption}
|
||||||
Left content & Right Content\\
|
Left content & Right Content\\
|
||||||
\end{fullTable}
|
\end{fullTable}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\subsection{Index}
|
\subsection{Index}
|
||||||
\textit{Included in \texttt{most} and up}
|
|
||||||
|
|
||||||
If you want to use index, add \verb|\prepareIndex| to the preamble. Using \verb|\addIndexBold|\{\textit{string}\}, you can add entries to the index. They are printed in bold typeface in your document.
|
If you want to use index, add \verb|\prepareIndex| to the preamble. Using \verb|\addIndexBold|\{\textit{string}\}, you can add entries to the index. They are printed in bold typeface in your document.
|
||||||
Using \verb|\addIndex|\{\textit{string}\}, you can do the same, but the text remains normal and using \verb|\addIndexItalic|\{\textit{string}\}, it is printed in italics
|
Using \verb|\addIndex|\{\textit{string}\}, you can do the same, but the text remains normal and using \verb|\addIndexItalic|\{\textit{string}\}, it is printed in italics
|
||||||
|
|||||||
@@ -5,9 +5,7 @@ You can type \texttt{latex-prepare} and press tab, if you have installed the VSC
|
|||||||
\begin{minted}{latex}
|
\begin{minted}{latex}
|
||||||
\documentclass{article}
|
\documentclass{article}
|
||||||
|
|
||||||
\newcommand{\dir}{~/path/to/helper} % TODO: Change your path here! No trailing slashes!
|
\input{~/path/to/helpers/janishutz-helpers.tex} % TODO: Change your path here
|
||||||
\input{\dir/include.tex}
|
|
||||||
\load{recommended} % TODO: Change the inclusion level (if necessary), see below
|
|
||||||
|
|
||||||
\setup{Type your title here}
|
\setup{Type your title here}
|
||||||
|
|
||||||
@@ -19,30 +17,26 @@ Type your \LaTeX here
|
|||||||
\end{document}
|
\end{document}
|
||||||
\end{minted}
|
\end{minted}
|
||||||
|
|
||||||
The \verb|\load| command takes one parameter, which can be one of the following:
|
|
||||||
\begin{itemize}
|
|
||||||
\item \texttt{minimal} Just the core styling and core functionality.
|
|
||||||
\item \texttt{most} Includes Math, CS, Language and all styling.
|
|
||||||
\item \texttt{recommended} The recommended setup. Includes BibTeX in addition to what is in most
|
|
||||||
\item \texttt{all} If you want to also include glossaries or code with highlighting
|
|
||||||
\item \texttt{letter} If you want to typeset a letter (see \ref{sec:letters})
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
\subsection{Configuration}
|
\subsection{Configuration}
|
||||||
You can set a global config in config file in helper files directory. The file is located at
|
You can set a global config in the config files in the helper files directory. They are located at
|
||||||
|
|
||||||
|
\texttt{/<path to helpers>/config/}.
|
||||||
|
All config options are documented there.
|
||||||
|
After changing them, run \texttt{build.sh} in the main directory.
|
||||||
|
|
||||||
|
Each of the options can also be overridden directly on a per-document
|
||||||
|
(see \ref{sec:perFileConf}) basis using
|
||||||
|
\mint{latex}|\renewcommand{\<command>}{<value>}|
|
||||||
|
|
||||||
\texttt{/<path to helpers>/config/config.tex}. All configs are documented there. Simply open that file using any text editor and edit your config.
|
|
||||||
|
|
||||||
\subsection{Letters}
|
\subsection{Letters}
|
||||||
\label{sec:letters}
|
|
||||||
Letters require a different setup compared to a normal \LaTeX document:
|
Letters require a different setup compared to a normal \LaTeX document:
|
||||||
|
|
||||||
\begin{minted}{latex}
|
\begin{minted}{latex}
|
||||||
\documentclass[12pt,a4paper]{scrlttr2}
|
\documentclass[12pt,a4paper]{scrlttr2}
|
||||||
|
|
||||||
\newcommand{\dir}{~/path/to/helper} % TODO: Change your path here! No trailing slashes!
|
\input{~/path/to/helper/letter.tex} % TODO: Change your path here
|
||||||
\input{\dir/include.tex}
|
|
||||||
\load{letter}
|
|
||||||
|
|
||||||
\setkomavar{subject}{} % type your subject here
|
\setkomavar{subject}{} % type your subject here
|
||||||
\begin{document}\raggedright
|
\begin{document}\raggedright
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
\documentclass[12pt,a4paper]{scrlttr2}
|
\documentclass[12pt,a4paper]{scrlttr2}
|
||||||
|
|
||||||
\newcommand{\dir}{~/projects/latex} % IMPORTANT: No trailing slashes!
|
\input{~/projects/latex/letter.tex}
|
||||||
\input{\dir/include.tex}
|
|
||||||
\load{letter}
|
|
||||||
|
|
||||||
% Subject
|
% Subject
|
||||||
\setkomavar{subject}{Test}
|
\setkomavar{subject}{Test}
|
||||||
|
|||||||
@@ -390,29 +390,28 @@
|
|||||||
\newcommand{\dx}{\text{ d}}
|
\newcommand{\dx}{\text{ d}}
|
||||||
\newcommand{\floor}[1]{\left\lfloor #1 \right\rfloor}
|
\newcommand{\floor}[1]{\left\lfloor #1 \right\rfloor}
|
||||||
\newcommand{\ceil}[1]{\left\lceil #1 \right\rceil}
|
\newcommand{\ceil}[1]{\left\lceil #1 \right\rceil}
|
||||||
\newcommand{\hastoeq}{\overset{!}{=}}
|
|
||||||
\newcommand{\Leftrightarrowequiv}{\overset{\cdot}{\Leftrightarrow}}
|
\newcommand{\Leftrightarrowequiv}{\overset{\cdot}{\Leftrightarrow}}
|
||||||
\newcommand{\Longleftrightarrowequiv}{\overset{\cdot}{\Longleftrightarrow}}
|
\newcommand{\Longleftrightarrowequiv}{\overset{\cdot}{\Longleftrightarrow}}
|
||||||
\newcommand{\Rightarrowequiv}{\overset{\cdot}{\Rightarrow}}
|
\newcommand{\Rightarrowequiv}{\overset{\cdot}{\Rightarrow}}
|
||||||
\newcommand{\Leftarrowequiv}{\overset{\cdot}{\Leftarrow}}
|
\newcommand{\Leftarrowequiv}{\overset{\cdot}{\Leftarrow}}
|
||||||
\newcommand{\defAs}{\overset{\text{def}}{=}}
|
\newcommand{\defAs}{\overset{\text{def}}{=}}
|
||||||
\newcommand{\der}[1]{\frac{\mbox{d}}{\mbox{d}#1}}
|
|
||||||
\newcommand{\dern}[2]{\frac{\mbox{d}^{#2}}{\mbox{d}^{#2}#1}}
|
|
||||||
\newcommand{\parder}[1]{\frac{\partial}{\partial #1}}
|
|
||||||
\newcommand{\pardern}[2]{\frac{\partial^{#2}}{\partial^{#2} #1}}
|
|
||||||
\newcommand{\defEquiv}{\overset{\text{def}}{\Leftrightarrow}}
|
\newcommand{\defEquiv}{\overset{\text{def}}{\Leftrightarrow}}
|
||||||
\newcommand{\defImplies}{\overset{\text{def}}{\Rightarrow}}
|
\newcommand{\defImplies}{\overset{\text{def}}{\Rightarrow}}
|
||||||
\newcommand{\divides}{\hspace{0.25em}|\hspace{0.25em}}
|
\newcommand{\diff}[1]{\frac{\mbox{d}}{\mbox{d}#1}}
|
||||||
|
\newcommand{\diffn}[2]{\frac{\mbox{d}^{#2}}{\mbox{d}^{#2}#1}}
|
||||||
|
\newcommand{\pardiff}[1]{\frac{\partial}{\partial #1}}
|
||||||
|
\newcommand{\pardiffn}[2]{\frac{\partial^{#2}}{\partial^{#2} #1}}
|
||||||
|
\newcommand{\divider}{\hspace{0.25em}|\hspace{0.25em}}
|
||||||
\newcommand{\lcm}{\text{lcm}}
|
\newcommand{\lcm}{\text{lcm}}
|
||||||
\newcommand{\limit}[2]{\underset{#1 \rightarrow #2}{\lim}}
|
\newcommand{\limit}[2]{\underset{#1 \rightarrow #2}{\lim}}
|
||||||
\newcommand{\seq}[1]{(#1_n)_{n \geq 1}}
|
|
||||||
\newcommand{\ser}[2]{\sum_{k = 1}^{#2} #1_k}
|
|
||||||
\newcommand{\limni}{\limit{n}{\infty}}
|
\newcommand{\limni}{\limit{n}{\infty}}
|
||||||
\newcommand{\limnz}{\limit{n}{0}}
|
\newcommand{\limnz}{\limit{n}{0}}
|
||||||
\newcommand{\limxz}{\limit{x_0}{0}}
|
\newcommand{\limxz}{\limit{x_0}{0}}
|
||||||
\newcommand{\limhz}{\limit{h}{0}}
|
\newcommand{\limhz}{\limit{h}{0}}
|
||||||
\newcommand{\liminfni}{\liminf_{n \rightarrow \infty}}
|
\newcommand{\liminfni}{\liminf_{n \rightarrow \infty}}
|
||||||
\newcommand{\limsupni}{\limsup_{n \rightarrow \infty}}
|
\newcommand{\limsupni}{\limsup_{n \rightarrow \infty}}
|
||||||
|
\newcommand{\sequence}[1]{(#1_n)_{n \geq 1}}
|
||||||
|
\newcommand{\series}[2]{\sum_{k = 1}^{#2} #1_k}
|
||||||
|
|
||||||
\DeclareMathOperator\arctanh{arctanh}
|
\DeclareMathOperator\arctanh{arctanh}
|
||||||
\DeclareMathOperator\arccosh{arccosh}
|
\DeclareMathOperator\arccosh{arccosh}
|
||||||
|
|||||||
@@ -49,46 +49,16 @@
|
|||||||
|
|
||||||
\newcommand{\printTranslationOptionEN}[1]{\csname #1NamingEN\endcsname}
|
\newcommand{\printTranslationOptionEN}[1]{\csname #1NamingEN\endcsname}
|
||||||
\newcommand{\printTranslationOptionDE}[1]{\csname #1NamingDE\endcsname}
|
\newcommand{\printTranslationOptionDE}[1]{\csname #1NamingDE\endcsname}
|
||||||
|
\newcommand{\printShortTranslationOptionEN}[1]{\csname #1ShortNamingEN\endcsname}
|
||||||
|
\newcommand{\printShortTranslationOptionDE}[1]{\csname #1ShortNamingDE\endcsname}
|
||||||
|
|
||||||
|
\newboolean{numberingDisabled}
|
||||||
|
\setboolean{numberingDisabled}{false}
|
||||||
|
|
||||||
% ┌ ┐
|
\newcommand{\loadGerman}{
|
||||||
% │ General config │
|
\usepackage[ngerman]{babel}
|
||||||
% └ ┘
|
\renewcommand{\currentLanguage}{de}
|
||||||
% Configure your author name here
|
}
|
||||||
\newcommand{\authorTitle}{Janis Hutz\\\url{https://janishutz.com}}
|
|
||||||
\newcommand{\authorHeaders}{Janis Hutz}
|
|
||||||
|
|
||||||
% Configure your address here
|
|
||||||
\newcommand{\name}{Janis Hutz}
|
|
||||||
\newcommand{\street}{Street}
|
|
||||||
\newcommand{\city}{City}
|
|
||||||
\newcommand{\countrycode}{CH}
|
|
||||||
|
|
||||||
% Set the default language
|
|
||||||
\renewcommand{\currentLanguage}{en}
|
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
|
||||||
% │ Rendering │
|
|
||||||
% └ ┘
|
|
||||||
% Short descriptors are generated from the naming defined in naming.sty
|
|
||||||
% You may here configure how they are generated. #1 is the full name.
|
|
||||||
\newcommand{\shortDescriptorNameTemplate}[1]{\StrBefore[1]{#1}}
|
|
||||||
|
|
||||||
% Specify how the inline and short descriptors (e.g. Lemma, etc) are rendered.
|
|
||||||
% - #1 is the name of the descriptor
|
|
||||||
% - #2 is the number (correctly rendered according to settings and preceded with space if not disabled)
|
|
||||||
% - #3 is the name passed (non-empty asserted)
|
|
||||||
\newcommand{\shortDescriptorTemplate}[3]{\bg{#1color}{\shortDescriptorNameTemplate{\namingTranslate{#1}} #2} \textit{(#3)}}
|
|
||||||
\newcommand{\inlineDescriptorTemplate}[3]{\bg{#1color}{\namingTranslate{#1} #2}: \textit{(#3)}}
|
|
||||||
|
|
||||||
% These are used if no name is provided and argument #4 from above is the missing argument
|
|
||||||
\newcommand{\anonymousShortDescriptorTemplate}[2]{\bg{#1color}{\shortDescriptorNameTemplate{\namingTranslate{#1}} #2}}
|
|
||||||
\newcommand{\anonymousInlineDescriptorTemplate}[2]{\bg{#1color}{\namingTranslate{#1} #2}}
|
|
||||||
|
|
||||||
% background command config (draws a small box around the content)
|
|
||||||
\newcommand{\backgroundPadding}{2pt}
|
|
||||||
\newcommand{\backgroundRounding}{1pt}
|
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
% ┌ ┐
|
||||||
@@ -122,6 +92,33 @@
|
|||||||
\colorlet{propertiescolor}{purple}
|
\colorlet{propertiescolor}{purple}
|
||||||
|
|
||||||
|
|
||||||
|
% ┌ ┐
|
||||||
|
% │ General config │
|
||||||
|
% └ ┘
|
||||||
|
% Configure your author name here
|
||||||
|
\newcommand{\authorTitle}{Janis Hutz\\\url{https://janishutz.com}}
|
||||||
|
\newcommand{\authorHeaders}{Janis Hutz}
|
||||||
|
|
||||||
|
|
||||||
|
% ┌ ┐
|
||||||
|
% │ Rendering │
|
||||||
|
% └ ┘
|
||||||
|
% Specify how the inline and short descriptors (e.g. Lemma, etc) are rendered.
|
||||||
|
% - #1 is the name of the descriptor
|
||||||
|
% - #2 is the number (correctly rendered according to settings and preceded with space if not disabled)
|
||||||
|
% - #3 is the name passed (non-empty asserted)
|
||||||
|
\newcommand{\shortDescriptorTemplate}[3]{\bg{#1color}{\shortNamingTranslate{#1} #2} \textit{(#3)}}
|
||||||
|
\newcommand{\inlineDescriptorTemplate}[3]{\bg{#1color}{\namingTranslate{#1} #2}: \textit{(#3)}}
|
||||||
|
|
||||||
|
% These are used if no name is provided and argument #4 from above is the missing argument
|
||||||
|
\newcommand{\anonymousShortDescriptorTemplate}[2]{\bg{#1color}{\shortNamingTranslate{#1} #2}}
|
||||||
|
\newcommand{\anonymousInlineDescriptorTemplate}[2]{\bg{#1color}{\namingTranslate{#1} #2}}
|
||||||
|
|
||||||
|
% background command config (draws a small box around the content)
|
||||||
|
\newcommand{\backgroundPadding}{2pt}
|
||||||
|
\newcommand{\backgroundRounding}{1pt}
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
% ┌ ┐
|
||||||
% │ Numbering │
|
% │ Numbering │
|
||||||
% └ ┘
|
% └ ┘
|
||||||
@@ -159,8 +156,6 @@
|
|||||||
\newcommand{\usagenumbering}{default}
|
\newcommand{\usagenumbering}{default}
|
||||||
\newcommand{\recallnumbering}{default}
|
\newcommand{\recallnumbering}{default}
|
||||||
\newcommand{\propertiesnumbering}{default}
|
\newcommand{\propertiesnumbering}{default}
|
||||||
\newcommand{\tablenumbering}{default}
|
|
||||||
\newcommand{\figurenumbering}{default}
|
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
% ┌ ┐
|
||||||
@@ -206,6 +201,46 @@
|
|||||||
\newcommand{\propertiesNamingDE}{Eigenschaften}
|
\newcommand{\propertiesNamingDE}{Eigenschaften}
|
||||||
|
|
||||||
|
|
||||||
|
% Specify here what they should be shortened to
|
||||||
|
\newcommand{\definitionShortNamingEN}{D}
|
||||||
|
\newcommand{\theoremShortNamingEN}{T}
|
||||||
|
\newcommand{\lemmaShortNamingEN}{L}
|
||||||
|
\newcommand{\corollaryShortNamingEN}{C}
|
||||||
|
\newcommand{\axiomShortNamingEN}{A}
|
||||||
|
\newcommand{\factShortNamingEN}{F}
|
||||||
|
\newcommand{\propositionShortNamingEN}{P}
|
||||||
|
\newcommand{\exampleShortNamingEN}{E}
|
||||||
|
\newcommand{\formulaShortNamingEN}{F}
|
||||||
|
\newcommand{\remarkShortNamingEN}{R}
|
||||||
|
\newcommand{\proofShortNamingEN}{Proof}
|
||||||
|
\newcommand{\intuitionShortNamingEN}{Intuition}
|
||||||
|
\newcommand{\termShortNamingEN}{Term}
|
||||||
|
\newcommand{\notationShortNamingEN}{Not.}
|
||||||
|
\newcommand{\taskShortNamingEN}{Task}
|
||||||
|
\newcommand{\usageShortNamingEN}{Usage}
|
||||||
|
\newcommand{\recallShortNamingEN}{Recall}
|
||||||
|
\newcommand{\propertiesShortNamingEN}{Prop.}
|
||||||
|
|
||||||
|
\newcommand{\definitionShortNamingDE}{D}
|
||||||
|
\newcommand{\theoremShortNamingDE}{T}
|
||||||
|
\newcommand{\lemmaShortNamingDE}{L}
|
||||||
|
\newcommand{\corollaryShortNamingDE}{K}
|
||||||
|
\newcommand{\axiomShortNamingDE}{A}
|
||||||
|
\newcommand{\factShortNamingDE}{F}
|
||||||
|
\newcommand{\propositionShortNamingDE}{S}
|
||||||
|
\newcommand{\exampleShortNamingDE}{Bsp}
|
||||||
|
\newcommand{\formulaShortNamingDE}{F}
|
||||||
|
\newcommand{\remarkShortNamingDE}{B}
|
||||||
|
\newcommand{\proofShortNamingDE}{Bew.}
|
||||||
|
\newcommand{\intuitionShortNamingDE}{Int.}
|
||||||
|
\newcommand{\termShortNamingDE}{Begriff}
|
||||||
|
\newcommand{\notationShortNamingDE}{Not.}
|
||||||
|
\newcommand{\taskShortNamingDE}{Aufg.}
|
||||||
|
\newcommand{\usageShortNamingDE}{Nutz.}
|
||||||
|
\newcommand{\recallShortNamingDE}{Rep.}
|
||||||
|
\newcommand{\propertiesShortNamingDE}{Eig.}
|
||||||
|
|
||||||
|
|
||||||
\newcounter{definitionnone}
|
\newcounter{definitionnone}
|
||||||
\newcounter{definitionsection}[section]
|
\newcounter{definitionsection}[section]
|
||||||
\renewcommand{\thedefinitionsection}{\thesection.\arabic{definitionsection}}
|
\renewcommand{\thedefinitionsection}{\thesection.\arabic{definitionsection}}
|
||||||
@@ -362,7 +397,33 @@
|
|||||||
}, #1
|
}, #1
|
||||||
}
|
}
|
||||||
|
|
||||||
\newcommand{\inlineproposition}[1][NONAME]{\inline[#1]{proposition}}\newcommand{\shortproposition}[1][NONAME]{\short[#1]{proposition}}\newcounter{factnone}
|
\newcommand{\inlineproposition}[1][NONAME]{\inline[#1]{proposition}}\newcommand{\shortproposition}[1][NONAME]{\short[#1]{proposition}}\newcounter{axiomnone}
|
||||||
|
\newcounter{axiomsection}[section]
|
||||||
|
\renewcommand{\theaxiomsection}{\thesection.\arabic{axiomsection}}
|
||||||
|
\newcounter{axiomsubsection}[subsection]
|
||||||
|
\renewcommand{\theaxiomsubsection}{\thesubsection.\arabic{axiomsubsection}}
|
||||||
|
\newcounter{axiomsubsubsection}[subsubsection]
|
||||||
|
\renewcommand{\theaxiomsubsubsection}{\thesubsubsection.\arabic{axiomsubsubsection}}
|
||||||
|
\newcounter{axiomparagraph}[paragraph]
|
||||||
|
\renewcommand{\theaxiomparagraph}{\theparagraph.\arabic{axiomparagraph}}
|
||||||
|
\newtcolorbox{axiom}[2][]{
|
||||||
|
mainboxstyle,
|
||||||
|
colback=axiomcolor!5!white,
|
||||||
|
colframe=axiomcolor!75!black,
|
||||||
|
colbacktitle=axiomcolor!75!black,
|
||||||
|
title={\large #2},
|
||||||
|
overlay={
|
||||||
|
\node[overlaystyle,
|
||||||
|
draw=axiomcolor!75!black,
|
||||||
|
fill=axiomcolor!75!black
|
||||||
|
] at (frame.north east)
|
||||||
|
{
|
||||||
|
\large \tr{\axiomNamingEN}{\axiomNamingDE}\printLabel{axiom}
|
||||||
|
};
|
||||||
|
}, #1
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\inlineaxiom}[1][NONAME]{\inline[#1]{axiom}}\newcommand{\shortaxiom}[1][NONAME]{\short[#1]{axiom}}\newcounter{factnone}
|
||||||
\newcounter{factsection}[section]
|
\newcounter{factsection}[section]
|
||||||
\renewcommand{\thefactsection}{\thesection.\arabic{factsection}}
|
\renewcommand{\thefactsection}{\thesection.\arabic{factsection}}
|
||||||
\newcounter{factsubsection}[subsection]
|
\newcounter{factsubsection}[subsection]
|
||||||
@@ -440,16 +501,16 @@
|
|||||||
}, #1
|
}, #1
|
||||||
}
|
}
|
||||||
|
|
||||||
\newcommand{\inlineremark}[1][NONAME]{\inline[#1]{remark}}\newcommand{\shortremark}[1][NONAME]{\short[#1]{remark}}\newcounter{combinenone}
|
\newcommand{\inlineremark}[1][NONAME]{\inline[#1]{remark}}\newcommand{\shortremark}[1][NONAME]{\short[#1]{remark}}\newcounter{combinednone}
|
||||||
\newcounter{combinesection}[section]
|
\newcounter{combinedsection}[section]
|
||||||
\renewcommand{\thecombinesection}{\thesection.\arabic{combinesection}}
|
\renewcommand{\thecombinedsection}{\thesection.\arabic{combinedsection}}
|
||||||
\newcounter{combinesubsection}[subsection]
|
\newcounter{combinedsubsection}[subsection]
|
||||||
\renewcommand{\thecombinesubsection}{\thesubsection.\arabic{combinesubsection}}
|
\renewcommand{\thecombinedsubsection}{\thesubsection.\arabic{combinedsubsection}}
|
||||||
\newcounter{combinesubsubsection}[subsubsection]
|
\newcounter{combinedsubsubsection}[subsubsection]
|
||||||
\renewcommand{\thecombinesubsubsection}{\thesubsubsection.\arabic{combinesubsubsection}}
|
\renewcommand{\thecombinedsubsubsection}{\thesubsubsection.\arabic{combinedsubsubsection}}
|
||||||
\newcounter{combineparagraph}[paragraph]
|
\newcounter{combinedparagraph}[paragraph]
|
||||||
\renewcommand{\thecombineparagraph}{\theparagraph.\arabic{combineparagraph}}
|
\renewcommand{\thecombinedparagraph}{\theparagraph.\arabic{combinedparagraph}}
|
||||||
\newcommand{\inlinecombine}[1][NONAME]{\inline[#1]{combine}}\newcommand{\shortcombine}[1][NONAME]{\short[#1]{combine}}
|
\newcommand{\inlinecombined}[1][NONAME]{\inline[#1]{combined}}\newcommand{\shortcombined}[1][NONAME]{\short[#1]{combined}}
|
||||||
|
|
||||||
\newcommand{\resetNumbering}{
|
\newcommand{\resetNumbering}{
|
||||||
\setcounter{definitionnone}{0}
|
\setcounter{definitionnone}{0}
|
||||||
@@ -488,6 +549,12 @@
|
|||||||
\setcounter{propositionsubsubsection}{0}
|
\setcounter{propositionsubsubsection}{0}
|
||||||
\setcounter{propositionparagraph}{0}
|
\setcounter{propositionparagraph}{0}
|
||||||
|
|
||||||
|
\setcounter{axiomnone}{0}
|
||||||
|
\setcounter{axiomsection}{0}
|
||||||
|
\setcounter{axiomsubsection}{0}
|
||||||
|
\setcounter{axiomsubsubsection}{0}
|
||||||
|
\setcounter{axiomparagraph}{0}
|
||||||
|
|
||||||
\setcounter{factnone}{0}
|
\setcounter{factnone}{0}
|
||||||
\setcounter{factsection}{0}
|
\setcounter{factsection}{0}
|
||||||
\setcounter{factsubsection}{0}
|
\setcounter{factsubsection}{0}
|
||||||
@@ -506,11 +573,11 @@
|
|||||||
\setcounter{remarksubsubsection}{0}
|
\setcounter{remarksubsubsection}{0}
|
||||||
\setcounter{remarkparagraph}{0}
|
\setcounter{remarkparagraph}{0}
|
||||||
|
|
||||||
\setcounter{combinenone}{0}
|
\setcounter{combinednone}{0}
|
||||||
\setcounter{combinesection}{0}
|
\setcounter{combinedsection}{0}
|
||||||
\setcounter{combinesubsection}{0}
|
\setcounter{combinedsubsection}{0}
|
||||||
\setcounter{combinesubsubsection}{0}
|
\setcounter{combinedsubsubsection}{0}
|
||||||
\setcounter{combineparagraph}{0}
|
\setcounter{combinedparagraph}{0}
|
||||||
|
|
||||||
\setcounter{table}{0}
|
\setcounter{table}{0}
|
||||||
\setcounter{figure}{0}
|
\setcounter{figure}{0}
|
||||||
@@ -534,15 +601,7 @@
|
|||||||
|
|
||||||
% ── Small common style elements ─────────────────────────────────────
|
% ── Small common style elements ─────────────────────────────────────
|
||||||
% Spacing (vertical)
|
% Spacing (vertical)
|
||||||
% TODO: Rework
|
\newcommand{\rmvspace}[1][0.5]{\vspace{-#1pc}}
|
||||||
\newcommand{\hrmvspace}{\vspace{-0.25pc}}
|
|
||||||
\newcommand{\rmvspace}{\vspace{-0.5pc}}
|
|
||||||
\newcommand{\mrmvspace}{\vspace{-0.75pc}}
|
|
||||||
\newcommand{\drmvspace}{\vspace{-1pc}}
|
|
||||||
\newcommand{\dhrmvspace}{\vspace{-1.25pc}}
|
|
||||||
\newcommand{\dnrmvspace}{\vspace{-1.5pc}}
|
|
||||||
\newcommand{\dmrmvspace}{\vspace{-1.75pc}}
|
|
||||||
\newcommand{\ddrmvspace}{\vspace{-2pc}}
|
|
||||||
|
|
||||||
% Spacing (horizontal)
|
% Spacing (horizontal)
|
||||||
\newcommand{\smallhspace}{\hspace{2mm}}
|
\newcommand{\smallhspace}{\hspace{2mm}}
|
||||||
@@ -576,6 +635,9 @@
|
|||||||
% This command is used for the short and inline descriptors
|
% This command is used for the short and inline descriptors
|
||||||
\newcommand{\bg}[2]{\background{#1}{\arabic{descriptorShadeStrength}}{#2}}
|
\newcommand{\bg}[2]{\background{#1}{\arabic{descriptorShadeStrength}}{#2}}
|
||||||
|
|
||||||
|
% Add a gray backdrop
|
||||||
|
\newcommand{\backdrop}[1]{\shade{black}{#1}}
|
||||||
|
|
||||||
% Print a table of contents as a tcolorbox
|
% Print a table of contents as a tcolorbox
|
||||||
\newcommand{\printtoc}[1]{
|
\newcommand{\printtoc}[1]{
|
||||||
\renewcommand{\cfttoctitlefont}{}
|
\renewcommand{\cfttoctitlefont}{}
|
||||||
@@ -597,6 +659,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
% Draw box around links. First arg link, second arg display
|
||||||
|
\newcommand{\hlhref}[2]{\color{MidnightBlue}\fbox{\href{#1}{#2}}\color{black}}
|
||||||
|
|
||||||
|
% Same for urls (just one arg tho)
|
||||||
|
\newcommand{\hlurl}[1]{\color{MidnightBlue}\fbox{\url{#1}}\color{black}}
|
||||||
|
|
||||||
|
|
||||||
% ___ _ _____ _ _
|
% ___ _ _____ _ _
|
||||||
% ( _ \ _( ) (_ _) ( ) ( )
|
% ( _ \ _( ) (_ _) ( ) ( )
|
||||||
% | (_) )_) |_ | | __ \ \/ /
|
% | (_) )_) |_ | | __ \ \/ /
|
||||||
@@ -686,29 +755,28 @@
|
|||||||
\newcommand{\dx}{\text{ d}}
|
\newcommand{\dx}{\text{ d}}
|
||||||
\newcommand{\floor}[1]{\left\lfloor #1 \right\rfloor}
|
\newcommand{\floor}[1]{\left\lfloor #1 \right\rfloor}
|
||||||
\newcommand{\ceil}[1]{\left\lceil #1 \right\rceil}
|
\newcommand{\ceil}[1]{\left\lceil #1 \right\rceil}
|
||||||
\newcommand{\hastoeq}{\overset{!}{=}}
|
|
||||||
\newcommand{\Leftrightarrowequiv}{\overset{\cdot}{\Leftrightarrow}}
|
\newcommand{\Leftrightarrowequiv}{\overset{\cdot}{\Leftrightarrow}}
|
||||||
\newcommand{\Longleftrightarrowequiv}{\overset{\cdot}{\Longleftrightarrow}}
|
\newcommand{\Longleftrightarrowequiv}{\overset{\cdot}{\Longleftrightarrow}}
|
||||||
\newcommand{\Rightarrowequiv}{\overset{\cdot}{\Rightarrow}}
|
\newcommand{\Rightarrowequiv}{\overset{\cdot}{\Rightarrow}}
|
||||||
\newcommand{\Leftarrowequiv}{\overset{\cdot}{\Leftarrow}}
|
\newcommand{\Leftarrowequiv}{\overset{\cdot}{\Leftarrow}}
|
||||||
\newcommand{\defAs}{\overset{\text{def}}{=}}
|
\newcommand{\defAs}{\overset{\text{def}}{=}}
|
||||||
\newcommand{\der}[1]{\frac{\mbox{d}}{\mbox{d}#1}}
|
|
||||||
\newcommand{\dern}[2]{\frac{\mbox{d}^{#2}}{\mbox{d}^{#2}#1}}
|
|
||||||
\newcommand{\parder}[1]{\frac{\partial}{\partial #1}}
|
|
||||||
\newcommand{\pardern}[2]{\frac{\partial^{#2}}{\partial^{#2} #1}}
|
|
||||||
\newcommand{\defEquiv}{\overset{\text{def}}{\Leftrightarrow}}
|
\newcommand{\defEquiv}{\overset{\text{def}}{\Leftrightarrow}}
|
||||||
\newcommand{\defImplies}{\overset{\text{def}}{\Rightarrow}}
|
\newcommand{\defImplies}{\overset{\text{def}}{\Rightarrow}}
|
||||||
\newcommand{\divides}{\hspace{0.25em}|\hspace{0.25em}}
|
\newcommand{\diff}[1]{\frac{\mbox{d}}{\mbox{d}#1}}
|
||||||
|
\newcommand{\diffn}[2]{\frac{\mbox{d}^{#2}}{\mbox{d}^{#2}#1}}
|
||||||
|
\newcommand{\pardiff}[1]{\frac{\partial}{\partial #1}}
|
||||||
|
\newcommand{\pardiffn}[2]{\frac{\partial^{#2}}{\partial^{#2} #1}}
|
||||||
|
\newcommand{\divider}{\hspace{0.25em}|\hspace{0.25em}}
|
||||||
\newcommand{\lcm}{\text{lcm}}
|
\newcommand{\lcm}{\text{lcm}}
|
||||||
\newcommand{\limit}[2]{\underset{#1 \rightarrow #2}{\lim}}
|
\newcommand{\limit}[2]{\underset{#1 \rightarrow #2}{\lim}}
|
||||||
\newcommand{\seq}[1]{(#1_n)_{n \geq 1}}
|
|
||||||
\newcommand{\ser}[2]{\sum_{k = 1}^{#2} #1_k}
|
|
||||||
\newcommand{\limni}{\limit{n}{\infty}}
|
\newcommand{\limni}{\limit{n}{\infty}}
|
||||||
\newcommand{\limnz}{\limit{n}{0}}
|
\newcommand{\limnz}{\limit{n}{0}}
|
||||||
\newcommand{\limxz}{\limit{x_0}{0}}
|
\newcommand{\limxz}{\limit{x_0}{0}}
|
||||||
\newcommand{\limhz}{\limit{h}{0}}
|
\newcommand{\limhz}{\limit{h}{0}}
|
||||||
\newcommand{\liminfni}{\liminf_{n \rightarrow \infty}}
|
\newcommand{\liminfni}{\liminf_{n \rightarrow \infty}}
|
||||||
\newcommand{\limsupni}{\limsup_{n \rightarrow \infty}}
|
\newcommand{\limsupni}{\limsup_{n \rightarrow \infty}}
|
||||||
|
\newcommand{\sequence}[1]{(#1_n)_{n \geq 1}}
|
||||||
|
\newcommand{\series}[2]{\sum_{k = 1}^{#2} #1_k}
|
||||||
|
|
||||||
\DeclareMathOperator\arctanh{arctanh}
|
\DeclareMathOperator\arctanh{arctanh}
|
||||||
\DeclareMathOperator\arccosh{arccosh}
|
\DeclareMathOperator\arccosh{arccosh}
|
||||||
@@ -721,10 +789,6 @@
|
|||||||
\usepackage{minted}
|
\usepackage{minted}
|
||||||
\usepackage{fancyvrb}
|
\usepackage{fancyvrb}
|
||||||
|
|
||||||
% Args: Code.
|
|
||||||
% Alternative: Use \mint{<language>}|code|
|
|
||||||
\newcommand{\inlinecode}[1]{\shade{gray}{\texttt{#1}}}
|
|
||||||
|
|
||||||
% Args: Language, Code
|
% Args: Language, Code
|
||||||
\newenvironment{code}[1]{
|
\newenvironment{code}[1]{
|
||||||
\VerbatimEnvironment
|
\VerbatimEnvironment
|
||||||
@@ -813,156 +877,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
% ── Label generator ─────────────────────────────────────────────────
|
|
||||||
\newcommand{\printNumberingConfigForDescriptor}[1]{\csname #1numbering\endcsname}
|
|
||||||
\newcommand{\printCounter}[1]{\refstepcounter{#1}\csname the#1\endcsname}
|
|
||||||
|
|
||||||
\newcommand{\printLabel}[1]{%
|
|
||||||
\ifthenelse{\boolean{numberingDisabled}}{}{
|
|
||||||
\ifcsdef{#1numbering}{% Extra config present
|
|
||||||
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{default}}{%
|
|
||||||
\labelPrintBackendRoutine{#1}%
|
|
||||||
}{%
|
|
||||||
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{separate}}{%
|
|
||||||
\printCounter{#1\subsectionnumbering}%
|
|
||||||
}{%
|
|
||||||
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{combined}}{%
|
|
||||||
\printCounter{combined\subsectionnumbering}%
|
|
||||||
}{}%
|
|
||||||
}%
|
|
||||||
}%
|
|
||||||
}{%
|
|
||||||
\labelPrintBackendRoutine{#1}%
|
|
||||||
}%
|
|
||||||
}%
|
|
||||||
}
|
|
||||||
|
|
||||||
\newcommand{\labelPrintBackendRoutine}[1]{%
|
|
||||||
\ifthenelse{\equal{\numberingpreset}{combined}}{%
|
|
||||||
\printCounter{combined\subsectionnumbering}%
|
|
||||||
}{
|
|
||||||
\ifthenelse{\equal{\numberingpreset}{separate}}{%
|
|
||||||
\printCounter{#1\subsectionnumbering}%
|
|
||||||
}{}%
|
|
||||||
}%
|
|
||||||
}
|
|
||||||
|
|
||||||
% ── Set the current number of a label ───────────────────────────────
|
|
||||||
\newcommand{\setLabelNumber}[2]{%
|
|
||||||
\setcounter{#1none}{#2}%
|
|
||||||
\addtocounter{#1none}{-1}%
|
|
||||||
\setcounter{#1section}{#2}%
|
|
||||||
\addtocounter{#1section}{-1}%
|
|
||||||
\setcounter{#1subsection}{#2}%
|
|
||||||
\addtocounter{#1subsection}{-1}%
|
|
||||||
\setcounter{#1subsubsection}{#2}%
|
|
||||||
\addtocounter{#1subsubsection}{-1}%
|
|
||||||
\setcounter{#1paragraph}{#2}%
|
|
||||||
\addtocounter{#1paragraph}{-1}%
|
|
||||||
}
|
|
||||||
|
|
||||||
\newcommand{\stepLabelNumber}[1]{%
|
|
||||||
\stepcounter{#1none}%
|
|
||||||
\stepcounter{#1section}%
|
|
||||||
\stepcounter{#1subsection}%
|
|
||||||
\stepcounter{#1subsubsection}%
|
|
||||||
\stepcounter{#1paragraph}%
|
|
||||||
}
|
|
||||||
|
|
||||||
% ┌ ┐
|
|
||||||
% │ Counter numbering │
|
|
||||||
% └ ┘
|
|
||||||
\newcommand{\preEnvHook}[1]{%
|
|
||||||
\ifthenelse{\boolean{numberingDisabled}}{}{
|
|
||||||
\ifthenelse{\equal{\numberingpreset}{combined} \AND \equal{\printNumberingConfigForDescriptor{#1}}{default}}{%
|
|
||||||
\stepLabelNumber{combined}%
|
|
||||||
}{%
|
|
||||||
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{combined}}{%
|
|
||||||
\stepLabelNumber{combined}%
|
|
||||||
}{}%
|
|
||||||
}%
|
|
||||||
}%
|
|
||||||
}
|
|
||||||
|
|
||||||
% Decides on the numbering to use (combined or not)
|
|
||||||
\newcommand{\tableAndFigureNumberingHelper}[1]{%
|
|
||||||
\ifthenelse{\boolean{numberingDisabled}}{}{
|
|
||||||
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}{default}}}{% Using default
|
|
||||||
\ifthenelse{\equal{\numberingpreset}{combined}}{%
|
|
||||||
\tableAndFigureSubsectionPrinting{\value{combined\subsectionnumbering}}%
|
|
||||||
}{%
|
|
||||||
\ifthenelse{\equal{\numberingpreset}{separate}}{%
|
|
||||||
\tableAndFigureSubsectionPrinting{\value{#1}}%
|
|
||||||
}{}%
|
|
||||||
}%
|
|
||||||
}{% if we get here, default has been changed
|
|
||||||
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}{combined}}}{%
|
|
||||||
\tableAndFigureSubsectionPrinting{\value{combined\subsectionnumbering}}%
|
|
||||||
}{%
|
|
||||||
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}{separate}}}{%
|
|
||||||
\tableAndFigureSubsectionPrinting{\value{#1}}%
|
|
||||||
}{}%
|
|
||||||
}%
|
|
||||||
}%
|
|
||||||
}%
|
|
||||||
}
|
|
||||||
|
|
||||||
% Prints the preceding subsection numbers
|
|
||||||
\newcommand{\tableAndFigureSubsectionPrinting}[1]{%
|
|
||||||
\ifthenelse{\equal{\subsectionnumbering}{section}}{%
|
|
||||||
\thesection.#1%
|
|
||||||
}{%
|
|
||||||
\ifthenelse{\equal{\subsectionnumbering}{subsection}}{%
|
|
||||||
\thesubsection.#1%
|
|
||||||
}{%
|
|
||||||
\ifthenelse{\equal{\subsectionnumbering}{subsubsection}}{%
|
|
||||||
\thesubsubsection.#1%
|
|
||||||
}{%
|
|
||||||
\ifthenelse{\equal{\subsectionnumbering}{paragraph}}{%
|
|
||||||
\theparagraph.#1
|
|
||||||
}{%
|
|
||||||
#1
|
|
||||||
}%
|
|
||||||
}%
|
|
||||||
}%
|
|
||||||
}%
|
|
||||||
}
|
|
||||||
|
|
||||||
\renewcommand{\thetable}{\tableAndFigureNumberingHelper{table}}
|
|
||||||
\renewcommand{\thefigure}{\tableAndFigureNumberingHelper{figure}}
|
|
||||||
|
|
||||||
\AtBeginEnvironment{table}{\preEnvHook{table}}
|
|
||||||
\AtBeginEnvironment{figure}{\preEnvHook{figure}}
|
|
||||||
|
|
||||||
|
|
||||||
\newcommand{\newsection}{%
|
|
||||||
\newpage
|
|
||||||
\newsectionNoPB
|
|
||||||
}
|
|
||||||
|
|
||||||
\newcommand{\newsectionNoPB}{
|
|
||||||
\ifthenelse{\equal{\numberingpreset}{off}}{}{%
|
|
||||||
\resetNumbering%
|
|
||||||
}%
|
|
||||||
}
|
|
||||||
|
|
||||||
\newcommand{\resetTableAndFigureNumbering}{%
|
|
||||||
\ifthenelse{\equal{\printNumberingConfigForDescriptor{table}}{combined} \OR \equal{\printNumberingConfigForDescriptor{table}{default}}}{%
|
|
||||||
\setcounter{table}{0}
|
|
||||||
}{}%
|
|
||||||
\ifthenelse{\equal{\printNumberingConfigForDescriptor{figure}}{combined} \OR \equal{\printNumberingConfigForDescriptor{figure}{default}}}{%
|
|
||||||
\setcounter{figure}{0}
|
|
||||||
}{}%
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
% Numbering toggling
|
|
||||||
\newboolean{numberingDisabled}
|
|
||||||
\setboolean{numberingDisabled}{false}
|
|
||||||
\newcommand{\numberingOff}{\setboolean{numberingDisabled}{true}}
|
|
||||||
\newcommand{\numberingOn}{\setboolean{numberingDisabled}{false}}
|
|
||||||
|
|
||||||
|
|
||||||
% Add glossaries functionality
|
% Add glossaries functionality
|
||||||
|
|
||||||
\newcommand{\setupGlossary}{
|
\newcommand{\setupGlossary}{
|
||||||
@@ -985,6 +899,7 @@
|
|||||||
}
|
}
|
||||||
\newcommand{\tr}[2]{\translate{#1}{#2}}
|
\newcommand{\tr}[2]{\translate{#1}{#2}}
|
||||||
\newcommand{\namingTranslate}[1]{\translate{\printTranslationOptionEN{#1}}{\printTranslationOptionEN{#1}}}
|
\newcommand{\namingTranslate}[1]{\translate{\printTranslationOptionEN{#1}}{\printTranslationOptionEN{#1}}}
|
||||||
|
\newcommand{\shortNamingTranslate}[1]{\translate{\printShortTranslationOptionEN{#1}}{\printShortTranslationOptionEN{#1}}}
|
||||||
|
|
||||||
% Translation aids (commonly used)
|
% Translation aids (commonly used)
|
||||||
\newcommand{\trif}{\translate{if }{falls }}
|
\newcommand{\trif}{\translate{if }{falls }}
|
||||||
@@ -1035,11 +950,18 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
% TODO: Use landscape and columns for new version
|
|
||||||
% Set up the latex document for exam summaries (Extra wide body, small margins, no header)
|
% Set up the latex document for exam summaries (Extra wide body, small margins, no header)
|
||||||
\newcommand{\setupCheatSheet}[1]{
|
\newcommand{\setupCheatSheet}[2][true]{
|
||||||
\usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry}
|
\ifthenelse{\equal{#1}{true}}{
|
||||||
\title{\Huge \textbf{#1}}
|
\usepackage[a4paper,textwidth=28.5cm,textheight=20cm,landscape]{geometry}
|
||||||
|
\usepackage{flowfram}
|
||||||
|
\ffvadjustfalse
|
||||||
|
\setlength{\columnsep}{1cm}
|
||||||
|
\Ncolumn{3}
|
||||||
|
}{
|
||||||
|
\usepackage[a4paper,textwidth=28.5cm,textheight=20cm]{geometry}
|
||||||
|
}
|
||||||
|
\title{\Huge \textbf{#2}}
|
||||||
\author{\authorTitle}
|
\author{\authorTitle}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1049,7 +971,7 @@
|
|||||||
% └ ┘
|
% └ ┘
|
||||||
% Start document command (required)
|
% Start document command (required)
|
||||||
\newcommand{\startDocument}{
|
\newcommand{\startDocument}{
|
||||||
% TODO: Cheat sheet needs different setup
|
% TODO: Cheat sheet needs different setup?
|
||||||
\maketitle
|
\maketitle
|
||||||
\pagestyle{fancy}
|
\pagestyle{fancy}
|
||||||
\thispagestyle{fancy}
|
\thispagestyle{fancy}
|
||||||
@@ -1102,7 +1024,6 @@
|
|||||||
|
|
||||||
\newcommand{\Indent}{\hspace{\algorithmicindent}}
|
\newcommand{\Indent}{\hspace{\algorithmicindent}}
|
||||||
|
|
||||||
\newcommand{\tc}[1]{\tco{#1}}
|
|
||||||
\newcommand{\tct}[1]{\Theta\left(#1\right)}
|
\newcommand{\tct}[1]{\Theta\left(#1\right)}
|
||||||
\newcommand{\tco}[1]{\mathcal{O}\left(#1\right)}
|
\newcommand{\tco}[1]{\mathcal{O}\left(#1\right)}
|
||||||
\newcommand{\tcl}[1]{\Omega\left(#1\right)}
|
\newcommand{\tcl}[1]{\Omega\left(#1\right)}
|
||||||
@@ -1119,6 +1040,184 @@
|
|||||||
\newcommand{\class}{\text{\tr{Cl}{Kl}}}
|
\newcommand{\class}{\text{\tr{Cl}{Kl}}}
|
||||||
|
|
||||||
|
|
||||||
|
% ── Set the current number of a label ───────────────────────────────
|
||||||
|
\newcommand{\setLabelNumber}[2]{%
|
||||||
|
\setcounter{#1none}{#2}%
|
||||||
|
\addtocounter{#1none}{-1}%
|
||||||
|
\setcounter{#1section}{#2}%
|
||||||
|
\addtocounter{#1section}{-1}%
|
||||||
|
\setcounter{#1subsection}{#2}%
|
||||||
|
\addtocounter{#1subsection}{-1}%
|
||||||
|
\setcounter{#1subsubsection}{#2}%
|
||||||
|
\addtocounter{#1subsubsection}{-1}%
|
||||||
|
\setcounter{#1paragraph}{#2}%
|
||||||
|
\addtocounter{#1paragraph}{-1}%
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\stepLabelNumber}[1]{%
|
||||||
|
\stepcounter{#1none}%
|
||||||
|
\stepcounter{#1section}%
|
||||||
|
\stepcounter{#1subsection}%
|
||||||
|
\stepcounter{#1subsubsection}%
|
||||||
|
\stepcounter{#1paragraph}%
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
\newcommand{\newsection}{%
|
||||||
|
\newpage
|
||||||
|
\newsectionNoPB
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\newsectionNoPB}{
|
||||||
|
\ifthenelse{\equal{\numberingpreset}{off}}{}{%
|
||||||
|
\resetNumbering%
|
||||||
|
\resetTableAndFigureNumbering%
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\resetTableAndFigureNumbering}{%
|
||||||
|
\ifthenelse{\equal{\printNumberingConfigForDescriptor{table}}{combined}}{
|
||||||
|
\setcounter{table}{0}
|
||||||
|
}{}%
|
||||||
|
\ifthenelse{\equal{\printNumberingConfigForDescriptor{table}}{default}}{
|
||||||
|
\setcounter{table}{0}
|
||||||
|
}{}%
|
||||||
|
\ifthenelse{\equal{\printNumberingConfigForDescriptor{figure}}{combined}}{%
|
||||||
|
\setcounter{figure}{0}
|
||||||
|
}{}%
|
||||||
|
\ifthenelse{\equal{\printNumberingConfigForDescriptor{figure}}{default}}{
|
||||||
|
\setcounter{figure}{0}
|
||||||
|
}{}%
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
% Numbering toggling
|
||||||
|
\newcommand{\numberingOff}{
|
||||||
|
\setboolean{numberingDisabled}{true}
|
||||||
|
\loadNumberingConfig
|
||||||
|
}
|
||||||
|
\newcommand{\numberingOn}{
|
||||||
|
\setboolean{numberingDisabled}{false}
|
||||||
|
\loadNumberingConfig
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\setsubsectionnumbering}[1]{
|
||||||
|
\renewcommand{\subsectionnumbering}{#1}
|
||||||
|
\loadNumberingConfig
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\setnumberingpreset}[1]{
|
||||||
|
\renewcommand{\numberingpreset}{#1}
|
||||||
|
\loadNumberingConfig
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
% ── Label generator ─────────────────────────────────────────────────
|
||||||
|
\newcommand{\printNumberingConfigForDescriptor}[1]{\csname #1numbering\endcsname}
|
||||||
|
\newcommand{\printCounter}[1]{\refstepcounter{#1}\csname the#1\endcsname}
|
||||||
|
|
||||||
|
\newcommand{\printLabel}[1]{%
|
||||||
|
\ifthenelse{\boolean{numberingDisabled}}{}{
|
||||||
|
\ifcsdef{#1numbering}{% Extra config present
|
||||||
|
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{default}}{%
|
||||||
|
\labelPrintBackendRoutine{#1}%
|
||||||
|
}{%
|
||||||
|
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{separate}}{%
|
||||||
|
\printCounter{#1\subsectionnumbering}%
|
||||||
|
}{%
|
||||||
|
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{combined}}{%
|
||||||
|
\printCounter{combined\subsectionnumbering}%
|
||||||
|
}{}%
|
||||||
|
}%
|
||||||
|
}%
|
||||||
|
}{%
|
||||||
|
\labelPrintBackendRoutine{#1}%
|
||||||
|
}%
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\labelPrintBackendRoutine}[1]{%
|
||||||
|
\ifthenelse{\equal{\numberingpreset}{combined}}{%
|
||||||
|
\printCounter{combined\subsectionnumbering}%
|
||||||
|
}{
|
||||||
|
\ifthenelse{\equal{\numberingpreset}{separate}}{%
|
||||||
|
\printCounter{#1\subsectionnumbering}%
|
||||||
|
}{}%
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
% ┌ ┐
|
||||||
|
% │ Counter numbering │
|
||||||
|
% └ ┘
|
||||||
|
\newcommand{\preEnvHook}[1]{%
|
||||||
|
\stepLabelNumber{combined}%
|
||||||
|
\ifthenelse{\equal{\numberingpreset}{combined}}{%
|
||||||
|
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{default}}{
|
||||||
|
\stepLabelNumber{combined}%
|
||||||
|
}{}%
|
||||||
|
}{%
|
||||||
|
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{combined}}{%
|
||||||
|
\stepLabelNumber{combined}%
|
||||||
|
}{}%
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
|
||||||
|
% Decides on the numbering to use (combined or not)
|
||||||
|
\newcommand{\loadNumberingConfiguration}{%
|
||||||
|
\ifthenelse{\boolean{numberingDisabled}}{%
|
||||||
|
\renewcommand{\thetable}{\arabic{table}}
|
||||||
|
\renewcommand{\thefigure}{\arabic{figure}}
|
||||||
|
}{
|
||||||
|
\ifthenelse{\equal{\numberingpreset}{combined}}{%
|
||||||
|
\ifthenelse{\equal{\subsectionnumbering}{none}}{
|
||||||
|
\renewcommand{\thetable}{\arabic{combinednone}}
|
||||||
|
\renewcommand{\thefigure}{\arabic{combinednone}}
|
||||||
|
}{%
|
||||||
|
\renewcommand{\thetable}{\ssprinter.\arabic{combined\subsectionnumbering}}
|
||||||
|
\renewcommand{\thefigure}{\ssprinter.\arabic{combined\subsectionnumbering}}
|
||||||
|
}%
|
||||||
|
}{%
|
||||||
|
\ifthenelse{\equal{\numberingpreset}{separate}}{
|
||||||
|
\ifthenelse{\equal{\subsectionnumbering}{none}}{}{
|
||||||
|
\renewcommand{\thetable}{\ssprinter.\arabic{table}}
|
||||||
|
\renewcommand{\thefigure}{\ssprinter.\arabic{figure}}
|
||||||
|
}
|
||||||
|
}{%
|
||||||
|
\renewcommand{\thetable}{\arabic{table}}
|
||||||
|
\renewcommand{\thefigure}{\arabic{figure}}
|
||||||
|
}%
|
||||||
|
}%
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
|
||||||
|
% Prints the preceding subsection numbers
|
||||||
|
\newcommand{\ssprinter}{\thesection}
|
||||||
|
\newcommand{\generateSubsection}{%
|
||||||
|
\ifthenelse{\equal{\subsectionnumbering}{section}}{%
|
||||||
|
\renewcommand{\ssprinter}{\thesection}
|
||||||
|
}{%
|
||||||
|
\ifthenelse{\equal{\subsectionnumbering}{subsection}}{%
|
||||||
|
\renewcommand{\ssprinter}{\thesubsection}
|
||||||
|
}{%
|
||||||
|
\ifthenelse{\equal{\subsectionnumbering}{subsubsection}}{%
|
||||||
|
\renewcommand{\ssprinter}{\thesubsubsection}
|
||||||
|
}{%
|
||||||
|
\ifthenelse{\equal{\subsectionnumbering}{paragraph}}{%
|
||||||
|
\renewcommand{\ssprinter}{\theparagraph}
|
||||||
|
}{
|
||||||
|
\renewcommand{\ssprinter}{}
|
||||||
|
}%
|
||||||
|
}%
|
||||||
|
}%
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
\loadNumberingConfiguration
|
||||||
|
|
||||||
|
\AtBeginEnvironment{table}{\preEnvHook{table}}
|
||||||
|
\AtBeginEnvironment{figure}{\preEnvHook{figure}}
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
% ┌ ┐
|
||||||
% │ STYLE: Math │
|
% │ STYLE: Math │
|
||||||
% └ ┘
|
% └ ┘
|
||||||
@@ -1130,13 +1229,46 @@
|
|||||||
\newcommand{\proven}{$\hspace{17cm}\square$}
|
\newcommand{\proven}{$\hspace{17cm}\square$}
|
||||||
|
|
||||||
|
|
||||||
|
\newcommand{\noverticalspacing}{
|
||||||
|
\abovedisplayskip 1pt plus 2pt minus 1pt
|
||||||
|
\belowdisplayskip 1pt plus 2pt minus 1pt
|
||||||
|
\abovedisplayshortskip -10pt
|
||||||
|
\belowdisplayshortskip 1pt plus 2pt minus 1pt
|
||||||
|
}
|
||||||
|
\newcommand{\smallverticalspacing}{
|
||||||
|
\abovedisplayskip 4pt plus 3pt minus 2pt
|
||||||
|
\belowdisplayskip 5pt plus 5pt minus 2pt
|
||||||
|
\abovedisplayshortskip -5pt
|
||||||
|
\belowdisplayshortskip 3pt plus 4pt minus 2pt
|
||||||
|
}
|
||||||
|
\newcommand{\mediumverticalspacing}{
|
||||||
|
\abovedisplayskip 7pt plus 4pt minus 3pt
|
||||||
|
\belowdisplayskip 9pt plus 6pt minus 3pt
|
||||||
|
\abovedisplayshortskip 0pt
|
||||||
|
\belowdisplayshortskip 5pt plus 4pt minus 2pt
|
||||||
|
}
|
||||||
|
\newcommand{\largeverticalspacing}{
|
||||||
|
\abovedisplayskip 13pt plus 3pt minus 1pt
|
||||||
|
\belowdisplayskip 15pt plus 9pt minus 6pt
|
||||||
|
\abovedisplayshortskip 5pt plus 2pt minus 3pt
|
||||||
|
\belowdisplayshortskip 7pt plus 5pt minus 2pt
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
% ── Inline environments ─────────────────────────────────────────────
|
% ── Inline environments ─────────────────────────────────────────────
|
||||||
|
% TODO: ref label generation
|
||||||
\newcommand{\inline}[2][NONAME]{%
|
\newcommand{\inline}[2][NONAME]{%
|
||||||
\ifthenelse{\equal{NONAME}{#1}}{%
|
\ifthenelse{\equal{NONAME}{#1}}{%
|
||||||
\anonymousInlineDescriptorTemplate{#2}{\printLabel{#2}}%
|
\anonymousInlineDescriptorTemplate{#2}{\printLabel{#2}}%
|
||||||
}{%
|
}{%
|
||||||
\inlineDescriptorTemplate{#2}{\printLabel{#2}}{#1}%
|
\inlineDescriptorTemplate{#2}{\printLabel{#2}}{#1}%
|
||||||
}
|
}%
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\labeledInline}[3][NONAME]{%
|
||||||
|
\edef{\tempLabel}{#3}
|
||||||
|
\label{\tempLabel}
|
||||||
|
\inline[#1]{#2}
|
||||||
}
|
}
|
||||||
|
|
||||||
\newcommand{\short}[2][NONAME]{%
|
\newcommand{\short}[2][NONAME]{%
|
||||||
@@ -1144,9 +1276,18 @@
|
|||||||
\anonymousShortDescriptorTemplate{#2}{\printLabel{#2}}%
|
\anonymousShortDescriptorTemplate{#2}{\printLabel{#2}}%
|
||||||
}{%
|
}{%
|
||||||
\shortDescriptorTemplate{#2}{\printLabel{#2}}{#1}%
|
\shortDescriptorTemplate{#2}{\printLabel{#2}}{#1}%
|
||||||
}
|
}%
|
||||||
}
|
}
|
||||||
|
|
||||||
|
\newcommand{\labeledShort}[3][NONAME]{%
|
||||||
|
\edef{\tempLabel}{#3}
|
||||||
|
\label{\tempLabel}
|
||||||
|
\short[#1]{#2}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\inlineproof}{\anonymousInlineDescriptorTemplate{proof}{}}
|
||||||
|
\newcommand{\shortproof}{\anonymousShortDescriptorTemplate{proof}{}}
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
% ┌ ┐
|
||||||
% │ STYLE: Common tcolorboxes │
|
% │ STYLE: Common tcolorboxes │
|
||||||
@@ -1156,13 +1297,6 @@
|
|||||||
\newtcolorbox{recall}[2][]{mainboxstyle,colback=recallcolor!5!white,colframe=recallcolor!75!black,colbacktitle=recallcolor!75!black,title={\large #2},
|
\newtcolorbox{recall}[2][]{mainboxstyle,colback=recallcolor!5!white,colframe=recallcolor!75!black,colbacktitle=recallcolor!75!black,title={\large #2},
|
||||||
overlay={\node[overlaystyle,draw=recallcolor!75!black,,fill=recallcolor!75!black] at (frame.north east) {\large \translate{Recall }{Repetition }};},#1}
|
overlay={\node[overlaystyle,draw=recallcolor!75!black,,fill=recallcolor!75!black] at (frame.north east) {\large \translate{Recall }{Repetition }};},#1}
|
||||||
|
|
||||||
\newtcolorbox{remarks}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2},
|
|
||||||
overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Remarks }{Bemerkungen }};},#1}
|
|
||||||
|
|
||||||
\newtcolorbox{guides}[3][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2},
|
|
||||||
overlay={\node[overlaystyle,draw=red!75!black,,fill=red!75!black] at (frame.north east) {\large #3};},#1}
|
|
||||||
|
|
||||||
|
|
||||||
\newtcolorbox{properties}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2},
|
\newtcolorbox{properties}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2},
|
||||||
overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Properties }{Eigenschaften }};},#1}
|
overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Properties }{Eigenschaften }};},#1}
|
||||||
|
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
\usepackage[ngerman]{babel}
|
|
||||||
\setLang{de}
|
|
||||||
41
letter.tex
Normal file
41
letter.tex
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
% ┌ ┐
|
||||||
|
% │ Configure your address here │
|
||||||
|
% └ ┘
|
||||||
|
\newcommand{\name}{Janis Hutz}
|
||||||
|
\newcommand{\street}{Street}
|
||||||
|
\newcommand{\city}{City}
|
||||||
|
\newcommand{\countrycode}{CH}
|
||||||
|
|
||||||
|
|
||||||
|
% ────────────────────────────────────────────────────────────────────
|
||||||
|
\RequirePackage[utf8]{inputenc}
|
||||||
|
\RequirePackage[T1]{fontenc}
|
||||||
|
\setkomavar{date}{\city, \today}
|
||||||
|
|
||||||
|
\newkomavar{fromplace} % a few koma vars
|
||||||
|
\setkomavar{fromname}{\name}
|
||||||
|
\setkomavar{fromaddress}{\street}
|
||||||
|
\setkomavar{fromplace}{\countrycode -\city}
|
||||||
|
|
||||||
|
\KOMAoptions{foldmarks=off,fromrule=false}
|
||||||
|
\setkomavar{backaddress}{}
|
||||||
|
|
||||||
|
\makeatletter % indention of the address fields
|
||||||
|
\setplength{toaddrhpos}{27mm}
|
||||||
|
\setplength{toaddrwidth}{92mm}
|
||||||
|
\setplength{sigindent}{0mm}
|
||||||
|
\makeatother
|
||||||
|
|
||||||
|
\renewcommand*{\raggedsignature}{\raggedright}
|
||||||
|
|
||||||
|
% Define new letter header
|
||||||
|
\setkomavar{firsthead}{
|
||||||
|
\null\hfill
|
||||||
|
\parbox[t][\headheight][t]{4cm}{%
|
||||||
|
\vspace*{2cm}
|
||||||
|
|
||||||
|
\usekomavar{fromname} \newline
|
||||||
|
\usekomavar{fromaddress} \newline
|
||||||
|
\usekomavar{fromplace}
|
||||||
|
}
|
||||||
|
}%
|
||||||
10
src/core.sty
10
src/core.sty
@@ -35,3 +35,13 @@
|
|||||||
|
|
||||||
\newcommand{\printTranslationOptionEN}[1]{\csname #1NamingEN\endcsname}
|
\newcommand{\printTranslationOptionEN}[1]{\csname #1NamingEN\endcsname}
|
||||||
\newcommand{\printTranslationOptionDE}[1]{\csname #1NamingDE\endcsname}
|
\newcommand{\printTranslationOptionDE}[1]{\csname #1NamingDE\endcsname}
|
||||||
|
\newcommand{\printShortTranslationOptionEN}[1]{\csname #1ShortNamingEN\endcsname}
|
||||||
|
\newcommand{\printShortTranslationOptionDE}[1]{\csname #1ShortNamingDE\endcsname}
|
||||||
|
|
||||||
|
\newboolean{numberingDisabled}
|
||||||
|
\setboolean{numberingDisabled}{false}
|
||||||
|
|
||||||
|
\newcommand{\loadGerman}{
|
||||||
|
\usepackage[ngerman]{babel}
|
||||||
|
\renewcommand{\currentLanguage}{de}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,148 +0,0 @@
|
|||||||
% ── Label generator ─────────────────────────────────────────────────
|
|
||||||
\newcommand{\printNumberingConfigForDescriptor}[1]{\csname #1numbering\endcsname}
|
|
||||||
\newcommand{\printCounter}[1]{\refstepcounter{#1}\csname the#1\endcsname}
|
|
||||||
|
|
||||||
\newcommand{\printLabel}[1]{%
|
|
||||||
\ifthenelse{\boolean{numberingDisabled}}{}{
|
|
||||||
\ifcsdef{#1numbering}{% Extra config present
|
|
||||||
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{default}}{%
|
|
||||||
\labelPrintBackendRoutine{#1}%
|
|
||||||
}{%
|
|
||||||
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{separate}}{%
|
|
||||||
\printCounter{#1\subsectionnumbering}%
|
|
||||||
}{%
|
|
||||||
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{combined}}{%
|
|
||||||
\printCounter{combined\subsectionnumbering}%
|
|
||||||
}{}%
|
|
||||||
}%
|
|
||||||
}%
|
|
||||||
}{%
|
|
||||||
\labelPrintBackendRoutine{#1}%
|
|
||||||
}%
|
|
||||||
}%
|
|
||||||
}
|
|
||||||
|
|
||||||
\newcommand{\labelPrintBackendRoutine}[1]{%
|
|
||||||
\ifthenelse{\equal{\numberingpreset}{combined}}{%
|
|
||||||
\printCounter{combined\subsectionnumbering}%
|
|
||||||
}{
|
|
||||||
\ifthenelse{\equal{\numberingpreset}{separate}}{%
|
|
||||||
\printCounter{#1\subsectionnumbering}%
|
|
||||||
}{}%
|
|
||||||
}%
|
|
||||||
}
|
|
||||||
|
|
||||||
% ── Set the current number of a label ───────────────────────────────
|
|
||||||
\newcommand{\setLabelNumber}[2]{%
|
|
||||||
\setcounter{#1none}{#2}%
|
|
||||||
\addtocounter{#1none}{-1}%
|
|
||||||
\setcounter{#1section}{#2}%
|
|
||||||
\addtocounter{#1section}{-1}%
|
|
||||||
\setcounter{#1subsection}{#2}%
|
|
||||||
\addtocounter{#1subsection}{-1}%
|
|
||||||
\setcounter{#1subsubsection}{#2}%
|
|
||||||
\addtocounter{#1subsubsection}{-1}%
|
|
||||||
\setcounter{#1paragraph}{#2}%
|
|
||||||
\addtocounter{#1paragraph}{-1}%
|
|
||||||
}
|
|
||||||
|
|
||||||
\newcommand{\stepLabelNumber}[1]{%
|
|
||||||
\stepcounter{#1none}%
|
|
||||||
\stepcounter{#1section}%
|
|
||||||
\stepcounter{#1subsection}%
|
|
||||||
\stepcounter{#1subsubsection}%
|
|
||||||
\stepcounter{#1paragraph}%
|
|
||||||
}
|
|
||||||
|
|
||||||
% ┌ ┐
|
|
||||||
% │ Counter numbering │
|
|
||||||
% └ ┘
|
|
||||||
\newcommand{\preEnvHook}[1]{%
|
|
||||||
\ifthenelse{\boolean{numberingDisabled}}{}{
|
|
||||||
\ifthenelse{\equal{\numberingpreset}{combined} \AND \equal{\printNumberingConfigForDescriptor{#1}}{default}}{%
|
|
||||||
\stepLabelNumber{combined}%
|
|
||||||
}{%
|
|
||||||
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{combined}}{%
|
|
||||||
\stepLabelNumber{combined}%
|
|
||||||
}{}%
|
|
||||||
}%
|
|
||||||
}%
|
|
||||||
}
|
|
||||||
|
|
||||||
% Decides on the numbering to use (combined or not)
|
|
||||||
\newcommand{\tableAndFigureNumberingHelper}[1]{%
|
|
||||||
\ifthenelse{\boolean{numberingDisabled}}{}{
|
|
||||||
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}{default}}}{% Using default
|
|
||||||
\ifthenelse{\equal{\numberingpreset}{combined}}{%
|
|
||||||
\tableAndFigureSubsectionPrinting{\value{combined\subsectionnumbering}}%
|
|
||||||
}{%
|
|
||||||
\ifthenelse{\equal{\numberingpreset}{separate}}{%
|
|
||||||
\tableAndFigureSubsectionPrinting{\value{#1}}%
|
|
||||||
}{}%
|
|
||||||
}%
|
|
||||||
}{% if we get here, default has been changed
|
|
||||||
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}{combined}}}{%
|
|
||||||
\tableAndFigureSubsectionPrinting{\value{combined\subsectionnumbering}}%
|
|
||||||
}{%
|
|
||||||
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}{separate}}}{%
|
|
||||||
\tableAndFigureSubsectionPrinting{\value{#1}}%
|
|
||||||
}{}%
|
|
||||||
}%
|
|
||||||
}%
|
|
||||||
}%
|
|
||||||
}
|
|
||||||
|
|
||||||
% Prints the preceding subsection numbers
|
|
||||||
\newcommand{\tableAndFigureSubsectionPrinting}[1]{%
|
|
||||||
\ifthenelse{\equal{\subsectionnumbering}{section}}{%
|
|
||||||
\thesection.#1%
|
|
||||||
}{%
|
|
||||||
\ifthenelse{\equal{\subsectionnumbering}{subsection}}{%
|
|
||||||
\thesubsection.#1%
|
|
||||||
}{%
|
|
||||||
\ifthenelse{\equal{\subsectionnumbering}{subsubsection}}{%
|
|
||||||
\thesubsubsection.#1%
|
|
||||||
}{%
|
|
||||||
\ifthenelse{\equal{\subsectionnumbering}{paragraph}}{%
|
|
||||||
\theparagraph.#1
|
|
||||||
}{%
|
|
||||||
#1
|
|
||||||
}%
|
|
||||||
}%
|
|
||||||
}%
|
|
||||||
}%
|
|
||||||
}
|
|
||||||
|
|
||||||
\renewcommand{\thetable}{\tableAndFigureNumberingHelper{table}}
|
|
||||||
\renewcommand{\thefigure}{\tableAndFigureNumberingHelper{figure}}
|
|
||||||
|
|
||||||
\AtBeginEnvironment{table}{\preEnvHook{table}}
|
|
||||||
\AtBeginEnvironment{figure}{\preEnvHook{figure}}
|
|
||||||
|
|
||||||
|
|
||||||
\newcommand{\newsection}{%
|
|
||||||
\newpage
|
|
||||||
\newsectionNoPB
|
|
||||||
}
|
|
||||||
|
|
||||||
\newcommand{\newsectionNoPB}{
|
|
||||||
\ifthenelse{\equal{\numberingpreset}{off}}{}{%
|
|
||||||
\resetNumbering%
|
|
||||||
}%
|
|
||||||
}
|
|
||||||
|
|
||||||
\newcommand{\resetTableAndFigureNumbering}{%
|
|
||||||
\ifthenelse{\equal{\printNumberingConfigForDescriptor{table}}{combined} \OR \equal{\printNumberingConfigForDescriptor{table}{default}}}{%
|
|
||||||
\setcounter{table}{0}
|
|
||||||
}{}%
|
|
||||||
\ifthenelse{\equal{\printNumberingConfigForDescriptor{figure}}{combined} \OR \equal{\printNumberingConfigForDescriptor{figure}{default}}}{%
|
|
||||||
\setcounter{figure}{0}
|
|
||||||
}{}%
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
% Numbering toggling
|
|
||||||
\newboolean{numberingDisabled}
|
|
||||||
\setboolean{numberingDisabled}{false}
|
|
||||||
\newcommand{\numberingOff}{\setboolean{numberingDisabled}{true}}
|
|
||||||
\newcommand{\numberingOn}{\setboolean{numberingDisabled}{false}}
|
|
||||||
@@ -14,7 +14,6 @@
|
|||||||
|
|
||||||
\newcommand{\Indent}{\hspace{\algorithmicindent}}
|
\newcommand{\Indent}{\hspace{\algorithmicindent}}
|
||||||
|
|
||||||
\newcommand{\tc}[1]{\tco{#1}}
|
|
||||||
\newcommand{\tct}[1]{\Theta\left(#1\right)}
|
\newcommand{\tct}[1]{\Theta\left(#1\right)}
|
||||||
\newcommand{\tco}[1]{\mathcal{O}\left(#1\right)}
|
\newcommand{\tco}[1]{\mathcal{O}\left(#1\right)}
|
||||||
\newcommand{\tcl}[1]{\Omega\left(#1\right)}
|
\newcommand{\tcl}[1]{\Omega\left(#1\right)}
|
||||||
|
|||||||
@@ -66,29 +66,28 @@
|
|||||||
\newcommand{\dx}{\text{ d}}
|
\newcommand{\dx}{\text{ d}}
|
||||||
\newcommand{\floor}[1]{\left\lfloor #1 \right\rfloor}
|
\newcommand{\floor}[1]{\left\lfloor #1 \right\rfloor}
|
||||||
\newcommand{\ceil}[1]{\left\lceil #1 \right\rceil}
|
\newcommand{\ceil}[1]{\left\lceil #1 \right\rceil}
|
||||||
\newcommand{\hastoeq}{\overset{!}{=}}
|
|
||||||
\newcommand{\Leftrightarrowequiv}{\overset{\cdot}{\Leftrightarrow}}
|
\newcommand{\Leftrightarrowequiv}{\overset{\cdot}{\Leftrightarrow}}
|
||||||
\newcommand{\Longleftrightarrowequiv}{\overset{\cdot}{\Longleftrightarrow}}
|
\newcommand{\Longleftrightarrowequiv}{\overset{\cdot}{\Longleftrightarrow}}
|
||||||
\newcommand{\Rightarrowequiv}{\overset{\cdot}{\Rightarrow}}
|
\newcommand{\Rightarrowequiv}{\overset{\cdot}{\Rightarrow}}
|
||||||
\newcommand{\Leftarrowequiv}{\overset{\cdot}{\Leftarrow}}
|
\newcommand{\Leftarrowequiv}{\overset{\cdot}{\Leftarrow}}
|
||||||
\newcommand{\defAs}{\overset{\text{def}}{=}}
|
\newcommand{\defAs}{\overset{\text{def}}{=}}
|
||||||
\newcommand{\der}[1]{\frac{\mbox{d}}{\mbox{d}#1}}
|
|
||||||
\newcommand{\dern}[2]{\frac{\mbox{d}^{#2}}{\mbox{d}^{#2}#1}}
|
|
||||||
\newcommand{\parder}[1]{\frac{\partial}{\partial #1}}
|
|
||||||
\newcommand{\pardern}[2]{\frac{\partial^{#2}}{\partial^{#2} #1}}
|
|
||||||
\newcommand{\defEquiv}{\overset{\text{def}}{\Leftrightarrow}}
|
\newcommand{\defEquiv}{\overset{\text{def}}{\Leftrightarrow}}
|
||||||
\newcommand{\defImplies}{\overset{\text{def}}{\Rightarrow}}
|
\newcommand{\defImplies}{\overset{\text{def}}{\Rightarrow}}
|
||||||
\newcommand{\divides}{\hspace{0.25em}|\hspace{0.25em}}
|
\newcommand{\diff}[1]{\frac{\mbox{d}}{\mbox{d}#1}}
|
||||||
|
\newcommand{\diffn}[2]{\frac{\mbox{d}^{#2}}{\mbox{d}^{#2}#1}}
|
||||||
|
\newcommand{\pardiff}[1]{\frac{\partial}{\partial #1}}
|
||||||
|
\newcommand{\pardiffn}[2]{\frac{\partial^{#2}}{\partial^{#2} #1}}
|
||||||
|
\newcommand{\divider}{\hspace{0.25em}|\hspace{0.25em}}
|
||||||
\newcommand{\lcm}{\text{lcm}}
|
\newcommand{\lcm}{\text{lcm}}
|
||||||
\newcommand{\limit}[2]{\underset{#1 \rightarrow #2}{\lim}}
|
\newcommand{\limit}[2]{\underset{#1 \rightarrow #2}{\lim}}
|
||||||
\newcommand{\seq}[1]{(#1_n)_{n \geq 1}}
|
|
||||||
\newcommand{\ser}[2]{\sum_{k = 1}^{#2} #1_k}
|
|
||||||
\newcommand{\limni}{\limit{n}{\infty}}
|
\newcommand{\limni}{\limit{n}{\infty}}
|
||||||
\newcommand{\limnz}{\limit{n}{0}}
|
\newcommand{\limnz}{\limit{n}{0}}
|
||||||
\newcommand{\limxz}{\limit{x_0}{0}}
|
\newcommand{\limxz}{\limit{x_0}{0}}
|
||||||
\newcommand{\limhz}{\limit{h}{0}}
|
\newcommand{\limhz}{\limit{h}{0}}
|
||||||
\newcommand{\liminfni}{\liminf_{n \rightarrow \infty}}
|
\newcommand{\liminfni}{\liminf_{n \rightarrow \infty}}
|
||||||
\newcommand{\limsupni}{\limsup_{n \rightarrow \infty}}
|
\newcommand{\limsupni}{\limsup_{n \rightarrow \infty}}
|
||||||
|
\newcommand{\sequence}[1]{(#1_n)_{n \geq 1}}
|
||||||
|
\newcommand{\series}[2]{\sum_{k = 1}^{#2} #1_k}
|
||||||
|
|
||||||
\DeclareMathOperator\arctanh{arctanh}
|
\DeclareMathOperator\arctanh{arctanh}
|
||||||
\DeclareMathOperator\arccosh{arccosh}
|
\DeclareMathOperator\arccosh{arccosh}
|
||||||
|
|||||||
@@ -4,10 +4,6 @@
|
|||||||
\RequirePackage{minted}
|
\RequirePackage{minted}
|
||||||
\RequirePackage{fancyvrb}
|
\RequirePackage{fancyvrb}
|
||||||
|
|
||||||
% Args: Code.
|
|
||||||
% Alternative: Use \mint{<language>}|code|
|
|
||||||
\newcommand{\inlinecode}[1]{\shade{gray}{\texttt{#1}}}
|
|
||||||
|
|
||||||
% Args: Language, Code
|
% Args: Language, Code
|
||||||
\newenvironment{code}[1]{
|
\newenvironment{code}[1]{
|
||||||
\VerbatimEnvironment
|
\VerbatimEnvironment
|
||||||
|
|||||||
@@ -33,11 +33,18 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
% TODO: Use landscape and columns for new version
|
|
||||||
% Set up the latex document for exam summaries (Extra wide body, small margins, no header)
|
% Set up the latex document for exam summaries (Extra wide body, small margins, no header)
|
||||||
\newcommand{\setupCheatSheet}[1]{
|
\newcommand{\setupCheatSheet}[2][true]{
|
||||||
\RequirePackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry}
|
\ifthenelse{\equal{#1}{true}}{
|
||||||
\title{\Huge \textbf{#1}}
|
\RequirePackage[a4paper,textwidth=28.5cm,textheight=20cm,landscape]{geometry}
|
||||||
|
\RequirePackage{flowfram}
|
||||||
|
\ffvadjustfalse
|
||||||
|
\setlength{\columnsep}{1cm}
|
||||||
|
\Ncolumn{3}
|
||||||
|
}{
|
||||||
|
\RequirePackage[a4paper,textwidth=28.5cm,textheight=20cm]{geometry}
|
||||||
|
}
|
||||||
|
\title{\Huge \textbf{#2}}
|
||||||
\author{\authorTitle}
|
\author{\authorTitle}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -47,7 +54,7 @@
|
|||||||
% └ ┘
|
% └ ┘
|
||||||
% Start document command (required)
|
% Start document command (required)
|
||||||
\newcommand{\startDocument}{
|
\newcommand{\startDocument}{
|
||||||
% TODO: Cheat sheet needs different setup
|
% TODO: Cheat sheet needs different setup?
|
||||||
\maketitle
|
\maketitle
|
||||||
\pagestyle{fancy}
|
\pagestyle{fancy}
|
||||||
\thispagestyle{fancy}
|
\thispagestyle{fancy}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
}
|
}
|
||||||
\newcommand{\tr}[2]{\translate{#1}{#2}}
|
\newcommand{\tr}[2]{\translate{#1}{#2}}
|
||||||
\newcommand{\namingTranslate}[1]{\translate{\printTranslationOptionEN{#1}}{\printTranslationOptionEN{#1}}}
|
\newcommand{\namingTranslate}[1]{\translate{\printTranslationOptionEN{#1}}{\printTranslationOptionEN{#1}}}
|
||||||
|
\newcommand{\shortNamingTranslate}[1]{\translate{\printShortTranslationOptionEN{#1}}{\printShortTranslationOptionEN{#1}}}
|
||||||
|
|
||||||
% Translation aids (commonly used)
|
% Translation aids (commonly used)
|
||||||
\newcommand{\trif}{\translate{if }{falls }}
|
\newcommand{\trif}{\translate{if }{falls }}
|
||||||
|
|||||||
69
src/counters/figures-tables.sty
Normal file
69
src/counters/figures-tables.sty
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
% ┌ ┐
|
||||||
|
% │ Counter numbering │
|
||||||
|
% └ ┘
|
||||||
|
\newcommand{\preEnvHook}[1]{%
|
||||||
|
\stepLabelNumber{combined}%
|
||||||
|
\ifthenelse{\equal{\numberingpreset}{combined}}{%
|
||||||
|
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{default}}{
|
||||||
|
\stepLabelNumber{combined}%
|
||||||
|
}{}%
|
||||||
|
}{%
|
||||||
|
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{combined}}{%
|
||||||
|
\stepLabelNumber{combined}%
|
||||||
|
}{}%
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
|
||||||
|
% Decides on the numbering to use (combined or not)
|
||||||
|
\newcommand{\loadNumberingConfiguration}{%
|
||||||
|
\ifthenelse{\boolean{numberingDisabled}}{%
|
||||||
|
\renewcommand{\thetable}{\arabic{table}}
|
||||||
|
\renewcommand{\thefigure}{\arabic{figure}}
|
||||||
|
}{
|
||||||
|
\ifthenelse{\equal{\numberingpreset}{combined}}{%
|
||||||
|
\ifthenelse{\equal{\subsectionnumbering}{none}}{
|
||||||
|
\renewcommand{\thetable}{\arabic{combinednone}}
|
||||||
|
\renewcommand{\thefigure}{\arabic{combinednone}}
|
||||||
|
}{%
|
||||||
|
\renewcommand{\thetable}{\ssprinter.\arabic{combined\subsectionnumbering}}
|
||||||
|
\renewcommand{\thefigure}{\ssprinter.\arabic{combined\subsectionnumbering}}
|
||||||
|
}%
|
||||||
|
}{%
|
||||||
|
\ifthenelse{\equal{\numberingpreset}{separate}}{
|
||||||
|
\ifthenelse{\equal{\subsectionnumbering}{none}}{}{
|
||||||
|
\renewcommand{\thetable}{\ssprinter.\arabic{table}}
|
||||||
|
\renewcommand{\thefigure}{\ssprinter.\arabic{figure}}
|
||||||
|
}
|
||||||
|
}{%
|
||||||
|
\renewcommand{\thetable}{\arabic{table}}
|
||||||
|
\renewcommand{\thefigure}{\arabic{figure}}
|
||||||
|
}%
|
||||||
|
}%
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
|
||||||
|
% Prints the preceding subsection numbers
|
||||||
|
\newcommand{\ssprinter}{\thesection}
|
||||||
|
\newcommand{\generateSubsection}{%
|
||||||
|
\ifthenelse{\equal{\subsectionnumbering}{section}}{%
|
||||||
|
\renewcommand{\ssprinter}{\thesection}
|
||||||
|
}{%
|
||||||
|
\ifthenelse{\equal{\subsectionnumbering}{subsection}}{%
|
||||||
|
\renewcommand{\ssprinter}{\thesubsection}
|
||||||
|
}{%
|
||||||
|
\ifthenelse{\equal{\subsectionnumbering}{subsubsection}}{%
|
||||||
|
\renewcommand{\ssprinter}{\thesubsubsection}
|
||||||
|
}{%
|
||||||
|
\ifthenelse{\equal{\subsectionnumbering}{paragraph}}{%
|
||||||
|
\renewcommand{\ssprinter}{\theparagraph}
|
||||||
|
}{
|
||||||
|
\renewcommand{\ssprinter}{}
|
||||||
|
}%
|
||||||
|
}%
|
||||||
|
}%
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
\loadNumberingConfiguration
|
||||||
|
|
||||||
|
\AtBeginEnvironment{table}{\preEnvHook{table}}
|
||||||
|
\AtBeginEnvironment{figure}{\preEnvHook{figure}}
|
||||||
33
src/counters/generator.sty
Normal file
33
src/counters/generator.sty
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
% ── Label generator ─────────────────────────────────────────────────
|
||||||
|
\newcommand{\printNumberingConfigForDescriptor}[1]{\csname #1numbering\endcsname}
|
||||||
|
\newcommand{\printCounter}[1]{\refstepcounter{#1}\csname the#1\endcsname}
|
||||||
|
|
||||||
|
\newcommand{\printLabel}[1]{%
|
||||||
|
\ifthenelse{\boolean{numberingDisabled}}{}{
|
||||||
|
\ifcsdef{#1numbering}{% Extra config present
|
||||||
|
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{default}}{%
|
||||||
|
\labelPrintBackendRoutine{#1}%
|
||||||
|
}{%
|
||||||
|
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{separate}}{%
|
||||||
|
\printCounter{#1\subsectionnumbering}%
|
||||||
|
}{%
|
||||||
|
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{combined}}{%
|
||||||
|
\printCounter{combined\subsectionnumbering}%
|
||||||
|
}{}%
|
||||||
|
}%
|
||||||
|
}%
|
||||||
|
}{%
|
||||||
|
\labelPrintBackendRoutine{#1}%
|
||||||
|
}%
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\labelPrintBackendRoutine}[1]{%
|
||||||
|
\ifthenelse{\equal{\numberingpreset}{combined}}{%
|
||||||
|
\printCounter{combined\subsectionnumbering}%
|
||||||
|
}{
|
||||||
|
\ifthenelse{\equal{\numberingpreset}{separate}}{%
|
||||||
|
\printCounter{#1\subsectionnumbering}%
|
||||||
|
}{}%
|
||||||
|
}%
|
||||||
|
}
|
||||||
70
src/counters/usercommands.sty
Normal file
70
src/counters/usercommands.sty
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
% ── Set the current number of a label ───────────────────────────────
|
||||||
|
\newcommand{\setLabelNumber}[2]{%
|
||||||
|
\setcounter{#1none}{#2}%
|
||||||
|
\addtocounter{#1none}{-1}%
|
||||||
|
\setcounter{#1section}{#2}%
|
||||||
|
\addtocounter{#1section}{-1}%
|
||||||
|
\setcounter{#1subsection}{#2}%
|
||||||
|
\addtocounter{#1subsection}{-1}%
|
||||||
|
\setcounter{#1subsubsection}{#2}%
|
||||||
|
\addtocounter{#1subsubsection}{-1}%
|
||||||
|
\setcounter{#1paragraph}{#2}%
|
||||||
|
\addtocounter{#1paragraph}{-1}%
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\stepLabelNumber}[1]{%
|
||||||
|
\stepcounter{#1none}%
|
||||||
|
\stepcounter{#1section}%
|
||||||
|
\stepcounter{#1subsection}%
|
||||||
|
\stepcounter{#1subsubsection}%
|
||||||
|
\stepcounter{#1paragraph}%
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
\newcommand{\newsection}{%
|
||||||
|
\newpage
|
||||||
|
\newsectionNoPB
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\newsectionNoPB}{
|
||||||
|
\ifthenelse{\equal{\numberingpreset}{off}}{}{%
|
||||||
|
\resetNumbering%
|
||||||
|
\resetTableAndFigureNumbering%
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\resetTableAndFigureNumbering}{%
|
||||||
|
\ifthenelse{\equal{\printNumberingConfigForDescriptor{table}}{combined}}{
|
||||||
|
\setcounter{table}{0}
|
||||||
|
}{}%
|
||||||
|
\ifthenelse{\equal{\printNumberingConfigForDescriptor{table}}{default}}{
|
||||||
|
\setcounter{table}{0}
|
||||||
|
}{}%
|
||||||
|
\ifthenelse{\equal{\printNumberingConfigForDescriptor{figure}}{combined}}{%
|
||||||
|
\setcounter{figure}{0}
|
||||||
|
}{}%
|
||||||
|
\ifthenelse{\equal{\printNumberingConfigForDescriptor{figure}}{default}}{
|
||||||
|
\setcounter{figure}{0}
|
||||||
|
}{}%
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
% Numbering toggling
|
||||||
|
\newcommand{\numberingOff}{
|
||||||
|
\setboolean{numberingDisabled}{true}
|
||||||
|
\loadNumberingConfig
|
||||||
|
}
|
||||||
|
\newcommand{\numberingOn}{
|
||||||
|
\setboolean{numberingDisabled}{false}
|
||||||
|
\loadNumberingConfig
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\setsubsectionnumbering}[1]{
|
||||||
|
\renewcommand{\subsectionnumbering}{#1}
|
||||||
|
\loadNumberingConfig
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\setnumberingpreset}[1]{
|
||||||
|
\renewcommand{\numberingpreset}{#1}
|
||||||
|
\loadNumberingConfig
|
||||||
|
}
|
||||||
@@ -17,15 +17,7 @@
|
|||||||
|
|
||||||
% ── Small common style elements ─────────────────────────────────────
|
% ── Small common style elements ─────────────────────────────────────
|
||||||
% Spacing (vertical)
|
% Spacing (vertical)
|
||||||
% TODO: Rework
|
\newcommand{\rmvspace}[1][0.5]{\vspace{-#1pc}}
|
||||||
\newcommand{\hrmvspace}{\vspace{-0.25pc}}
|
|
||||||
\newcommand{\rmvspace}{\vspace{-0.5pc}}
|
|
||||||
\newcommand{\mrmvspace}{\vspace{-0.75pc}}
|
|
||||||
\newcommand{\drmvspace}{\vspace{-1pc}}
|
|
||||||
\newcommand{\dhrmvspace}{\vspace{-1.25pc}}
|
|
||||||
\newcommand{\dnrmvspace}{\vspace{-1.5pc}}
|
|
||||||
\newcommand{\dmrmvspace}{\vspace{-1.75pc}}
|
|
||||||
\newcommand{\ddrmvspace}{\vspace{-2pc}}
|
|
||||||
|
|
||||||
% Spacing (horizontal)
|
% Spacing (horizontal)
|
||||||
\newcommand{\smallhspace}{\hspace{2mm}}
|
\newcommand{\smallhspace}{\hspace{2mm}}
|
||||||
@@ -59,6 +51,9 @@
|
|||||||
% This command is used for the short and inline descriptors
|
% This command is used for the short and inline descriptors
|
||||||
\newcommand{\bg}[2]{\background{#1}{\arabic{descriptorShadeStrength}}{#2}}
|
\newcommand{\bg}[2]{\background{#1}{\arabic{descriptorShadeStrength}}{#2}}
|
||||||
|
|
||||||
|
% Add a gray backdrop
|
||||||
|
\newcommand{\backdrop}[1]{\shade{black}{#1}}
|
||||||
|
|
||||||
% Print a table of contents as a tcolorbox
|
% Print a table of contents as a tcolorbox
|
||||||
\newcommand{\printtoc}[1]{
|
\newcommand{\printtoc}[1]{
|
||||||
\renewcommand{\cfttoctitlefont}{}
|
\renewcommand{\cfttoctitlefont}{}
|
||||||
@@ -78,3 +73,10 @@
|
|||||||
\tableofcontents
|
\tableofcontents
|
||||||
\end{tcolorbox}
|
\end{tcolorbox}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
% Draw box around links. First arg link, second arg display
|
||||||
|
\newcommand{\hlhref}[2]{\color{MidnightBlue}\fbox{\href{#1}{#2}}\color{black}}
|
||||||
|
|
||||||
|
% Same for urls (just one arg tho)
|
||||||
|
\newcommand{\hlurl}[1]{\color{MidnightBlue}\fbox{\url{#1}}\color{black}}
|
||||||
|
|||||||
@@ -1,10 +1,17 @@
|
|||||||
% ── Inline environments ─────────────────────────────────────────────
|
% ── Inline environments ─────────────────────────────────────────────
|
||||||
|
% TODO: ref label generation
|
||||||
\newcommand{\inline}[2][NONAME]{%
|
\newcommand{\inline}[2][NONAME]{%
|
||||||
\ifthenelse{\equal{NONAME}{#1}}{%
|
\ifthenelse{\equal{NONAME}{#1}}{%
|
||||||
\anonymousInlineDescriptorTemplate{#2}{\printLabel{#2}}%
|
\anonymousInlineDescriptorTemplate{#2}{\printLabel{#2}}%
|
||||||
}{%
|
}{%
|
||||||
\inlineDescriptorTemplate{#2}{\printLabel{#2}}{#1}%
|
\inlineDescriptorTemplate{#2}{\printLabel{#2}}{#1}%
|
||||||
}
|
}%
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\labeledInline}[3][NONAME]{%
|
||||||
|
\edef{\tempLabel}{#3}
|
||||||
|
\label{\tempLabel}
|
||||||
|
\inline[#1]{#2}
|
||||||
}
|
}
|
||||||
|
|
||||||
\newcommand{\short}[2][NONAME]{%
|
\newcommand{\short}[2][NONAME]{%
|
||||||
@@ -12,5 +19,14 @@
|
|||||||
\anonymousShortDescriptorTemplate{#2}{\printLabel{#2}}%
|
\anonymousShortDescriptorTemplate{#2}{\printLabel{#2}}%
|
||||||
}{%
|
}{%
|
||||||
\shortDescriptorTemplate{#2}{\printLabel{#2}}{#1}%
|
\shortDescriptorTemplate{#2}{\printLabel{#2}}{#1}%
|
||||||
}
|
}%
|
||||||
}
|
}
|
||||||
|
|
||||||
|
\newcommand{\labeledShort}[3][NONAME]{%
|
||||||
|
\edef{\tempLabel}{#3}
|
||||||
|
\label{\tempLabel}
|
||||||
|
\short[#1]{#2}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\inlineproof}{\anonymousInlineDescriptorTemplate{proof}{}}
|
||||||
|
\newcommand{\shortproof}{\anonymousShortDescriptorTemplate{proof}{}}
|
||||||
|
|||||||
24
src/style/spacing.sty
Normal file
24
src/style/spacing.sty
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
\newcommand{\noverticalspacing}{
|
||||||
|
\abovedisplayskip 1pt plus 2pt minus 1pt
|
||||||
|
\belowdisplayskip 1pt plus 2pt minus 1pt
|
||||||
|
\abovedisplayshortskip -10pt
|
||||||
|
\belowdisplayshortskip 1pt plus 2pt minus 1pt
|
||||||
|
}
|
||||||
|
\newcommand{\smallverticalspacing}{
|
||||||
|
\abovedisplayskip 4pt plus 3pt minus 2pt
|
||||||
|
\belowdisplayskip 5pt plus 5pt minus 2pt
|
||||||
|
\abovedisplayshortskip -5pt
|
||||||
|
\belowdisplayshortskip 3pt plus 4pt minus 2pt
|
||||||
|
}
|
||||||
|
\newcommand{\mediumverticalspacing}{
|
||||||
|
\abovedisplayskip 7pt plus 4pt minus 3pt
|
||||||
|
\belowdisplayskip 9pt plus 6pt minus 3pt
|
||||||
|
\abovedisplayshortskip 0pt
|
||||||
|
\belowdisplayshortskip 5pt plus 4pt minus 2pt
|
||||||
|
}
|
||||||
|
\newcommand{\largeverticalspacing}{
|
||||||
|
\abovedisplayskip 13pt plus 3pt minus 1pt
|
||||||
|
\belowdisplayskip 15pt plus 9pt minus 6pt
|
||||||
|
\abovedisplayshortskip 5pt plus 2pt minus 3pt
|
||||||
|
\belowdisplayshortskip 7pt plus 5pt minus 2pt
|
||||||
|
}
|
||||||
@@ -6,13 +6,6 @@
|
|||||||
\newtcolorbox{recall}[2][]{mainboxstyle,colback=recallcolor!5!white,colframe=recallcolor!75!black,colbacktitle=recallcolor!75!black,title={\large #2},
|
\newtcolorbox{recall}[2][]{mainboxstyle,colback=recallcolor!5!white,colframe=recallcolor!75!black,colbacktitle=recallcolor!75!black,title={\large #2},
|
||||||
overlay={\node[overlaystyle,draw=recallcolor!75!black,,fill=recallcolor!75!black] at (frame.north east) {\large \translate{Recall }{Repetition }};},#1}
|
overlay={\node[overlaystyle,draw=recallcolor!75!black,,fill=recallcolor!75!black] at (frame.north east) {\large \translate{Recall }{Repetition }};},#1}
|
||||||
|
|
||||||
\newtcolorbox{remarks}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2},
|
|
||||||
overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Remarks }{Bemerkungen }};},#1}
|
|
||||||
|
|
||||||
\newtcolorbox{guides}[3][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2},
|
|
||||||
overlay={\node[overlaystyle,draw=red!75!black,,fill=red!75!black] at (frame.north east) {\large #3};},#1}
|
|
||||||
|
|
||||||
|
|
||||||
\newtcolorbox{properties}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2},
|
\newtcolorbox{properties}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2},
|
||||||
overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Properties }{Eigenschaften }};},#1}
|
overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Properties }{Eigenschaften }};},#1}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user