Compare commits

...

10 Commits

21 changed files with 3714 additions and 108 deletions

View File

@@ -8,51 +8,61 @@ echo "
█ █▄▄▄█ █ █ █ █ ▄▄▄██ █ █ ▄ █ ▄▄▄█ █▄▄▄█ ▄▄▄█ ▄▄▄█ ▄▄ █▄▄▄▄▄ █ █ █▄▄▄█ █ █ █ █ ▄▄▄██ █ █ ▄ █ ▄▄▄█ █▄▄▄█ ▄▄▄█ ▄▄▄█ ▄▄ █▄▄▄▄▄ █
█ █ ▄ █ █ █ █ █▄▄▄█ ▄ █ █ █ █ █ █▄▄▄█ █ █ █ █▄▄▄█ █ █ █▄▄▄▄▄█ █ █ █ ▄ █ █ █ █ █▄▄▄█ ▄ █ █ █ █ █ █▄▄▄█ █ █ █ █▄▄▄█ █ █ █▄▄▄▄▄█ █
█▄▄▄▄▄▄▄█▄█ █▄▄█ █▄▄▄█ █▄▄▄▄▄▄▄█▄▄█ █▄▄█ █▄▄█ █▄▄█▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█▄▄▄█ █▄▄▄▄▄▄▄█▄▄▄█ █▄█▄▄▄▄▄▄▄█ █▄▄▄▄▄▄▄█▄█ █▄▄█ █▄▄▄█ █▄▄▄▄▄▄▄█▄▄█ █▄▄█ █▄▄█ █▄▄█▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█▄▄▄█ █▄▄▄▄▄▄▄█▄▄▄█ █▄█▄▄▄▄▄▄▄█
==> Building <==
" "
mkdir dist/ mkdir dist/
cat ./scopes/header.tex >>./dist/minimal.sty echo "
% ▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄
% █ █ █ █ █ █ █▄█ █ █ █ █ █ █ █ █ █ █ ▄ █ █ █
% █ █ █ ▄ █▄ ▄█ ▄▄▄█ █ █ █▄█ █ ▄▄▄█ █ █ ▄ █ ▄▄▄█ █ █ █ █ ▄▄▄▄▄█
% █ █ █ █▄█ █ █ █ █ █▄▄▄█ █ █ █ █▄▄▄█ █ █ █▄█ █ █▄▄▄█ █▄▄█▄█ █▄▄▄▄▄
% █ █▄▄▄█ █ █ █ █ ▄▄▄██ █ █ ▄ █ ▄▄▄█ █▄▄▄█ ▄▄▄█ ▄▄▄█ ▄▄ █▄▄▄▄▄ █
% █ █ ▄ █ █ █ █ █▄▄▄█ ▄ █ █ █ █ █ █▄▄▄█ █ █ █ █▄▄▄█ █ █ █▄▄▄▄▄█ █
% █▄▄▄▄▄▄▄█▄█ █▄▄█ █▄▄▄█ █▄▄▄▄▄▄▄█▄▄█ █▄▄█ █▄▄█ █▄▄█▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█▄▄▄█ █▄▄▄▄▄▄▄█▄▄▄█ █▄█▄▄▄▄▄▄▄█
" > ./dist/minimal.tex
# Build minimal scope # Build minimal scope
cat ./main/core.tex >>./dist/minimal.sty cat ./main/core.tex >>./dist/minimal.tex
echo "\n" >>./dist/minimal.sty echo "" >>./dist/minimal.tex
cat ./main/style/style.tex >>./dist/minimal.sty cat ./config/config.tex >>./dist/minimal.tex
echo "\n" >>./dist/minimal.sty echo "" >>./dist/minimal.tex
cat ./main/style/common.tex >>./dist/minimal.sty cat ./main/style/style.tex >>./dist/minimal.tex
echo "" >>./dist/minimal.tex
cat ./main/style/common.tex >>./dist/minimal.tex
# Build most # Build most
cat ./dist/minimal.sty >./dist/most.sty cat ./dist/minimal.tex >./dist/most.tex
echo "\n" >>./dist/most.sty echo "" >>./dist/most.tex
cat ./main/math.tex >>./dist/most.sty cat ./main/math.tex >>./dist/most.tex
echo "\n" >>./dist/most.sty echo "" >>./dist/most.tex
cat ./main/cs.tex >>./dist/most.sty cat ./main/cs.tex >>./dist/most.tex
echo "\n" >>./dist/most.sty echo "" >>./dist/most.tex
cat ./main/index.tex >>./dist/most.sty cat ./main/index.tex >>./dist/most.tex
echo "\n" >>./dist/most.sty echo "" >>./dist/most.tex
cat ./main/style/counters.tex >>./dist/most.sty cat ./main/style/counters.tex >>./dist/most.tex
echo "\n" >>./dist/most.sty echo "" >>./dist/most.tex
cat ./main/style/cs.tex >>./dist/most.sty cat ./main/style/cs.tex >>./dist/most.tex
echo "\n" >>./dist/most.sty echo "" >>./dist/most.tex
cat ./main/style/math.tex >>./dist/most.sty cat ./main/style/math.tex >>./dist/most.tex
echo "\n" >>./dist/most.sty echo "" >>./dist/most.tex
cat ./main/style/language.tex >>./dist/most.sty cat ./main/style/language.tex >>./dist/most.tex
echo "" >>./dist/most.tex
cat ./main/tables.tex >>./dist/most.tex
# Build recommended # Build recommended
cat ./dist/most.sty >./dist/recommended.sty cat ./dist/most.tex >./dist/recommended.tex
echo "\n" >>./dist/recommended.sty echo "" >>./dist/recommended.tex
cat ./extra/bib.tex >>./dist/recommended.sty cat ./extra/bib.tex >>./dist/recommended.tex
echo "\n" >>./dist/recommended.sty echo "" >>./dist/recommended.tex
cat ./extra/glossary.tex >>./dist/recommended.sty cat ./extra/glossary.tex >>./dist/recommended.tex
# Build full # Build full
cat ./dist/recommended.sty >./dist/full.sty cat ./dist/recommended.tex >./dist/full.tex
echo "\n" >>./dist/full.sty echo "" >>./dist/full.tex
cat ./extra/minted.tex >>./dist/full.sty cat ./extra/minted.tex >>./dist/full.tex
# Copy letter # Copy letter
cp ./scopes/letter.tex ./dist/letter.sty cp ./scopes/letter.tex ./dist/letter.tex
echo "==> Done" echo "==> Done"

