Start reworking helpers
This commit is contained in:
@@ -5,11 +5,11 @@
|
||||
|
||||
This repository contains a collection of LaTeX files, helping you get started with LaTeX quickly.
|
||||
|
||||
|
||||
# New import scheme
|
||||
I have done some tweaks to support a new import scheme, making imports much more flexible
|
||||
|
||||
|
||||
|
||||
# Getting started
|
||||
See the docs [here](https://git.janishutz.com/janishutz/latex/src/branch/main/docs/docs.pdf) to get started.
|
||||
|
||||
|
||||
0
build/build-config.json
Normal file
0
build/build-config.json
Normal file
0
build/build.py
Normal file
0
build/build.py
Normal file
1021
dist/janishutz-helpers-full.sty
vendored
1021
dist/janishutz-helpers-full.sty
vendored
File diff suppressed because it is too large
Load Diff
32
dist/janishutz-helpers-letters.sty
vendored
32
dist/janishutz-helpers-letters.sty
vendored
@@ -1,32 +0,0 @@
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[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}
|
||||
}
|
||||
}%
|
||||
372
dist/janishutz-helpers-minimal.sty
vendored
372
dist/janishutz-helpers-minimal.sty
vendored
@@ -1,372 +0,0 @@
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{janishutz-helpers}[2.0.0]
|
||||
|
||||
% ___ ___
|
||||
% ( _ \ / ___)_
|
||||
% | ( (_) _ ___ | (__ (_) __
|
||||
% | | _ / _ \/ _ \ __)| |/ _ \
|
||||
% | (_( ) (_) ) ( ) | | | | (_) |
|
||||
% (____/ \___/(_) (_)_) (_)\__ |
|
||||
% ( )_) |
|
||||
% \___/
|
||||
|
||||
% To be loaded *after* main/core.tex
|
||||
|
||||
% 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}
|
||||
|
||||
|
||||
% Configure definition, lemma, theorem, etc numbering behaviour. 1 = Individual, 2 = Combined (apart from Definition), 3 = Combined
|
||||
\setcounter{numberingConfig}{1}
|
||||
|
||||
% Configure if for definitions, lemmas, etc, numbering should be (0) = <section>.<number> or (1) = <section>.<subsection>.<number> or (2) = <section>.<subsection>.<subsubsection>.<number>
|
||||
\setcounter{numberSubsections}{0}
|
||||
|
||||
% Set the default language.
|
||||
\setLang{en}
|
||||
|
||||
% Set the default command for theorem translation
|
||||
\newcommand{\theoremde}{Satz}
|
||||
|
||||
|
||||
% ----- %
|
||||
% STYLE %
|
||||
% ----- %
|
||||
|
||||
% The colour-saturation of the short / inline descriptors (default = 40)
|
||||
\setcounter{descriptorShadeStrength}{40}
|
||||
|
||||
% The colour-saturation of the shade command (default = 20)
|
||||
\setcounter{shadeStrength}{20}
|
||||
|
||||
|
||||
% ▄▄█▀▀▀█▄█
|
||||
% ▄██▀ ▀█
|
||||
% ██▀ ▀ ▄██▀██▄▀███▄███ ▄▄█▀██
|
||||
% ██ ██▀ ▀██ ██▀ ▀▀ ▄█▀ ██
|
||||
% ██▄ ██ ██ ██ ██▀▀▀▀▀▀
|
||||
% ▀██▄ ▄▀██▄ ▄██ ██ ██▄ ▄
|
||||
% ▀▀█████▀ ▀█████▀▄████▄ ▀█████▀
|
||||
|
||||
% This file contains all necessary dependencies for the document to compile (at all) and some core macros
|
||||
|
||||
% Imports %
|
||||
\typeout{[Core] Importing!}
|
||||
\RequirePackage[table, dvipsnames]{xcolor}
|
||||
\RequirePackage{amsmath}
|
||||
\RequirePackage{graphicx}
|
||||
\RequirePackage{subcaption}
|
||||
\RequirePackage[export]{adjustbox}
|
||||
\RequirePackage[most]{tcolorbox}
|
||||
\RequirePackage{cancel}
|
||||
\RequirePackage{dsfont}
|
||||
\RequirePackage{amssymb}
|
||||
\RequirePackage{mathrsfs}
|
||||
\RequirePackage{lipsum}
|
||||
\RequirePackage{ulem}
|
||||
\RequirePackage{soul}
|
||||
\RequirePackage{parskip}
|
||||
\RequirePackage{fancyhdr}
|
||||
\RequirePackage{lastpage}
|
||||
\RequirePackage{tocloft}
|
||||
\RequirePackage{wasysym}
|
||||
\RequirePackage{wrapfig}
|
||||
\RequirePackage{multicol}
|
||||
\RequirePackage{ifthen}
|
||||
\RequirePackage[hidelinks]{hyperref}
|
||||
\RequirePackage{enumitem}
|
||||
\RequirePackage{gensymb}
|
||||
\RequirePackage{pifont}
|
||||
|
||||
|
||||
% Language Switching. Currently only English and German are supported
|
||||
% See docs for how to use
|
||||
\newcounter{lang}
|
||||
\typeout{Loading helpers}
|
||||
|
||||
% TODO: Fix this up
|
||||
\newcommand{\setLang}[1]{
|
||||
\edef\lang{#1}
|
||||
\edef\en{en}
|
||||
\edef\de{de}
|
||||
\ifx\lang\en
|
||||
\typeout{[Lang Switcher] Loading English}
|
||||
\setcounter{lang}{1}
|
||||
\else
|
||||
\ifx\lang\de
|
||||
\typeout{[Lang Switcher] Loading German}
|
||||
\setcounter{lang}{2}
|
||||
\input{\dir/main/lang/de}
|
||||
\else
|
||||
\typeout{[Lang Switcher] No such language!}
|
||||
\fi
|
||||
\fi
|
||||
}
|
||||
|
||||
\newcommand{\loadLang}{
|
||||
\ifnum\value{lang}<2{
|
||||
\typeout{[Lang Loader] Loaded English}
|
||||
}\else {
|
||||
\typeout{[Lang Loader] Loaded German}
|
||||
\setcounter{lang}{2}
|
||||
}
|
||||
\fi
|
||||
}
|
||||
|
||||
|
||||
% Create config counters / variables. See the config file for changing them
|
||||
\newcounter{numberingConfig}
|
||||
\newcounter{numberSubsections}
|
||||
\newcounter{descriptorShadeStrength}
|
||||
\newcounter{shadeStrength}
|
||||
|
||||
% Set up the latex document, configure author, title (as first argument), as well as headers and footers
|
||||
\newcommand{\setup}[1]{
|
||||
\typeout{[Setup] Setting up...}
|
||||
\loadLang
|
||||
\RequirePackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
|
||||
\title{\Huge \textbf{#1}}
|
||||
\author{\authorTitle}
|
||||
\makeatletter
|
||||
\makeatother
|
||||
\fancyhead{}
|
||||
\fancyhead[L]{#1}
|
||||
\fancyhead[R]{\authorHeaders}
|
||||
\fancyfoot{}
|
||||
\fancyfoot[L]{\today}
|
||||
\fancyfoot[R]{\thepage\ /\ \pageref{LastPage}}
|
||||
\fancypagestyle{plain}{%
|
||||
\fancyhead{}
|
||||
\fancyhead[L]{#1}
|
||||
\fancyhead[R]{\authorHeaders}
|
||||
\fancyfoot{}
|
||||
\fancyfoot[L]{\today}
|
||||
\fancyfoot[R]{\thepage\ /\ \pageref{LastPage}}
|
||||
}
|
||||
}
|
||||
|
||||
% Start document command (required)
|
||||
\newcommand{\startDocument}{
|
||||
\maketitle
|
||||
\pagestyle{fancy}
|
||||
\thispagestyle{fancy}
|
||||
}
|
||||
|
||||
% Set up the latex document, only configuring the author, title and page size
|
||||
\newcommand{\setupBarebones}[1]{
|
||||
\loadLang
|
||||
\RequirePackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
|
||||
\title{\Huge \textbf{#1}}
|
||||
\author{\authorTitle}
|
||||
}
|
||||
|
||||
% Set up the latex document for exam summaries (Extra wide body, small margins, no header)
|
||||
\newcommand{\setupCheatSheet}[1]{
|
||||
\loadLang
|
||||
\RequirePackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry}
|
||||
\title{\Huge \textbf{#1}}
|
||||
\author{\authorTitle}
|
||||
}
|
||||
|
||||
|
||||
% ────────────────────────────────────────────────────────────────────
|
||||
% ╭────────────────────────────────────────────────╮
|
||||
% │ Translatation │
|
||||
% ╰────────────────────────────────────────────────╯
|
||||
\newcommand{\translate}[2]{\ifnum\value{lang}<2{#1}\else{#2}\fi}
|
||||
\newcommand{\tr}[2]{\translate{#1}{#2}}
|
||||
|
||||
% ┌ ┐
|
||||
% │ Translation aids (commonly used) │
|
||||
% └ ┘
|
||||
\newcommand{\trif}{\translate{if }{falls }}
|
||||
\newcommand{\trIf}{\translate{If }{Falls }}
|
||||
\newcommand{\trLet}{\translate{Let }{Sei }}
|
||||
\newcommand{\trLets}{\translate{Let }{Seien }}
|
||||
\newcommand{\trFor}{\translate{For }{Für }}
|
||||
\newcommand{\trfor}{\translate{for }{für }}
|
||||
\newcommand{\trand}{\translate{and }{und }}
|
||||
\newcommand{\tror}{\translate{or }{oder }}
|
||||
\newcommand{\trst}{\translate{s.t. }{s.d. }}
|
||||
\newcommand{\trsuchthat}{\translate{such that }{so dass }}
|
||||
\newcommand{\trwith}{\translate{with }{mit }}
|
||||
|
||||
%░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
%░░░ ░░░░░ ░░░░░░░░░░░░░ ░░░░░░░░░░░
|
||||
%▒ ▒▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒
|
||||
%▒▒ ▒▒▒▒▒▒▒ ▒ ▒ ▒▒▒ ▒ ▒▒▒▒ ▒▒▒▒
|
||||
%▓▓▓▓ ▓▓▓▓▓▓▓ ▓▓▓▓ ▓ ▓▓ ▓▓ ▓▓▓ ▓
|
||||
%▓▓▓▓▓▓▓ ▓▓▓▓ ▓▓▓▓▓▓ ▓▓▓ ▓ ▓
|
||||
%▓ ▓▓▓▓ ▓▓▓ ▓ ▓▓▓▓▓ ▓▓▓ ▓ ▓▓▓▓▓▓▓▓
|
||||
%███ ██████ █████ ████ ███ ███
|
||||
%██████████████████████ ███████████████████
|
||||
|
||||
% Global style configs for tcolorbox (to reduce bloat)
|
||||
\newcommand{\usetcolorboxes}{
|
||||
\tcbset{
|
||||
mainboxstyle/.style={
|
||||
arc=3mm,
|
||||
colback=red!5!white,
|
||||
colframe=red!75!black,
|
||||
colbacktitle=red!75!black,
|
||||
fonttitle=\bfseries,
|
||||
enhanced,
|
||||
attach boxed title to top left={yshift=-2mm,xshift=5mm},
|
||||
breakable,
|
||||
top=0.4cm,
|
||||
}
|
||||
}
|
||||
\tikzset{
|
||||
overlaystyle/.style={
|
||||
draw=red!75!black,
|
||||
thick,
|
||||
fill=red!75!black,
|
||||
left,
|
||||
anchor=east,
|
||||
text=white,
|
||||
rounded corners=1mm,
|
||||
font=\bfseries,
|
||||
xshift=-5mm,
|
||||
yshift=1mm,
|
||||
inner xsep=3mm,
|
||||
inner ysep=1.5mm
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
% -------------------- %
|
||||
% Small style elements %
|
||||
% -------------------- %
|
||||
\newcommand{\setFont}[1]{\fontfamily{#1}\selectfont}
|
||||
\newcommand{\setFontType}[1]{
|
||||
\ifthenelse{\equal{#1}{mono}}{
|
||||
\renewcommand{\familydefault}{\ttdefault}
|
||||
}{
|
||||
\ifthenelse{\equal{#1}{serif}}{
|
||||
\renewcommand{\familydefault}{\rmdefault}
|
||||
}{
|
||||
\renewcommand{\familydefault}{\sfdefault}
|
||||
}
|
||||
}
|
||||
}
|
||||
\newcommand{\rmvspace}{\vspace{-0.5pc}}
|
||||
\newcommand{\drmvspace}{\vspace{-1pc}}
|
||||
\renewcommand{\footrulewidth}{0.4pt}
|
||||
\newcommand{\TODO}{\color{red} \hl{TODO:} \color{black}}
|
||||
\newcommand{\bi}[1]{\textbf{\textit{#1}}}
|
||||
\renewcommand{\quote}[1]{``\textit{#1}''}
|
||||
|
||||
% Add a color shade (similar to \fhlc, but nicer boxes)
|
||||
\newcommand{\background}[3]{\tcbox[on line,
|
||||
boxsep=2pt,
|
||||
left=0pt,
|
||||
right=0pt,
|
||||
top=0pt,
|
||||
bottom=0pt,
|
||||
colframe=white,
|
||||
frame empty,
|
||||
colback=#1!#2!white,
|
||||
highlight math style={enhanced}
|
||||
] {\textbf{#3}}}
|
||||
|
||||
% Abstraction of background, where the brightness is set to 20%
|
||||
\newcommand{\shade}[2]{\background{#1}{\arabic{shadeStrength}}{#2}}
|
||||
|
||||
% This command is used for the short and inline descriptors
|
||||
\newcommand{\bg}[2]{\background{#1}{\arabic{descriptorShadeStrength}}{#2}}
|
||||
|
||||
% Add a gray backdrop
|
||||
\newcommand{\backdrop}[1]{\shade{black}{#1}}
|
||||
|
||||
|
||||
% Fancy highlighting (Bold, underlined, colorbox behind it. Shorthand for \fhlc{white}{#1}
|
||||
\newcommand{\fhl}[1]{\fhlc{white}{#1}}
|
||||
|
||||
% Add a colorbox around your text with the color specified. Text is bold and underlined
|
||||
\newcommand{\fhlc}[2]{\textbf{\underline{\colorbox{#1}{#2}}}}
|
||||
|
||||
% Spacing (horizontal)
|
||||
\newcommand{\smallhspace}{\hspace{2mm}}
|
||||
\newcommand{\mediumhspace}{\hspace{5mm}}
|
||||
\newcommand{\largehspace}{\hspace{1cm}}
|
||||
|
||||
% ----------------- %
|
||||
% Table of contents %
|
||||
% ----------------- %
|
||||
|
||||
% Print a table of contents as a tcolorbox
|
||||
\newcommand{\printtoc}[1]{
|
||||
\renewcommand{\cfttoctitlefont}{}
|
||||
\renewcommand{\cftaftertoctitle}{\vspace{-0.75cm}}
|
||||
\renewcommand{\contentsname}{}
|
||||
\begin{tcolorbox}[colback=black!5!white,colbacktitle=#1!75!black,coltitle=black,enhanced,attach boxed title to top center={yshift=-2mm},
|
||||
title={\Large \ifnum\value{lang}<2{Contents}\else {Inhaltsverzeichnis}\fi},fonttitle=\bfseries,breakable]
|
||||
\hspace{1cm}
|
||||
\tableofcontents
|
||||
\end{tcolorbox}
|
||||
}
|
||||
|
||||
%▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
|
||||
%██░▄▄▀█▀▄▄▀█░▄▀▄░█░▄▀▄░█▀▄▄▀█░▄▄▀
|
||||
%██░████░██░█░█▄█░█░█▄█░█░██░█░██░
|
||||
%██░▀▀▄██▄▄██▄███▄█▄███▄██▄▄██▄██▄
|
||||
%▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
|
||||
|
||||
\newtcolorbox{recall}[2][]{mainboxstyle,colback=yellow!5!white,colframe=yellow!75!black,colbacktitle=yellow!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=yellow!75!black,,fill=yellow!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},
|
||||
overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Properties }{Eigenschaften }};},#1}
|
||||
|
||||
\newtcolorbox{restrictions}[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{Restrictions }{Einschränkungen }};},#1}
|
||||
|
||||
\newtcolorbox{limitations}[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{Limitations }{Limitierungen }};},#1}
|
||||
|
||||
\newtcolorbox{intuition}[2][]{mainboxstyle,colback=Emerald!5!white,colframe=Emerald!75!black,colbacktitle=Emerald!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=Emerald!75!black,,fill=Emerald!75!black] at (frame.north east) {\large Intuition};},#1}
|
||||
|
||||
\newcommand{\inlineintuition}{\bg{Emerald}{Intuition:}}
|
||||
|
||||
|
||||
% Terms and notation
|
||||
\newtcolorbox{terms}[2][]{mainboxstyle,colback=orange!5!white,colframe=orange!75!black,colbacktitle=orange!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=orange!75!black,,fill=orange!75!black] at (frame.north east) {\large \translate{Terms }{Begriffe }};},#1}
|
||||
|
||||
\newtcolorbox{notation}[2][]{mainboxstyle,colback=Peach!5!white,colframe=Peach!75!black,colbacktitle=Peach!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=Peach!75!black,,fill=Peach!75!black] at (frame.north east) {\large Notation};},#1}
|
||||
|
||||
|
||||
\newtcolorbox{usage}[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{Usage }{Nutzung }};},#1}
|
||||
|
||||
|
||||
% Task
|
||||
\newtcolorbox{task}[2][]{mainboxstyle,colback=gray!5!white,colframe=gray!75!black,colbacktitle=gray!75!black,title={\large #2},overlay={\node[overlaystyle,draw=gray!75!black,fill=gray!75!black] at (frame.north east) {\large \translate{Task}{Aufgabe}};},#1}
|
||||
|
||||
|
||||
% Proof
|
||||
\newtcolorbox{proof}[2][]{mainboxstyle,colback=magenta!5!white,colframe=magenta!75!black,colbacktitle=magenta!75!black,title={\large #2},overlay={\node[overlaystyle,draw=magenta!75!black,fill=magenta!75!black] at (frame.north east) {\large \translate{Proof}{Beweis}};},#1}
|
||||
|
||||
|
||||
% General
|
||||
\newtcolorbox{general}[4][]{mainboxstyle,colback=#4!5!white,colframe=#4!75!black,colbacktitle=#4!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=#4!75!black,,fill=#4!75!black] at (frame.north east) {\large #3};},#1}
|
||||
|
||||
% Simple
|
||||
\newtcolorbox{simplebox}[2][]{colback=#2!5!white,colframe=#2!75!black,#1}
|
||||
1003
dist/janishutz-helpers-recommended.sty
vendored
1003
dist/janishutz-helpers-recommended.sty
vendored
File diff suppressed because it is too large
Load Diff
@@ -1,19 +0,0 @@
|
||||
% ___ _ _____ _ _
|
||||
% ( _ \ _( ) (_ _) ( ) ( )
|
||||
% | (_) )_) |_ | | __ \ \/ /
|
||||
% | _ (| | _ \ | | / __ \ ) (
|
||||
% | (_) ) | |_) ) | | ( ___// /\ \
|
||||
% (____/(_)_ __/ (_) \____)_) (_)
|
||||
|
||||
% Configs if you want to use BibTeX. Not included in any default configs.
|
||||
|
||||
\newcommand{\setupBibtex}[1]{
|
||||
\usepackage{biblatex}
|
||||
\usepackage[nottoc, numbib]{tocbibind}
|
||||
\addbibresource{#1}
|
||||
}
|
||||
|
||||
\newcommand{\printbib}{
|
||||
\addcontentsline{toc}{section}{\translate{Sources}{Quellen}}
|
||||
\printbibliography[title=\translate{Sources}{Quellen}]
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
|
||||
%░▒█▀▀█░█░░▄▀▀▄░█▀▀░█▀▀░█▀▀▄░█▀▀▄░█░░█
|
||||
%░▒█░▄▄░█░░█░░█░▀▀▄░▀▀▄░█▄▄█░█▄▄▀░█▄▄█
|
||||
%░▒█▄▄▀░▀▀░░▀▀░░▀▀▀░▀▀▀░▀░░▀░▀░▀▀░▄▄▄▀
|
||||
|
||||
% Add glossaries functionality
|
||||
|
||||
\newcommand{\setupGlossary}{
|
||||
\usepackage[nonumberlist, toc]{glossaries}
|
||||
\usepackage[nottoc, numbib]{tocbibind}
|
||||
\makenoidxglossaries
|
||||
}
|
||||
|
||||
\newcommand{\printGlossary}{
|
||||
\glsaddall
|
||||
\printnoidxglossaries
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
\usepackage{minted}
|
||||
\usepackage{fancyvrb}
|
||||
|
||||
\newcommand{\inlinecode}[1]{\shade{gray}{\texttt{#1}}}
|
||||
|
||||
\newenvironment{code}[1]{
|
||||
\VerbatimEnvironment
|
||||
\begin{minted}[
|
||||
autogobble,
|
||||
breaklines,
|
||||
breakindentnchars=2,
|
||||
frame=lines,
|
||||
framesep=2mm,
|
||||
mathescape,
|
||||
baselinestretch=1.1,
|
||||
linenos]{#1}}
|
||||
{\end{minted}}
|
||||
@@ -1,3 +0,0 @@
|
||||
% Loader
|
||||
\usepackage{currfile}
|
||||
\usepackage{\currfileabsdir janishutz-helpers}
|
||||
@@ -1,2 +0,0 @@
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{janishutz-helpers}[2.0.0]
|
||||
@@ -1,32 +0,0 @@
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[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}
|
||||
}
|
||||
}%
|
||||
23
src/config/colors.sty
Normal file
23
src/config/colors.sty
Normal file
@@ -0,0 +1,23 @@
|
||||
% ┌ ┐
|
||||
% │ Colours │
|
||||
% └ ┘
|
||||
% You may also use \definecolor{<name>}{rgb}{r, g, b} to define a fully custom color
|
||||
% see https://www.overleaf.com/learn/latex/Using_colors_in_LaTeX#Creating_your_own_colors for more information
|
||||
\colorlet{definitioncolor}{blue}
|
||||
\colorlet{theoremcolor}{ForestGreen}
|
||||
\colorlet{lemmacolor}{Aquamarine}
|
||||
\colorlet{corollarycolor}{teal}
|
||||
\colorlet{axiomcolor}{JungleGreen}
|
||||
\colorlet{factcolor}{SeaGreen}
|
||||
\colorlet{propositioncolor}{Cyan}
|
||||
\colorlet{examplecolor}{gray}
|
||||
\colorlet{formulacolor}{red}
|
||||
\colorlet{remarkcolor}{green}
|
||||
\colorlet{proofcolor}{magenta}
|
||||
\colorlet{intuitioncolor}{Emerald}
|
||||
\colorlet{termcolor}{orange}
|
||||
\colorlet{notationcolor}{Peach}
|
||||
\colorlet{taskcolor}{gray}
|
||||
\colorlet{usagecolor}{LimeGreen}
|
||||
\colorlet{recallcolor}{yellow}
|
||||
\colorlet{propertiescolor}{purple}
|
||||
39
src/config/main.sty
Normal file
39
src/config/main.sty
Normal file
@@ -0,0 +1,39 @@
|
||||
% ┌ ┐
|
||||
% │ General config │
|
||||
% └ ┘
|
||||
% 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}
|
||||
|
||||
|
||||
% ┌ ┐
|
||||
% │ 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}}
|
||||
|
||||
% Decide if the numbering should show a space preceding it.
|
||||
\newcommand{\useSpaceBeforeNumbering}{true}
|
||||
|
||||
% Specify how the inline and short descriptors (e.g. Lemma, etc) are rendered.
|
||||
% - #1 is the name of the descriptor (or the shortened version, as configured)
|
||||
% - #2 is the number (correctly rendered according to settings and preceded with space if not disabled)
|
||||
% - #3 is the corresponding color
|
||||
% - #4 is the name passed (non-empty)
|
||||
\newcommand{\shortDescriptorTemplate}[4]{\bg{#3}{#1#2} \textit{(#4)}}
|
||||
\newcommand{\inlineDescriptorTemplate}[4]{\bg{#3}{#1#2} \textit{(#4)}}
|
||||
|
||||
% These are used if no name is provided and argument #4 from above is the missing argument
|
||||
\newcommand{\anonymousShortDescriptorTemplate}[3]{\bg{#3}{#1#2}}
|
||||
\newcommand{\anonymousInlineDescriptorTemplate}[3]{\bg{#3}{#1#2}}
|
||||
|
||||
% background command config (draws a small box around the content)
|
||||
\newcommand{\backgroundPadding}{2pt}
|
||||
\newcommand{\backgroundRounding}{0.1pt}
|
||||
41
src/config/naming.sty
Normal file
41
src/config/naming.sty
Normal file
@@ -0,0 +1,41 @@
|
||||
% ┌ ┐
|
||||
% │ Naming │
|
||||
% └ ┘
|
||||
% Here you may specify how each descriptor is named
|
||||
\newcommand{\definitionNamingEN}{Definition}
|
||||
\newcommand{\theoremNamingEN}{Theorem}
|
||||
\newcommand{\lemmaNamingEN}{Lemma}
|
||||
\newcommand{\corollaryNamingEN}{Corollary}
|
||||
\newcommand{\axiomNamingEN}{Axiom}
|
||||
\newcommand{\factNamingEN}{Fact}
|
||||
\newcommand{\propositionNamingEN}{Proposition}
|
||||
\newcommand{\exampleNamingEN}{Example}
|
||||
\newcommand{\formulaNamingEN}{Formula}
|
||||
\newcommand{\remarkNamingEN}{Remark}
|
||||
\newcommand{\proofNamingEN}{Proof}
|
||||
\newcommand{\intuitionNamingEN}{Intuition}
|
||||
\newcommand{\termNamingEN}{Term}
|
||||
\newcommand{\notationNamingEN}{Notation}
|
||||
\newcommand{\taskNamingEN}{Task}
|
||||
\newcommand{\usageNamingEN}{Usage}
|
||||
\newcommand{\recallNamingEN}{Recall}
|
||||
\newcommand{\propertiesNamingEN}{Properties}
|
||||
|
||||
\newcommand{\definitionNamingDE}{Definition}
|
||||
\newcommand{\theoremNamingDE}{Theorem}
|
||||
\newcommand{\lemmaNamingDE}{Lemma}
|
||||
\newcommand{\corollaryNamingDE}{Korollar}
|
||||
\newcommand{\axiomNamingDE}{Axiom}
|
||||
\newcommand{\factNamingDE}{Fakt}
|
||||
\newcommand{\propositionNamingDE}{Satz}
|
||||
\newcommand{\exampleNamingDE}{Beispiel}
|
||||
\newcommand{\formulaNamingDE}{Formel}
|
||||
\newcommand{\remarkNamingDE}{Bemerkung}
|
||||
\newcommand{\proofNamingDE}{Beweis}
|
||||
\newcommand{\intuitionNamingDE}{Intuition}
|
||||
\newcommand{\termNamingDE}{Begriff}
|
||||
\newcommand{\notationNamingDE}{Notation}
|
||||
\newcommand{\taskNamingDE}{Aufgabe}
|
||||
\newcommand{\usageNamingDE}{Nutzung}
|
||||
\newcommand{\recallNamingDE}{Repetition}
|
||||
\newcommand{\propertiesNamingDE}{Eigenschaften}
|
||||
37
src/config/numbering.sty
Normal file
37
src/config/numbering.sty
Normal file
@@ -0,0 +1,37 @@
|
||||
% ┌ ┐
|
||||
% │ Numbering │
|
||||
% └ ┘
|
||||
% Set a preset, can be combined, separate, separatedef (all combined but definitions), custom or off.
|
||||
% If set to custom, all type specific commands need to be set below.
|
||||
\newcommand{\numberingpreset}{combined}
|
||||
|
||||
% Specify how elements are to be numbered. Can be (X is the current number of the element):
|
||||
% - none (X)
|
||||
% - section (section.X)
|
||||
% - subsection (section.subsection.X)
|
||||
% - subsubsection (section.subsection.subsubsection.X)
|
||||
% - subsubsubsection (section.subsection.subsubsection.subsubsubsection.X)
|
||||
\newcommand{\subsectionnumbering}{subsection}
|
||||
|
||||
|
||||
% Set for a specific type. Can each be combined, separate, default or off:
|
||||
% If set to anything but 'default', it will override the overarching style
|
||||
% set by \numberingpreset
|
||||
\newcommand{\definitionnumbering}{default}
|
||||
\newcommand{\theoremnumbering}{default}
|
||||
\newcommand{\lemmanumbering}{default}
|
||||
\newcommand{\corollarynumbering}{default}
|
||||
\newcommand{\axiomnumbering}{default}
|
||||
\newcommand{\factnumbering}{default}
|
||||
\newcommand{\propositionnumbering}{default}
|
||||
\newcommand{\examplenumbering}{default}
|
||||
\newcommand{\formulanumbering}{default}
|
||||
\newcommand{\remarknumbering}{default}
|
||||
\newcommand{\proofnumbering}{default}
|
||||
\newcommand{\intuitionnumbering}{default}
|
||||
\newcommand{\termnumbering}{default}
|
||||
\newcommand{\notationnumbering}{default}
|
||||
\newcommand{\tasknumbering}{default}
|
||||
\newcommand{\usagenumbering}{default}
|
||||
\newcommand{\recallnumbering}{default}
|
||||
\newcommand{\propertiesnumbering}{default}
|
||||
47
src/core.sty
Normal file
47
src/core.sty
Normal file
@@ -0,0 +1,47 @@
|
||||
% Package imports
|
||||
\RequirePackage[table, dvipsnames]{xcolor}
|
||||
\RequirePackage{amsmath}
|
||||
\RequirePackage{graphicx}
|
||||
\RequirePackage{subcaption}
|
||||
\RequirePackage[export]{adjustbox}
|
||||
\RequirePackage[most]{tcolorbox}
|
||||
\RequirePackage{cancel}
|
||||
\RequirePackage{dsfont}
|
||||
\RequirePackage{amssymb}
|
||||
\RequirePackage{mathrsfs}
|
||||
\RequirePackage{lipsum}
|
||||
\RequirePackage{ulem}
|
||||
\RequirePackage{soul}
|
||||
\RequirePackage{parskip}
|
||||
\RequirePackage{fancyhdr}
|
||||
\RequirePackage{lastpage}
|
||||
\RequirePackage{tocloft}
|
||||
\RequirePackage{wasysym}
|
||||
\RequirePackage{wrapfig}
|
||||
\RequirePackage{multicol}
|
||||
\RequirePackage{ifthen}
|
||||
\RequirePackage[hidelinks]{hyperref}
|
||||
\RequirePackage{enumitem}
|
||||
\RequirePackage{gensymb}
|
||||
\RequirePackage{pifont}
|
||||
\RequirePackage{xstring}
|
||||
|
||||
|
||||
% Add a color shade (similar to \fhlc, but nicer boxes)
|
||||
\newcommand{\background}[3]{\tcbox[on line,
|
||||
boxsep=\backgroundPadding,
|
||||
arc=\backgroundRounding,
|
||||
left=0pt,
|
||||
right=0pt,
|
||||
top=0pt,
|
||||
bottom=0pt,
|
||||
frame empty,
|
||||
colback=#1!#2!white,
|
||||
highlight math style={enhanced}
|
||||
] {\textbf{#3}}}
|
||||
|
||||
% Abstraction of background, where the brightness is set to 20%
|
||||
\newcommand{\shade}[2]{\background{#1}{\arabic{shadeStrength}}{#2}}
|
||||
|
||||
% This command is used for the short and inline descriptors
|
||||
\newcommand{\bg}[2]{\background{#1}{\arabic{descriptorShadeStrength}}{#2}}
|
||||
@@ -11,31 +11,6 @@
|
||||
|
||||
% Imports %
|
||||
\typeout{[Core] Importing!}
|
||||
\RequirePackage[table, dvipsnames]{xcolor}
|
||||
\RequirePackage{amsmath}
|
||||
\RequirePackage{graphicx}
|
||||
\RequirePackage{subcaption}
|
||||
\RequirePackage[export]{adjustbox}
|
||||
\RequirePackage[most]{tcolorbox}
|
||||
\RequirePackage{cancel}
|
||||
\RequirePackage{dsfont}
|
||||
\RequirePackage{amssymb}
|
||||
\RequirePackage{mathrsfs}
|
||||
\RequirePackage{lipsum}
|
||||
\RequirePackage{ulem}
|
||||
\RequirePackage{soul}
|
||||
\RequirePackage{parskip}
|
||||
\RequirePackage{fancyhdr}
|
||||
\RequirePackage{lastpage}
|
||||
\RequirePackage{tocloft}
|
||||
\RequirePackage{wasysym}
|
||||
\RequirePackage{wrapfig}
|
||||
\RequirePackage{multicol}
|
||||
\RequirePackage{ifthen}
|
||||
\RequirePackage[hidelinks]{hyperref}
|
||||
\RequirePackage{enumitem}
|
||||
\RequirePackage{gensymb}
|
||||
\RequirePackage{pifont}
|
||||
|
||||
|
||||
% Language Switching. Currently only English and German are supported
|
||||
16
src/janishutz-helpers.sty
Normal file
16
src/janishutz-helpers.sty
Normal file
@@ -0,0 +1,16 @@
|
||||
%%
|
||||
%% Copyright (C) 2026 Janis Hutz
|
||||
%%
|
||||
%% This file may be distributed and/or modified under the
|
||||
%% conditions of the LaTeX Project Public License, either
|
||||
%% version 1.3 of this license or (at your option) any later
|
||||
%% version. The latest version of this license is in:
|
||||
%% http://www.latex-project.org/lppl.txt
|
||||
%% and version 1.3c or later is part of all distributions of
|
||||
%% LaTeX version 2008-05-04 or later.
|
||||
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{janishutz-helpers}[2026-02-10 v1.0.0]
|
||||
|
||||
\newcounter{descriptorShadeStrength}
|
||||
\newcounter{shadeStrength}
|
||||
32
src/style.sty
Normal file
32
src/style.sty
Normal file
@@ -0,0 +1,32 @@
|
||||
% Global style configs for tcolorbox (to reduce bloat)
|
||||
\newcommand{\usetcolorboxes}{
|
||||
\tcbset{
|
||||
mainboxstyle/.style={
|
||||
arc=3mm,
|
||||
colback=red!5!white,
|
||||
colframe=red!75!black,
|
||||
colbacktitle=red!75!black,
|
||||
fonttitle=\bfseries,
|
||||
enhanced,
|
||||
attach boxed title to top left={yshift=-2mm,xshift=5mm},
|
||||
breakable,
|
||||
top=0.4cm,
|
||||
}
|
||||
}
|
||||
\tikzset{
|
||||
overlaystyle/.style={
|
||||
draw=red!75!black,
|
||||
thick,
|
||||
fill=red!75!black,
|
||||
left,
|
||||
anchor=east,
|
||||
text=white,
|
||||
rounded corners=1mm,
|
||||
font=\bfseries,
|
||||
xshift=-5mm,
|
||||
yshift=1mm,
|
||||
inner xsep=3mm,
|
||||
inner ysep=1.5mm
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,39 +8,6 @@
|
||||
%███ ██████ █████ ████ ███ ███
|
||||
%██████████████████████ ███████████████████
|
||||
|
||||
% Global style configs for tcolorbox (to reduce bloat)
|
||||
\newcommand{\usetcolorboxes}{
|
||||
\tcbset{
|
||||
mainboxstyle/.style={
|
||||
arc=3mm,
|
||||
colback=red!5!white,
|
||||
colframe=red!75!black,
|
||||
colbacktitle=red!75!black,
|
||||
fonttitle=\bfseries,
|
||||
enhanced,
|
||||
attach boxed title to top left={yshift=-2mm,xshift=5mm},
|
||||
breakable,
|
||||
top=0.4cm,
|
||||
}
|
||||
}
|
||||
\tikzset{
|
||||
overlaystyle/.style={
|
||||
draw=red!75!black,
|
||||
thick,
|
||||
fill=red!75!black,
|
||||
left,
|
||||
anchor=east,
|
||||
text=white,
|
||||
rounded corners=1mm,
|
||||
font=\bfseries,
|
||||
xshift=-5mm,
|
||||
yshift=1mm,
|
||||
inner xsep=3mm,
|
||||
inner ysep=1.5mm
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
% -------------------- %
|
||||
% Small style elements %
|
||||
% -------------------- %
|
||||
@@ -63,35 +30,6 @@
|
||||
\newcommand{\bi}[1]{\textbf{\textit{#1}}}
|
||||
\renewcommand{\quote}[1]{``\textit{#1}''}
|
||||
|
||||
% Add a color shade (similar to \fhlc, but nicer boxes)
|
||||
\newcommand{\background}[3]{\tcbox[on line,
|
||||
boxsep=2pt,
|
||||
left=0pt,
|
||||
right=0pt,
|
||||
top=0pt,
|
||||
bottom=0pt,
|
||||
colframe=white,
|
||||
frame empty,
|
||||
colback=#1!#2!white,
|
||||
highlight math style={enhanced}
|
||||
] {\textbf{#3}}}
|
||||
|
||||
% Abstraction of background, where the brightness is set to 20%
|
||||
\newcommand{\shade}[2]{\background{#1}{\arabic{shadeStrength}}{#2}}
|
||||
|
||||
% This command is used for the short and inline descriptors
|
||||
\newcommand{\bg}[2]{\background{#1}{\arabic{descriptorShadeStrength}}{#2}}
|
||||
|
||||
% Add a gray backdrop
|
||||
\newcommand{\backdrop}[1]{\shade{black}{#1}}
|
||||
|
||||
|
||||
% Fancy highlighting (Bold, underlined, colorbox behind it. Shorthand for \fhlc{white}{#1}
|
||||
\newcommand{\fhl}[1]{\fhlc{white}{#1}}
|
||||
|
||||
% Add a colorbox around your text with the color specified. Text is bold and underlined
|
||||
\newcommand{\fhlc}[2]{\textbf{\underline{\colorbox{#1}{#2}}}}
|
||||
|
||||
% Spacing (horizontal)
|
||||
\newcommand{\smallhspace}{\hspace{2mm}}
|
||||
\newcommand{\mediumhspace}{\hspace{5mm}}
|
||||
Reference in New Issue
Block a user