1083
dist/full.tex vendored Normal file

File diff suppressed because it is too large Load Diff

32
dist/letter.tex vendored Normal file
View File

@@ -0,0 +1,32 @@
\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}
}
}%

381
dist/minimal.tex vendored Normal file
View File

@@ -0,0 +1,381 @@
% ▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄
% █ █ █ █ █ █ █▄█ █ █ █ █ █ █ █ █ █ █ ▄ █ █ █
% █ █ █ ▄ █▄ ▄█ ▄▄▄█ █ █ █▄█ █ ▄▄▄█ █ █ ▄ █ ▄▄▄█ █ █ █ █ ▄▄▄▄▄█
% █ █ █ █▄█ █ █ █ █ █▄▄▄█ █ █ █ █▄▄▄█ █ █ █▄█ █ █▄▄▄█ █▄▄█▄█ █▄▄▄▄▄
% █ █▄▄▄█ █ █ █ █ ▄▄▄██ █ █ ▄ █ ▄▄▄█ █▄▄▄█ ▄▄▄█ ▄▄▄█ ▄▄ █▄▄▄▄▄ █
% █ █ ▄ █ █ █ █ █▄▄▄█ ▄ █ █ █ █ █ █▄▄▄█ █ █ █ █▄▄▄█ █ █ █▄▄▄▄▄█ █
% █▄▄▄▄▄▄▄█▄█ █▄▄█ █▄▄▄█ █▄▄▄▄▄▄▄█▄▄█ █▄▄█ █▄▄█ █▄▄█▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█▄▄▄█ █▄▄▄▄▄▄▄█▄▄▄█ █▄█▄▄▄▄▄▄▄█
% ▄▄█▀▀▀█▄█
% ▄██▀ ▀█
% ██▀ ▀ ▄██▀██▄▀███▄███ ▄▄█▀██
% ██ ██▀ ▀██ ██▀ ▀▀ ▄█▀ ██
% ██▄ ██ ██ ██ ██▀▀▀▀▀▀
% ▀██▄ ▄▀██▄ ▄██ ██ ██▄ ▄
% ▀▀█████▀ ▀█████▀▄████▄ ▀█████▀
% This file contains all necessary dependencies for the document to compile (at all) and some core macros
% Imports %
\typeout{[Core] Importing!}
\usepackage[table, dvipsnames]{xcolor}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage[export]{adjustbox}
\usepackage[most]{tcolorbox}
\usepackage{cancel}
\usepackage{dsfont}
\usepackage{amssymb}
\usepackage{mathrsfs}
\usepackage{ulem}
\usepackage{soul}
\usepackage{parskip}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{tocloft}
\usepackage{wasysym}
\usepackage{wrapfig}
\usepackage{multicol}
\usepackage{ifthen}
\usepackage[hidelinks]{hyperref}
\usepackage{enumitem}
\usepackage{gensymb}
\usepackage{pifont}
% Language Switching. Currently only English and German are supported
% See docs for how to use
\newcounter{lang}
\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}
\usepackage[ngerman]{babel}
\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
\usepackage[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
\usepackage[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
\usepackage[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 }}
% ___ ___
% ( _ \ / ___)_
% | ( (_) _ ___ | (__ (_) __
% | | _ / _ \/ _ \ __)| |/ _ \
% | (_( ) (_) ) ( ) | | | | (_) |
% (____/ \___/(_) (_)_) (_)\__ |
% ( )_) |
% \___/
% 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}
%░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
%░░░ ░░░░░ ░░░░░░░░░░░░░ ░░░░░░░░░░░
%▒ ▒▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒
%▒▒ ▒▒▒▒▒▒▒ ▒ ▒ ▒▒▒ ▒ ▒▒▒▒ ▒▒▒▒
%▓▓▓▓ ▓▓▓▓▓▓▓ ▓▓▓▓ ▓ ▓▓ ▓▓ ▓▓▓ ▓
%▓▓▓▓▓▓▓ ▓▓▓▓ ▓▓▓▓▓▓ ▓▓▓ ▓ ▓
%▓ ▓▓▓▓ ▓▓▓ ▓ ▓▓▓▓▓ ▓▓▓ ▓ ▓▓▓▓▓▓▓▓
%███ ██████ █████ ████ ███ ███
%██████████████████████ ███████████████████
% 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}}}}
% 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}}
% 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}

1024
dist/most.tex vendored Normal file

File diff suppressed because it is too large Load Diff

1062
dist/recommended.tex vendored Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -1,8 +1,6 @@
\documentclass{article} \documentclass{article}
\newcommand{\dir}{~/projects/latex} \input{~/projects/latex/dist/full.tex}
\input{\dir/include.tex}
\load{full}
\setup{Docs - \LaTeX \hspace{0mm} helpers} \setup{Docs - \LaTeX \hspace{0mm} helpers}
\setLang{en} \setLang{en}
@@ -35,9 +33,9 @@ The timecomplexity commands have been updated to require math environment. You c
and \verb|/\\text{\\tc\([olt]\){\(.*\)}}/\\tc\1{\2}/g| and \verb|/\\text{\\tc\([olt]\){\(.*\)}}/\\tc\1{\2}/g|
\subsection{Labels \& Environments} \subsection{Labels \& Environments}
The counter environments can now be referenced (see \ref{sec:counters}). 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 Due to the new requirements set out by that addition, it is now no longer possible to manually update the counters using
\verb|\setcounter|. \verb|\setcounter|.
Use the below regex to replace all occurrences of \verb|\setcounter| with the new format. 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|: Please note that this will overwrite \textit{all} occurrences of \verb|\setcounter| with the specific old format with \verb|\setLabelNumber|:

View File

@@ -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{~/projects/latex/dist/recommended.tex} % TODO: Change here your inclusion level and path
\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,15 +17,19 @@ 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: On the line with the TODO, you can change the import path, as well as scope.
Simply replace the ``recommended'' with any of the below.
\begin{itemize} \begin{itemize}
\item \texttt{minimal} Just the core styling and core functionality. \item \texttt{minimal} Just the core styling and core functionality.
\item \texttt{most} Includes Math, CS, Language and all styling. \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{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{full} 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}) \item \texttt{letter} If you want to typeset a letter (see \ref{sec:letters})
\end{itemize} \end{itemize}
If you are using the old import style, you can use the \verb|\load| command with these options
\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 config file in helper files directory. The file is located at

View File

@@ -1,3 +1,6 @@
% ┌ ┐
% │ Minted │
% └ ┘
\usepackage{minted} \usepackage{minted}
\usepackage{fancyvrb} \usepackage{fancyvrb}

View File

@@ -1,4 +1,5 @@
% Loader % Loader
\ClassWarning{janishutz-helpers}{Using legacy loading method. Please see the docs for updating}
\newcommand{\load}[1]{ \newcommand{\load}[1]{
\edef\recommended{recommended} \edef\recommended{recommended}
\edef\minimal{minimal} \edef\minimal{minimal}

View File

@@ -21,7 +21,6 @@
\usepackage{dsfont} \usepackage{dsfont}
\usepackage{amssymb} \usepackage{amssymb}
\usepackage{mathrsfs} \usepackage{mathrsfs}
\usepackage{lipsum}
\usepackage{ulem} \usepackage{ulem}
\usepackage{soul} \usepackage{soul}
\usepackage{parskip} \usepackage{parskip}
@@ -53,7 +52,7 @@
\ifx\lang\de \ifx\lang\de
\typeout{[Lang Switcher] Loading German} \typeout{[Lang Switcher] Loading German}
\setcounter{lang}{2} \setcounter{lang}{2}
\input{\dir/main/lang/de} \usepackage[ngerman]{babel}
\else \else
\typeout{[Lang Switcher] No such language!} \typeout{[Lang Switcher] No such language!}
\fi \fi

View File

@@ -1 +0,0 @@
\usepackage[ngerman]{babel}

View File

@@ -9,15 +9,31 @@
% BB shortcuts (for number spaces, etc) % BB shortcuts (for number spaces, etc)
\newcommand{\A}{\mathbb{A}}
\newcommand{\B}{\mathbb{B}}
\newcommand{\C}{\mathbb{C}} \newcommand{\C}{\mathbb{C}}
\newcommand{\D}{\mathbb{D}} \newcommand{\D}{\mathbb{D}}
\newcommand{\E}{\mathbb{E}} \newcommand{\E}{\mathbb{E}}
\newcommand{\F}{\mathbb{F}}
\newcommand{\G}{\mathbb{G}}
\renewcommand{\H}{\mathbb{H}}
\newcommand{\I}{\mathbb{I}} \newcommand{\I}{\mathbb{I}}
\newcommand{\J}{\mathbb{J}} \newcommand{\J}{\mathbb{J}}
\newcommand{\K}{\mathbb{K}}
\renewcommand{\L}{\mathbb{L}}
\newcommand{\M}{\mathbb{M}}
\newcommand{\N}{\mathbb{N}} \newcommand{\N}{\mathbb{N}}
\renewcommand{\O}{\mathbb{O}}
\renewcommand{\P}{\mathbb{P}}
\newcommand{\Q}{\mathbb{Q}} \newcommand{\Q}{\mathbb{Q}}
\newcommand{\R}{\mathbb{R}} \newcommand{\R}{\mathbb{R}}
\renewcommand{\S}{\mathbb{S}}
\newcommand{\T}{\mathbb{T}}
\newcommand{\U}{\mathbb{U}}
\newcommand{\V}{\mathbb{V}} \newcommand{\V}{\mathbb{V}}
\newcommand{\W}{\mathbb{W}}
\newcommand{\X}{\mathbb{X}}
\newcommand{\Y}{\mathbb{Y}}
\newcommand{\Z}{\mathbb{Z}} \newcommand{\Z}{\mathbb{Z}}
% Caligraphic % Caligraphic

View File

@@ -10,35 +10,35 @@
% Global style configs for tcolorbox (to reduce bloat) % Global style configs for tcolorbox (to reduce bloat)
\newcommand{\usetcolorboxes}{ \newcommand{\usetcolorboxes}{
\tcbset{ \tcbset{
mainboxstyle/.style={ mainboxstyle/.style={
arc=3mm, arc=3mm,
colback=red!5!white, colback=red!5!white,
colframe=red!75!black, colframe=red!75!black,
colbacktitle=red!75!black, colbacktitle=red!75!black,
fonttitle=\bfseries, fonttitle=\bfseries,
enhanced, enhanced,
attach boxed title to top left={yshift=-2mm,xshift=5mm}, attach boxed title to top left={yshift=-2mm,xshift=5mm},
breakable, breakable,
top=0.4cm, top=0.4cm,
} }
} }
\tikzset{ \tikzset{
overlaystyle/.style={ overlaystyle/.style={
draw=red!75!black, draw=red!75!black,
thick, thick,
fill=red!75!black, fill=red!75!black,
left, left,
anchor=east, anchor=east,
text=white, text=white,
rounded corners=1mm, rounded corners=1mm,
font=\bfseries, font=\bfseries,
xshift=-5mm, xshift=-5mm,
yshift=1mm, yshift=1mm,
inner xsep=3mm, inner xsep=3mm,
inner ysep=1.5mm inner ysep=1.5mm
} }
} }
} }
% -------------------- % % -------------------- %
@@ -65,16 +65,16 @@
% Add a color shade (similar to \fhlc, but nicer boxes) % Add a color shade (similar to \fhlc, but nicer boxes)
\newcommand{\background}[3]{\tcbox[on line, \newcommand{\background}[3]{\tcbox[on line,
boxsep=2pt, boxsep=2pt,
left=0pt, left=0pt,
right=0pt, right=0pt,
top=0pt, top=0pt,
bottom=0pt, bottom=0pt,
colframe=white, colframe=white,
frame empty, frame empty,
colback=#1!#2!white, colback=#1!#2!white,
highlight math style={enhanced} highlight math style={enhanced}
] {\textbf{#3}}} ] {\textbf{#3}}}
% Abstraction of background, where the brightness is set to 20% % Abstraction of background, where the brightness is set to 20%
\newcommand{\shade}[2]{\background{#1}{\arabic{shadeStrength}}{#2}} \newcommand{\shade}[2]{\background{#1}{\arabic{shadeStrength}}{#2}}
@@ -92,6 +92,12 @@
% Add a colorbox around your text with the color specified. Text is bold and underlined % Add a colorbox around your text with the color specified. Text is bold and underlined
\newcommand{\fhlc}[2]{\textbf{\underline{\colorbox{#1}{#2}}}} \newcommand{\fhlc}[2]{\textbf{\underline{\colorbox{#1}{#2}}}}
% 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}}
% Spacing (horizontal) % Spacing (horizontal)
\newcommand{\smallhspace}{\hspace{2mm}} \newcommand{\smallhspace}{\hspace{2mm}}
\newcommand{\mediumhspace}{\hspace{5mm}} \newcommand{\mediumhspace}{\hspace{5mm}}
@@ -103,12 +109,12 @@
% 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}{}
\renewcommand{\cftaftertoctitle}{\vspace{-0.75cm}} \renewcommand{\cftaftertoctitle}{\vspace{-0.75cm}}
\renewcommand{\contentsname}{} \renewcommand{\contentsname}{}
\begin{tcolorbox}[colback=black!5!white,colbacktitle=#1!75!black,coltitle=black,enhanced,attach boxed title to top center={yshift=-2mm}, \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] title={\Large \ifnum\value{lang}<2{Contents}\else {Inhaltsverzeichnis}\fi},fonttitle=\bfseries,breakable]
\hspace{1cm} \hspace{1cm}
\tableofcontents \tableofcontents
\end{tcolorbox} \end{tcolorbox}
} }

View File

@@ -7,7 +7,6 @@
\usepackage{booktabs} \usepackage{booktabs}
\usepackage{tabulary}
% Create new table. #1 Layout, #2 title row % Create new table. #1 Layout, #2 title row
\newenvironment{tables}[2]{ \newenvironment{tables}[2]{

View File

@@ -1,5 +1,5 @@
\newcommand{\loadFull}{ \newcommand{\loadFull}{
\input{\dir/dist/recommended.tex} \input{\dir/scopes/recommended.tex}
\loadRecommended \loadRecommended
\input{\dir/extra/minted.tex} \input{\dir/extra/minted.tex}
} }

View File

@@ -1,5 +0,0 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{janishutz-helpers}
\usepackage{import}
\import{../}{config/config.tex}

View File

@@ -1,6 +1,6 @@
\newcommand{\loadMost}{ \newcommand{\loadMost}{
\typeout{[CustomLaTeXHelperLoader]: Loaded most} \typeout{[CustomLaTeXHelperLoader]: Loaded most}
\input{\dir/dist/minimal.tex} \input{\dir/scopes/minimal.tex}
\loadMinimal \loadMinimal
\input{\dir/main/math.tex} \input{\dir/main/math.tex}
\input{\dir/main/cs.tex} \input{\dir/main/cs.tex}

View File

@@ -1,6 +1,6 @@
\newcommand{\loadRecommended}{ \newcommand{\loadRecommended}{
\typeout{[CustomLaTeXHelperLoader]: Loaded recommended} \typeout{[CustomLaTeXHelperLoader]: Loaded recommended}
\input{\dir/dist/most.tex} \input{\dir/scopes/most.tex}
\loadMost \loadMost
\input{\dir/extra/bib.tex} \input{\dir/extra/bib.tex}
\input{\dir/extra/glossary.tex} \input{\dir/extra/glossary.tex}

View File

@@ -3,9 +3,7 @@
"prefix": "latex-prepare", "prefix": "latex-prepare",
"body": [ "body": [
"\\documentclass{article}\n", "\\documentclass{article}\n",
"\\newcommand{\\dir}{~/projects/latex} % IMPORTANT: No trailing slashes!", "\\input{~/projects/latex/dist/recommended.tex}\n",
"\\input{\\dir/include.tex}",
"\\load{recommended}\n",
"\\setup{$1}\n", "\\setup{$1}\n",
"\\begin{document}", "\\begin{document}",
"\\startDocument", "\\startDocument",
@@ -430,9 +428,7 @@
"prefix": "latex-letter", "prefix": "latex-letter",
"body": [ "body": [
"\\documentclass[12pt,a4paper]{scrlttr2}\n", "\\documentclass[12pt,a4paper]{scrlttr2}\n",
"\\newcommand{\\dir}{~/projects/latex} % IMPORTANT: No trailing slashes!", "\\input{~/projects/latex/dist/letter.tex}\n",
"\\input{\\dir/include.tex}",
"\\load{letter}\n",
"% Subject", "% Subject",
"\\setkomavar{subject}{$1}", "\\setkomavar{subject}{$1}",
"\\begin{document}\\raggedright", "\\begin{document}\\raggedright",