Merge pull request #3 from kesslermaximilian/testbranch
Better building and deployment Build branch master (2fcf4e2) from kesslermaximilian/LatexPackages
This commit is contained in:
commit
2cf7de5b9d
26 changed files with 2527 additions and 0 deletions
314
environments/mkessler-fancythm.sty
Normal file
314
environments/mkessler-fancythm.sty
Normal file
|
@ -0,0 +1,314 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'fancythm.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-fancythm}[2021/10/08 - Theorem-Environment Package]
|
||||||
|
|
||||||
|
|
||||||
|
%Provides fancy theorem-like-environments used in the write-ups of my lecture notes
|
||||||
|
|
||||||
|
\RequirePackage{xkeyval}
|
||||||
|
|
||||||
|
\newif\ifmkessler@fancythm@showstars\mkessler@fancythm@showstarstrue
|
||||||
|
\newif\ifmkessler@fancythm@showdaggers\mkessler@fancythm@showdaggerstrue
|
||||||
|
\newif\ifmkessler@fancythm@includestars\mkessler@fancythm@includestarstrue
|
||||||
|
\newif\ifmkessler@fancythm@includeoral\mkessler@fancythm@includeoraltrue
|
||||||
|
\newif\ifmkessler@fancythm@markoral\mkessler@fancythm@markoraltrue
|
||||||
|
|
||||||
|
\newif\ifmkessler@fancythm@lecturenumbers\mkessler@fancythm@lecturenumberstrue
|
||||||
|
\newif\ifmkessler@fancythm@numbersmallenvironmentswiththeorem\mkessler@fancythm@numbersmallenvironmentswiththeoremfalse
|
||||||
|
\newif\ifmkessler@fancythm@numbersmallenvironments\mkessler@fancythm@numbersmallenvironmentsfalse
|
||||||
|
\newif\ifmkessler@fancythm@defaulttheorems\mkessler@fancythm@defaulttheoremstrue
|
||||||
|
|
||||||
|
\define@choicekey*{mkessler-fancythm}{mkessler@fancythm@numbersmallenvironments}[\val\nr]{no,section,theorem}{%
|
||||||
|
\ifcase\nr\relax
|
||||||
|
\mkessler@fancythm@numbersmallenvironmentsfalse
|
||||||
|
\or
|
||||||
|
\mkessler@fancythm@numbersmallenvironmentstrue
|
||||||
|
%numbering small environments within sections is forbidden whilst using lecturenumbes
|
||||||
|
\ifmkessler@fancythm@lecturenumbers
|
||||||
|
\mkessler@fancythm@numbersmallenvironmentswiththeoremtrue
|
||||||
|
\else
|
||||||
|
\mkessler@fancythm@numbersmallenvironmentswiththeoremfalse
|
||||||
|
\fi
|
||||||
|
\or
|
||||||
|
\mkessler@fancythm@numbersmallenvironmentstrue
|
||||||
|
\mkessler@fancythm@numbersmallenvironmentswiththeoremtrue
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
|
||||||
|
\define@choicekey*{mkessler-fancythm}{mkessler@fancythm@lecturenumbers}[\val\nr]{true,false}{%
|
||||||
|
\ifcase\nr\relax
|
||||||
|
\mkessler@fancythm@lecturenumberstrue
|
||||||
|
\else
|
||||||
|
\mkessler@fancythm@lecturenumbersfalse
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
|
||||||
|
\define@choicekey*{mkessler-fancythm}{mkessler@fancythm@defaulttheorems}[\val\nr]{true,false}{%
|
||||||
|
\ifcase\nr\relax
|
||||||
|
\mkessler@fancythm@defaulttheoremstrue
|
||||||
|
\else
|
||||||
|
\mkessler@fancythm@defaulttheoremsfalse
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
|
||||||
|
\define@choicekey*{mkessler-fancythm}{mkessler@fancythm@showdaggers}[\val\nr]{true,false}{%
|
||||||
|
\ifcase\nr\relax
|
||||||
|
\mkessler@fancythm@showdaggerstrue
|
||||||
|
\else
|
||||||
|
\mkessler@fancythm@showdaggersfalse
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
|
||||||
|
\define@choicekey*{mkessler-fancythm}{ownenvironments}[\val\nr]{on, natural, off}{%
|
||||||
|
\ifcase\nr\relax
|
||||||
|
\mkessler@fancythm@includestarstrue
|
||||||
|
\mkessler@fancythm@showstarstrue
|
||||||
|
\or
|
||||||
|
\mkessler@fancythm@includestarstrue
|
||||||
|
\mkessler@fancythm@showstarsfalse
|
||||||
|
\or
|
||||||
|
\mkessler@fancythm@includestarsfalse
|
||||||
|
\mkessler@fancythm@showstarsfalse
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
|
||||||
|
\define@choicekey*{mkessler-fancythm}{oralremarks}[\val\nr]{on,natural,off}{%
|
||||||
|
\ifcase\nr\relax
|
||||||
|
\mkessler@fancythm@includeoraltrue
|
||||||
|
\mkessler@fancythm@markoraltrue
|
||||||
|
\or
|
||||||
|
\mkessler@fancythm@includeoraltrue
|
||||||
|
\mkessler@fancythm@markoraltrue
|
||||||
|
\or
|
||||||
|
\mkessler@fancythm@includeoralfalse
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
|
||||||
|
%%%%% Option section
|
||||||
|
\newif\ifmkessler@fancythm@english\mkessler@fancythm@englishtrue
|
||||||
|
\DeclareOption{german}{\mkessler@fancythm@englishfalse}
|
||||||
|
\DeclareOption{ngerman}{\mkessler@fancythm@englishfalse}
|
||||||
|
\DeclareOption{english}{\mkessler@fancythm@englishtrue}
|
||||||
|
|
||||||
|
\DeclareOptionX{showdaggers}{\setkeys{mkessler-fancythm}{mkessler@fancythm@showdaggers=#1}}
|
||||||
|
\DeclareOptionX{ownenvironments}{\setkeys{mkessler-fancythm}{ownenvironments=#1}}
|
||||||
|
\DeclareOptionX{oralremarks}{\setkeys{mkessler-fancythm}{oralremarks=#1}}
|
||||||
|
|
||||||
|
\DeclareOptionX{lecturenumbers}{\setkeys{mkessler-fancythm}{mkessler@fancythm@lecturenumbers=#1}}
|
||||||
|
\DeclareOptionX{numbersmallenvironments}{\setkeys{mkessler-fancythm}{mkessler@fancythm@numbersmallenvironments=#1}}
|
||||||
|
|
||||||
|
\DeclareOptionX*{\PackageWarning{mkessler-fancythm}{Unknown '\CurrentOption'}}
|
||||||
|
\ProcessOptionsX\relax
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%% Implementation section
|
||||||
|
|
||||||
|
%Required Packages and setup
|
||||||
|
\RequirePackage{amsmath}
|
||||||
|
\RequirePackage{amsthm}
|
||||||
|
\RequirePackage{mdframed}
|
||||||
|
\RequirePackage{thmtools}
|
||||||
|
\RequirePackage[skins]{tcolorbox}
|
||||||
|
\RequirePackage{mfirstuc}
|
||||||
|
\RequirePackage{xifthen}
|
||||||
|
\RequirePackage{xparse}
|
||||||
|
\tcbuselibrary{breakable}
|
||||||
|
|
||||||
|
% Dummy counters
|
||||||
|
\declaretheorem[numberwithin=section]{mkessler@fancythm@dummy}
|
||||||
|
\declaretheorem[numberwithin=mkessler@fancythm@dummy]{mkessler@fancythm@smalldummy}
|
||||||
|
|
||||||
|
%%%%% Main part, i.e. providing macros for defining new theorems
|
||||||
|
|
||||||
|
%%Environments that are numbered by default have 3 versions:
|
||||||
|
% - the standard one, for numbering
|
||||||
|
% - one asterisk, to exclude them from numbering (because they were not numbered in the lecture) -> they will be numbered if 'truenmubers' option is set
|
||||||
|
% - two asterisks, for marking them as self-added, so they will not be numbered, but will receive a visual asterisk. -> They will be numbered if 'truenumbers' option is set
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\NewDocumentCommand{\declarebigtheorem}{O{} O{} m m O{}}{
|
||||||
|
%First, store the name of the theorem in \theoremname
|
||||||
|
\ifmkessler@fancythm@english
|
||||||
|
\ifthenelse{\isempty{#2}}{\def\theoremname{#4}}{\def\theoremname{#2}}
|
||||||
|
\else
|
||||||
|
\ifthenelse{\isempty{#1}}{\def\theoremname{#4}}{\def\theoremname{#1}}
|
||||||
|
\fi
|
||||||
|
|
||||||
|
%Define the mane version of the theorem
|
||||||
|
\ifthenelse{\isempty{#5}}{\declaretheorem[style = #3, name = \makefirstuc{\expandafter\theoremname}, sibling = mkessler@fancythm@dummy]{#4}}{}
|
||||||
|
|
||||||
|
%Define the versions theorem*, theorem**, dtheorem
|
||||||
|
|
||||||
|
\ifmkessler@fancythm@lecturenumbers
|
||||||
|
\ifmkessler@fancythm@numbersmallenvironments
|
||||||
|
\declaretheorem[style = #3, name = \makefirstuc{\expandafter\theoremname}, sibling=mkessler@fancythm@smalldummy]{#4*}
|
||||||
|
\declaretheorem[style = #3, name = \makefirstuc{\expandafter\theoremname}\ifmkessler@fancythm@showstars *\else\fi, sibling=mkessler@fancythm@smalldummy]{#4**}
|
||||||
|
\declaretheorem[style = #3, name = \makefirstuc{\expandafter\theoremname}\ifmkessler@fancythm@showdaggers $^{\dagger}$\else\fi, sibling=mkessler@fancythm@smalldummy]{d#4}
|
||||||
|
\else
|
||||||
|
\declaretheorem[style = #3, name = \makefirstuc{\expandafter\theoremname}, numbered=no]{#4*}
|
||||||
|
\declaretheorem[style = #3, name = \makefirstuc{\expandafter\theoremname}\ifmkessler@fancythm@showstars *\else\fi, numbered = no]{#4**}
|
||||||
|
\declaretheorem[style = #3, name = \makefirstuc{\expandafter\theoremname}\ifmkessler@fancythm@showdaggers $^{\dagger}$\else\fi, numbered = no]{d#4}
|
||||||
|
\fi
|
||||||
|
\else
|
||||||
|
\declaretheorem[style = #3, name = \makefirstuc{\expandafter\theoremname}, sibling=mkessler@fancythm@dummy]{#4*}
|
||||||
|
\declaretheorem[style = #3, name = \makefirstuc{\expandafter\theoremname}\ifmkessler@fancythm@showstars *\else\fi, sibling=mkessler@fancythm@dummy]{#4**}
|
||||||
|
\declaretheorem[style = #3, name = \makefirstuc{\expandafter\theoremname}\ifmkessler@fancythm@showdaggers $^{\dagger}$\else\fi, sibling=mkessler@fancythm@dummy]{d#4}
|
||||||
|
\fi
|
||||||
|
\ifmkessler@fancythm@includestars\else\renewenvironment{#4**}{\comment}{\endcomment}\fi
|
||||||
|
}
|
||||||
|
|
||||||
|
\NewDocumentCommand{\declaresmalltheorem}{O{} O{} m m}{
|
||||||
|
%Get the name of the theorem and store it in \theoremname
|
||||||
|
\ifmkessler@fancythm@english
|
||||||
|
\ifthenelse{\isempty{#2}}{\def\theoremname{#4}}{\def\theoremname{#2}}
|
||||||
|
\else
|
||||||
|
\ifthenelse{\isempty{#1}}{\def\theoremname{#4}}{\def\theoremname{#1}}
|
||||||
|
\fi
|
||||||
|
\ifmkessler@fancythm@numbersmallenvironments
|
||||||
|
\ifmkessler@fancythm@numbersmallenvironmentswiththeorem
|
||||||
|
\declaretheorem[style=#3,name=\makefirstuc{\expandafter\theoremname}, sibling = mkessler@fancythm@smalldummy]{#4}
|
||||||
|
\declaretheorem[style=#3,name=\makefirstuc{\expandafter\theoremname}\ifmkessler@fancythm@showstars *\else\fi, sibling=mkessler@fancythm@smalldummy]{#4*}
|
||||||
|
\declaretheorem[style=#3,name=\makefirstuc{\expandafter\theoremname}\ifmkessler@fancythm@showdaggers $^{\dagger}$\else\fi, sibling=mkessler@fancythm@smalldummy]{d#4}
|
||||||
|
\else
|
||||||
|
\declaretheorem[style=#3,name=\makefirstuc{\expandafter\theoremname}, sibling=mkessler@fancythm@dummy]{#4}
|
||||||
|
\declaretheorem[style=#3,name=\makefirstuc{\expandafter\theoremname}\ifmkessler@fancythm@showstars *\else\fi, sibling=mkessler@fancythm@dummy]{#4*}
|
||||||
|
\declaretheorem[style=#3,name=\makefirstuc{\expandafter\theoremname}\ifmkessler@fancythm@showdaggers $^{\dagger}$\else\fi, sibling=mkessler@fancythm@dummy]{d#4}
|
||||||
|
\fi
|
||||||
|
\else
|
||||||
|
\declaretheorem[style=#3,name=\makefirstuc{\expandafter\theoremname}, numbered = no]{#4}
|
||||||
|
\declaretheorem[style=#3,name=\makefirstuc{\expandafter\theoremname}\ifmkessler@fancythm@showstars *\else\fi, numbered = no]{#4*}
|
||||||
|
\declaretheorem[style=#3,name=\makefirstuc{\expandafter\theoremname}\ifmkessler@fancythm@showdaggers $^{\dagger}$\else\fi, numbered = no]{d#4}
|
||||||
|
\fi
|
||||||
|
\declaretheorem[style=#3,name=\makefirstuc{\expandafter\theoremname}, sibling=mkessler@fancythm@dummy]{n#4}
|
||||||
|
\ifmkessler@fancythm@includestars\else\renewenvironment{#4*}{\comment}{\endcomment}\fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
%%%% If requested, now define some default theoremstyles
|
||||||
|
\ifmkessler@fancythm@defaulttheorems
|
||||||
|
|
||||||
|
\RequirePackage[default styles]{mkessler-thmstyle} % Easy setup of mdframed styles
|
||||||
|
|
||||||
|
\declarebigtheorem[Satz][Theorem]{thmredmarginandfill}{theorem} \ifmkessler@fancythm@english\else\AtBeginDocument{\def\theoremautorefname{Satz}}\fi
|
||||||
|
\declarebigtheorem{thmredmarginandfill}{proposition}
|
||||||
|
\declarebigtheorem[Korollar]{thmredmarginandfill}{corollary}
|
||||||
|
\declarebigtheorem{thmorangemarginandfill}{lemma}
|
||||||
|
\declarebigtheorem[Lemma und Definition][Lemma and Definition]{thmorangemarginbluefill}{lemmadef}
|
||||||
|
\declarebigtheorem{thmbluemarginandfill}{definition}
|
||||||
|
\declarebigtheorem[Satz und Definition][Theorem and Definition]{thmredmarginbluefill}{theoremdef}
|
||||||
|
\declarebigtheorem[Proposition und Definition][Proposition and Definition]{thmredmarginbluefill}{propositiondef}
|
||||||
|
\declarebigtheorem{thmvioletmarginandfill}{notation}
|
||||||
|
\declarebigtheorem[zuSatz][Addition to Theorem]{thmredmarginandfill}{additiontheorem}
|
||||||
|
|
||||||
|
%%%Environments that are not numbered by default (notation, question, example, remark etc) have two forms:
|
||||||
|
% - normal form: won't be numbered unless 'mkessler@fancythm@numbersmallenvironments' is set
|
||||||
|
% - having an asterisk: will be displayed with an asterisk, will be numbered if 'numbersmallenvironments' is set
|
||||||
|
%Notation
|
||||||
|
|
||||||
|
\declaresmalltheorem[Notationsmissbrauch][Abuse of Notation]{thmvioletmargin}{abuse}
|
||||||
|
\declaresmalltheorem[Beispiel]{thmgreenmargin}{example}
|
||||||
|
\declaresmalltheorem[Bemerkung]{thmyellowmargin}{remark}
|
||||||
|
\declaresmalltheorem[Lob]{thmgoldmargin}{praise}
|
||||||
|
\declaresmalltheorem[Trivial Nonsense][Trivial Nonsense]{thmyellowmargin}{trivial}
|
||||||
|
\declaresmalltheorem[Frage]{thmblackmarginandfill}{question}
|
||||||
|
\declaresmalltheorem[Organisatorisches][Organisational stuff]{thmblackmargin}{orga}
|
||||||
|
\declaresmalltheorem[Fakt]{thmredmargin}{fact}
|
||||||
|
|
||||||
|
%%%% Specially treated stuff
|
||||||
|
|
||||||
|
\declaresmalltheorem[\ifmkessler@fancythm@markoral Mündliche Anmerkung\else Bemerkung\fi][\ifmkessler@fancythm@markoral Oral remark\else remark\fi]{thmyellowmargin}{oral}
|
||||||
|
% Option to remove oral remarks when needed
|
||||||
|
\ifmkessler@fancythm@includeoral\else
|
||||||
|
\renewenvironment{oral}{\comment}{\endcomment}
|
||||||
|
\renewenvironment{oral*}{\comment}{\endcomment}
|
||||||
|
\renewenvironment{doral}{\comment}{\endcomment}
|
||||||
|
\fi
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%% Other mdframed style boxes
|
||||||
|
|
||||||
|
\newtcolorbox{recap}{before skip = 0.5cm, after skip = 0.5cm, enhanced, sharp corners = all, colback = white, colframe = gray, toprule=0pt, bottomrule=0pt, leftrule=0pt,rightrule=0pt, overlay = {
|
||||||
|
\draw[gray, line width = 2pt] (frame.north west) -- ++(0.5cm, 0pt);
|
||||||
|
\draw[gray, line width=2pt] (frame.south east) -- ++(-0.5cm, 0pt);
|
||||||
|
\draw[gray, line width=2pt] (frame.north west) -- ++ (0pt, -0.5cm);
|
||||||
|
\draw[gray, line width=2pt] (frame.south east) -- ++(0pt, 0.5cm);
|
||||||
|
}}
|
||||||
|
|
||||||
|
\newenvironment{moral}{%
|
||||||
|
\begin{mdframed}[linecolor=green!70!black]%
|
||||||
|
\bfseries\color{green!50!black}}%
|
||||||
|
{\end{mdframed}}
|
||||||
|
|
||||||
|
\newenvironment{antimoral}{%
|
||||||
|
\begin{mdframed}[linecolor=red!70!black]%
|
||||||
|
\bfseries\color{red!50!black}}%
|
||||||
|
{\end{mdframed}}
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%% Non-mdframed theorems
|
||||||
|
|
||||||
|
\theoremstyle{plain}
|
||||||
|
\newtheorem{variant}{\ifmkessler@fancythm@english Variant\else Variante\fi}
|
||||||
|
\newtheorem{assumption}{\ifmkessler@fancythm@english Assumption\else Annahme\fi}
|
||||||
|
|
||||||
|
\theoremstyle{definition}
|
||||||
|
\newtheorem*{note}{\ifmkessler@fancythm@english Note\else Anmerkung\fi}
|
||||||
|
\newtheorem*{warning}{\color{red}\ifmkessler@fancythm@english Warning \else Warnung\fi}
|
||||||
|
\newtheorem*{goal}{\ifmkessler@fancythm@english Goal \else Ziel\fi}
|
||||||
|
\newtheorem*{strategy}{\ifmkessler@fancythm@english Proof Strategy \else Beweisstrategie\fi}
|
||||||
|
\newtheorem*{goal*}{\ifmkessler@fancythm@english Goal* \else Ziel*\fi}
|
||||||
|
\newtheorem*{problem}{Problem}
|
||||||
|
\newtheorem*{info}{Information}
|
||||||
|
|
||||||
|
|
||||||
|
\newtheorem*{answer}{\ifmkessler@fancythm@english Answer\else Antwort\fi}
|
||||||
|
\newtheorem{observe}[theorem]{\ifmkessler@fancythm@english Observe\else Beobachte\fi}
|
||||||
|
\newtheorem*{property}{\ifmkessler@fancythm@english Property\else Eigenschaft\fi}
|
||||||
|
\newtheorem*{intuition}{Intuition}
|
||||||
|
\newtheorem*{recall}{\ifmkessler@fancythm@english Recall\else Erinnerung\fi}
|
||||||
|
\newtheorem*{idea}{\ifmkessler@fancythm@english Idea\else Idee\fi}
|
||||||
|
\newtheorem{exercise}{\ifmkessler@fancythm@english Exercise\else Aufgabe\fi}[section]
|
||||||
|
\newtheorem{reminder}{\ifmkessler@fancythm@english Reminder\else Erinnerung\fi}
|
||||||
|
|
||||||
|
\fi % end of default theorems
|
138
environments/mkessler-thmstyle.sty
Normal file
138
environments/mkessler-thmstyle.sty
Normal file
|
@ -0,0 +1,138 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'thmstyle.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-thmstyle}[2021/10/08 - Mdframed Styles used for fancythm package]
|
||||||
|
|
||||||
|
|
||||||
|
%%%%% This provides easy-to-use styles, especially for use with the
|
||||||
|
|
||||||
|
\RequirePackage{xkeyval}
|
||||||
|
|
||||||
|
% A simple option wether to define some default styles
|
||||||
|
\newif\ifmkessler@thmstyle@defaultstyles\mkessler@thmstyle@defaultstylesfalse
|
||||||
|
\DeclareOptionX{defaultstyles}{\mkessler@thmstyle@defaultstylestrue}
|
||||||
|
|
||||||
|
\DeclareOptionX*{\PackageWarning{mkessler-thmstyle}{Unknown '\CurrentOption'}}
|
||||||
|
\ProcessOptionsX\relax
|
||||||
|
|
||||||
|
|
||||||
|
\RequirePackage{amsthm}
|
||||||
|
\RequirePackage{thmtools}
|
||||||
|
\RequirePackage{mdframed}
|
||||||
|
\RequirePackage{xcolor}
|
||||||
|
\RequirePackage{xparse}
|
||||||
|
\definecolor{gold}{RGB}{218,165,32}
|
||||||
|
|
||||||
|
\mdfsetup{skipabove=8pt,skipbelow=\topskip}
|
||||||
|
|
||||||
|
\NewDocumentCommand{\declarefancymdfstyle}{O{} m O{} }{
|
||||||
|
\if\relax\detokenize{#1}\relax
|
||||||
|
\mdfdefinestyle{\if\relax\detokenize{#3}\relax md#2margin\else #3\fi}{%
|
||||||
|
linecolor=#2,
|
||||||
|
linewidth = 2pt,
|
||||||
|
leftmargin = 0cm,
|
||||||
|
rightmargin=0cm,
|
||||||
|
rightline=false,
|
||||||
|
topline=false,
|
||||||
|
bottomline=false
|
||||||
|
}
|
||||||
|
\else
|
||||||
|
\mdfdefinestyle{\if\relax\detokenize{#3}\relax md#2marginand#1fill\else #3\fi}{%
|
||||||
|
linecolor=#2,
|
||||||
|
linewidth = 2pt,
|
||||||
|
leftmargin = 0cm,
|
||||||
|
rightmargin=0cm,
|
||||||
|
backgroundcolor=#1,
|
||||||
|
rightline=false,
|
||||||
|
topline=false,
|
||||||
|
bottomline=false
|
||||||
|
}
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
|
||||||
|
\NewDocumentCommand{\declarefancythmstyle}{O{} m O{} }{
|
||||||
|
\declarefancymdfstyle[#1]{#2}
|
||||||
|
\if\relax\detokenize{#3}\relax
|
||||||
|
\if\relax\detokenize{#1}\relax
|
||||||
|
\declaretheoremstyle[
|
||||||
|
mdframed={style=
|
||||||
|
\if\relax\detokenize{#1}\relax md#2margin\else md#2marginand#1fill\fi
|
||||||
|
},
|
||||||
|
postheadspace={0.3em},
|
||||||
|
notefont=\mdseries
|
||||||
|
]{thm#2margin}
|
||||||
|
\else
|
||||||
|
\declaretheoremstyle[
|
||||||
|
mdframed={style=
|
||||||
|
\if\relax\detokenize{#1}\relax md#2margin\else md#2marginand#1fill\fi
|
||||||
|
},
|
||||||
|
postheadspace={0.3em},
|
||||||
|
notefont=\mdseries
|
||||||
|
]{thm#2marginand#1fill}
|
||||||
|
\fi
|
||||||
|
\else
|
||||||
|
\declaretheoremstyle[
|
||||||
|
mdframed={style=
|
||||||
|
\if\relax\detokenize{#1}\relax md#2margin\else md#2marginand#1fill\fi
|
||||||
|
},
|
||||||
|
postheadspace={0.3em},
|
||||||
|
notefont=\mdseries
|
||||||
|
]{#3}
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
|
||||||
|
\ifmkessler@thmstyle@defaultstyles
|
||||||
|
\declarefancythmstyle[red!8]{red}[thmredmarginandfill]
|
||||||
|
\declarefancythmstyle[orange!10]{orange}[thmorangemarginandfill]
|
||||||
|
\declarefancythmstyle[blue!7]{blue}[thmbluemarginandfill]
|
||||||
|
\declarefancythmstyle{green!70!black}[thmgreenmargin]
|
||||||
|
\declarefancythmstyle{gold}[thmgoldmargin]
|
||||||
|
\declarefancythmstyle{yellow!80!orange}[thmyellowmargin]
|
||||||
|
\declarefancythmstyle{gray}[thmgraymargin]
|
||||||
|
\declarefancythmstyle[violet!7]{violet}[thmvioletmarginandfill]
|
||||||
|
\declarefancythmstyle{violet}[thmvioletmargin]
|
||||||
|
\declarefancythmstyle[blue!7]{red}[thmredmarginbluefill]
|
||||||
|
\declarefancythmstyle{red}[thmredmargin]
|
||||||
|
\declarefancythmstyle[blue!7]{orange}[thmorangemarginbluefill]
|
||||||
|
\declarefancythmstyle[violet!20!gray!20]{black}[thmblackmarginandfill]
|
||||||
|
\declarefancythmstyle{black}[thmblackmargin]
|
||||||
|
\fi
|
151
lecture-notes/mkessler-lectures.sty
Normal file
151
lecture-notes/mkessler-lectures.sty
Normal file
|
@ -0,0 +1,151 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'lectures.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-lectures}[2021/10/08 - Package for managing different lectures within a document]
|
||||||
|
|
||||||
|
|
||||||
|
% The core of the lecture command this package provides has been taken from the preamble in
|
||||||
|
% https://github.com/gillescastel/university-setup
|
||||||
|
% which is licensed under
|
||||||
|
|
||||||
|
%MIT License
|
||||||
|
|
||||||
|
%Copyright (c) 2019 Gilles Castel
|
||||||
|
|
||||||
|
%Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
%of this software and associated documentation files (the "Software"), to deal
|
||||||
|
%in the Software without restriction, including without limitation the rights
|
||||||
|
%to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
%copies of the Software, and to permit persons to whom the Software is
|
||||||
|
%furnished to do so, subject to the following conditions:
|
||||||
|
%
|
||||||
|
%The above copyright notice and this permission notice shall be included in all
|
||||||
|
%copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
%THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
%IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
%FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
%AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
%LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
%OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
%SOFTWARE.
|
||||||
|
% This package extends the lecture command to make a summary of lectures at the beginning of a document, and has thus modified this command.
|
||||||
|
|
||||||
|
\RequirePackage{xkeyval}
|
||||||
|
|
||||||
|
\newif\ifmkessler@lectures@english\mkessler@lectures@englishtrue
|
||||||
|
\DeclareOption{german}{\mkessler@lectures@englishfalse}
|
||||||
|
\DeclareOption{ngerman}{\mkessler@lectures@englishfalse}
|
||||||
|
\DeclareOption{english}{\mkessler@lectures@englishtrue}
|
||||||
|
|
||||||
|
\newif\ifmkessler@lectures@fancyhead\mkessler@lectures@fancyheadfalse
|
||||||
|
\DeclareOptionX{fancyhead}{\mkessler@lectures@fancyheadtrue}
|
||||||
|
|
||||||
|
\DeclareOptionX*{\PackageWarning{mkessler-lectures}{Unknown '\CurrentOption'}}
|
||||||
|
\ProcessOptionsX\relax
|
||||||
|
|
||||||
|
|
||||||
|
%Tocloft package for making a list of lectures
|
||||||
|
\RequirePackage{tocloft}
|
||||||
|
%Store name of the summary in a command to use it multiple times
|
||||||
|
\newcommand\mkessler@lectures@listlecturename{\ifmkessler@lectures@english Summary of lectures\else Übersicht der Vorlesungen\fi}
|
||||||
|
\newlistof{lecture}{lec}{\mkessler@lectures@listlecturename} % Declare new list of lectures
|
||||||
|
%Settings how to print the summary
|
||||||
|
\renewcommand{\cftdot}{}
|
||||||
|
\renewcommand\cftlecturefont{\normalfont\bfseries}
|
||||||
|
\renewcommand\cftlecturepagefont{\normalfont\bfseries}
|
||||||
|
\renewcommand\cftlectitlefont{\Large\bfseries}
|
||||||
|
\renewcommand\cftbeforelectureskip{1em}
|
||||||
|
|
||||||
|
%Command to parse the date
|
||||||
|
\RequirePackage{xifthen}
|
||||||
|
\def\testdateparts#1{\dateparts#1\relax}
|
||||||
|
\def\dateparts#1 #2 #3 #4 #5\relax{
|
||||||
|
\marginpar{\small\textsf{\mbox{#1 #2 #3 #5}}}
|
||||||
|
}
|
||||||
|
|
||||||
|
%Define the main lecture command to start a new lecture
|
||||||
|
\def\mkessler@lectures@lectureprefix{\ifmkessler@lectures@english Lecture\else Vorlesung\fi}
|
||||||
|
\def\@lecture{}%
|
||||||
|
\newcommand{\lecture}[3][]{
|
||||||
|
\refstepcounter{lecture}
|
||||||
|
%Store lecture name in the macro \@lecture
|
||||||
|
\ifthenelse{\isempty{#3}}{%
|
||||||
|
\def\@lecture{\mkessler@lectures@lectureprefix\, \thelecture}%
|
||||||
|
}{%
|
||||||
|
\def\@lecture{\mkessler@lectures@lectureprefix\, \thelecture: #3}%
|
||||||
|
}%
|
||||||
|
\marginpar{\small\textsf{\parbox{10em}{\mkessler@lectures@lectureprefix\, \thelecture \\#2}}}
|
||||||
|
%Add lecture as an entry to the lectures file
|
||||||
|
\addcontentsline{lec}{lecture}{\mkessler@lectures@lectureprefix\,\thelecture\,(#2)}
|
||||||
|
%If key words are provided, add the key words of the lecture below the entry
|
||||||
|
\ifthenelse{\isempty{#1}}{}{\addtocontents{lec}{\smallskip\hspace{1.5em}\protect\parbox{\dimexpr\textwidth-\@pnumwidth - 2em}{#1}}}
|
||||||
|
}
|
||||||
|
|
||||||
|
%Provide a command to show the summary of lectures
|
||||||
|
\DeclareRobustCommand*{\summaryoflectures}{
|
||||||
|
\phantomsection
|
||||||
|
\addcontentsline{toc}{section}{\mkessler@lectures@listlecturename}
|
||||||
|
\thispagestyle{plain}
|
||||||
|
\listoflecture
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
\ifmkessler@lectures@fancyhead
|
||||||
|
\RequirePackage{fancyhdr}
|
||||||
|
\pagestyle{fancy}
|
||||||
|
|
||||||
|
% LE: left even
|
||||||
|
% RO: right odd
|
||||||
|
% CE, CO: center even, center odd
|
||||||
|
|
||||||
|
\fancyhead[RO,LE]{\@lecture} % Right odd, Left even
|
||||||
|
\fancyhead[RE,LO]{} % Right even, Left odd
|
||||||
|
|
||||||
|
%%No fancy headers in the appendix (as there is no lecture)
|
||||||
|
\let\mkessler@lectures@stored@appendix\appendix
|
||||||
|
\renewcommand\appendix{
|
||||||
|
\mkessler@lectures@stored@appendix
|
||||||
|
\fancyhead[RO,LE]{}
|
||||||
|
\renewcommand{\headrulewidth}{0pt}
|
||||||
|
}
|
||||||
|
\fi
|
87
math/mkessler-faktor.sty
Normal file
87
math/mkessler-faktor.sty
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'faktor.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-faktor}[2021/10/08 - Faktor package that also handles cofaktors]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
% Extension the faktor package for
|
||||||
|
% - cofaktor command that provides A \ B notation
|
||||||
|
% - scaling the / in the middle
|
||||||
|
% - fine positioning of enumerator / denominator
|
||||||
|
|
||||||
|
% This is essentially taken from the stackexchange question found at
|
||||||
|
% https://tex.stackexchange.com/questions/27591/extending-the-faktor-package
|
||||||
|
% and answered by 'Werner' (https://tex.stackexchange.com/users/5764/werner)
|
||||||
|
%
|
||||||
|
% This package only packages the corresponding answer and provides an analoguous way of a \cofactor command
|
||||||
|
|
||||||
|
%Dependencies
|
||||||
|
\RequirePackage{xparse}
|
||||||
|
\RequirePackage{amssymb} % provides \diagup and \diagdown
|
||||||
|
\RequirePackage{ifthen} % ifthenelse syntax
|
||||||
|
\RequirePackage{mathtools}
|
||||||
|
|
||||||
|
|
||||||
|
\DeclareDocumentCommand{\faktor}{s m O{0.5} m O{-0.5}}{% \newfaktor[*]{#2}[#3]{#4}[#5] -> #2/#4
|
||||||
|
\setbox0=\hbox{\ensuremath{#2}}% Store numerator
|
||||||
|
\setbox1=\hbox{\ensuremath{\diagup}}% Store slash /
|
||||||
|
\setbox2=\hbox{\ensuremath{#4}}% Store denominator
|
||||||
|
\raisebox{#3\ht1}{\usebox0}% Numerator
|
||||||
|
\mkern-5mu\ifthenelse{\equal{#1}{\BooleanTrue}}% Slash /
|
||||||
|
{\diagup}% regular \faktor slash
|
||||||
|
{\rotatebox{-44}{\rule[#5\ht2]{0.4pt}{-#5\ht2+#3\ht0+\ht0}}}% tilted rule as a slash
|
||||||
|
\mkern-4mu%
|
||||||
|
\raisebox{#5\ht2}{\usebox2}% Denominator
|
||||||
|
}
|
||||||
|
|
||||||
|
\DeclareDocumentCommand{\cofaktor}{s m O{-0.5} m O{0.5}}{% \newfaktor[*]{#2}[#3]{#4}[#5] -> #2/#4
|
||||||
|
\setbox0=\hbox{\ensuremath{#2}}% Store numerator
|
||||||
|
\setbox1=\hbox{\ensuremath{\diagdown}}% Store slash /
|
||||||
|
\setbox2=\hbox{\ensuremath{#4}}% Store denominator
|
||||||
|
\raisebox{#3\ht1}{\usebox0}% Numerator
|
||||||
|
\mkern-5mu\ifthenelse{\equal{#1}{\BooleanTrue}}% Slash /
|
||||||
|
{\diagdown}% regular \faktor slash
|
||||||
|
{\rotatebox{44}{\rule[-#5\ht2]{0.4pt}{#5\ht2-#3\ht0+\ht0}}}% tilted rule as a slash
|
||||||
|
\mkern-4mu%
|
||||||
|
\raisebox{#5\ht2}{\usebox2}% Denominator
|
||||||
|
}
|
88
math/mkessler-math.sty
Normal file
88
math/mkessler-math.sty
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'math.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-math}[2021/10/08 - Main math package.]
|
||||||
|
|
||||||
|
|
||||||
|
% Collects the basic math packages used for my lecture-note write-ups
|
||||||
|
% This just imports all the packages I use for writing up mathematics
|
||||||
|
% Probably, you will just want to load them separately for more
|
||||||
|
% customization
|
||||||
|
|
||||||
|
\RequirePackage{xkeyval}
|
||||||
|
|
||||||
|
\newif\ifmkessler@math@english\mkessler@math@englishtrue
|
||||||
|
\DeclareOptionX{german}{\mkessler@math@englishfalse}
|
||||||
|
\DeclareOptionX{ngerman}{\mkessler@math@englishfalse}
|
||||||
|
\DeclareOptionX{english}{\mkessler@math@englishtrue}
|
||||||
|
|
||||||
|
\DeclareOptionX*{\PackageWarning{mkessler-math}{Unknown '\CurrentOption'}}
|
||||||
|
\ProcessOptionsX\relax
|
||||||
|
|
||||||
|
|
||||||
|
%%%% Import the other custom math packages
|
||||||
|
\RequirePackage{mkessler-mathfont} % Load this first to ensure untouched fonts
|
||||||
|
|
||||||
|
\RequirePackage{amsmath}
|
||||||
|
\RequirePackage{mathtools}
|
||||||
|
\RequirePackage{amsthm}
|
||||||
|
\RequirePackage{amssymb}
|
||||||
|
|
||||||
|
\RequirePackage{latexsym}
|
||||||
|
|
||||||
|
% Für Formeln
|
||||||
|
\RequirePackage{mathabx}
|
||||||
|
\RequirePackage{esint}
|
||||||
|
|
||||||
|
\RequirePackage{IEEEtrantools}
|
||||||
|
\RequirePackage[ngerman,ruled,vlined]{algorithm2e}
|
||||||
|
|
||||||
|
|
||||||
|
%%% Importing other custom packages
|
||||||
|
\RequirePackage{mkessler-faktor}
|
||||||
|
\RequirePackage{mkessler-mathsymb}
|
||||||
|
\RequirePackage[basic]{mkessler-mathalias}
|
||||||
|
% mkessler-mathfont has already been imported
|
||||||
|
\RequirePackage[\ifmkessler@math@english english\else german\fi]{mkessler-mathop}
|
||||||
|
\RequirePackage{mkessler-mathfig}
|
||||||
|
\RequirePackage{mkessler-unicodechar}
|
||||||
|
\RequirePackage{mkessler-mathfixes} % Load this last since it renews behaviour
|
89
math/mkessler-mathalias.sty
Normal file
89
math/mkessler-mathalias.sty
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'mathalias.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-mathalias}[2021/10/08 - Easy aliasing for math style commands]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\RequirePackage{xkeyval}
|
||||||
|
|
||||||
|
\newif\ifmkessler@mathalias@basic\mkessler@mathalias@basicfalse
|
||||||
|
\newif\ifmkessler@mathalias@extended\mkessler@mathalias@extendedfalse
|
||||||
|
|
||||||
|
\DeclareOptionX{basic}{\mkessler@mathalias@basictrue}
|
||||||
|
\DeclareOptionX{extended}{\mkessler@mathalias@extendedtrue\mkessler@mathalias@basictrue}
|
||||||
|
|
||||||
|
\DeclareOptionX*{\PackageWarning{mkessler-mathalias}{Unknown '\CurrentOption'}}
|
||||||
|
\ProcessOptionsX\relax
|
||||||
|
|
||||||
|
|
||||||
|
%Usage: \makealiasesforwith\<mathcommand>{<prefix>}{<Set of letters>}
|
||||||
|
% to declare commands of form \<prefix><Letter> as \<mathcommand>{<Letter>} for each
|
||||||
|
% of the specfied letters
|
||||||
|
%
|
||||||
|
% E.g. \makealiasesforwith\mathcal{c}{ABC} will declare
|
||||||
|
% \cA \cB \cC \cD as \mathcal{A}, \mathcal{B}, \mathcal{C}
|
||||||
|
% This is also ensuring math context, so that
|
||||||
|
% \cA will be valid even in normal text.
|
||||||
|
|
||||||
|
\def\makealiasesforwith#1#2#3{
|
||||||
|
\def\mkessler@mathalias@makealias##1{
|
||||||
|
\expandafter\def\csname #2##1\endcsname{\ensuremath{#1{##1}}}
|
||||||
|
}
|
||||||
|
\def\mkessler@mathalias@recurse##1{
|
||||||
|
\ifx##1\mkessler@mathalias@dummy\else
|
||||||
|
\mkessler@mathalias@makealias{##1}\expandafter\mkessler@mathalias@recurse\fi
|
||||||
|
}
|
||||||
|
\mkessler@mathalias@recurse #3\mkessler@mathalias@dummy
|
||||||
|
}
|
||||||
|
|
||||||
|
\def\mkessler@mathalias@all{ABCDEFGHIJKLMNOPQRSTUVWXYZ}
|
||||||
|
|
||||||
|
\ifmkessler@mathalias@basic
|
||||||
|
\RequirePackage{amsfonts}
|
||||||
|
\makealiasesforwith\mathbb{}{CFKNQRZ}
|
||||||
|
\fi
|
||||||
|
|
||||||
|
\ifmkessler@mathalias@extended
|
||||||
|
\expandafter\makealiasesforwith\expandafter\mathcal\expandafter{\expandafter c\expandafter}\expandafter{\mkessler@mathalias@all}
|
||||||
|
\expandafter\makealiasesforwith\expandafter\mathfrak\expandafter{\expandafter f\expandafter}\expandafter{\mkessler@mathalias@all}
|
||||||
|
\fi
|
66
math/mkessler-mathfig.sty
Normal file
66
math/mkessler-mathfig.sty
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'mathfig.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-mathfig}[2021/10/08 - Math figures with TikZ / pgfplots / xy]
|
||||||
|
|
||||||
|
|
||||||
|
% This is just a collection of the packages I use to typeset mathematical figures
|
||||||
|
% most commonly plots, commutative diagrams or geometry
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\RequirePackage{pgfplots} % Plots
|
||||||
|
\pgfplotsset{compat=1.7}
|
||||||
|
|
||||||
|
\RequirePackage{tikz} % Plots / drawings
|
||||||
|
\usetikzlibrary{calc, intersections, through, quotes, angles, babel, positioning, snakes}
|
||||||
|
|
||||||
|
\RequirePackage{tikz-cd} %Commutative diagrams
|
||||||
|
|
||||||
|
|
||||||
|
%%for small diagrams, similar to tikz-cd
|
||||||
|
\RequirePackage[all]{xy} % for small diagrams, e.g. arrows
|
||||||
|
%%% In older versions, you found
|
||||||
|
% \RequirePackage{xy}
|
||||||
|
% \xyoption{all}
|
||||||
|
% here, but this messes with the catcode of the @ sign (which no package should do!)
|
||||||
|
% so that further parts in this package would get broken
|
80
math/mkessler-mathfixes.sty
Normal file
80
math/mkessler-mathfixes.sty
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'mathfixes.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-mathfixes}[2021/10/08 - Hacky math packages for some (custom) fixes]
|
||||||
|
|
||||||
|
|
||||||
|
% This just brings together some (possibly ugly) hacks that I use when writing math. Likely, you do not want to use this except when building around this package (like I did), or already have similar shortcuts
|
||||||
|
|
||||||
|
%Proper Degree command
|
||||||
|
\def\mkessler@mathfixes@degree{\ensuremath{^\circ}}
|
||||||
|
\AtBeginDocument{\let\degree\mkessler@mathfixes@degree}
|
||||||
|
|
||||||
|
% Always put limits under \limit
|
||||||
|
\let\oldlim\lim\def\lim{\oldlim\limits}
|
||||||
|
|
||||||
|
% Print equal sign under subset by default to not confuse people
|
||||||
|
% (I still write \subset, because this enables me remove this renewcommand and have the default \subset command evaluated instead
|
||||||
|
\let\mkessler@mathfixes@subseteq\subseteq
|
||||||
|
\let\mkessler@mathfixes@supseteq\supseteq
|
||||||
|
\AtBeginDocument{
|
||||||
|
\let\subset\mkessler@mathfixes@subseteq
|
||||||
|
\let\supset\mkessler@mathfixes@supseteq
|
||||||
|
}
|
||||||
|
|
||||||
|
%%Renew phi and epsilon to their proper versions, make the old ones available as
|
||||||
|
% uglyphi and uglyepsilon
|
||||||
|
|
||||||
|
\let\mkessler@mathfixes@stored@phi\phi
|
||||||
|
\let\mkessler@mathfixes@stored@varphi\varphi
|
||||||
|
\AtBeginDocument{
|
||||||
|
\let\phi\mkessler@mathfixes@stored@varphi
|
||||||
|
\let\uglyphi\mkessler@mathfixes@stored@phi
|
||||||
|
\let\oldphi\mkessler@mathfixes@stored@phi
|
||||||
|
}
|
||||||
|
|
||||||
|
\let\mkessler@mathfixes@stored@epsilon\epsilon
|
||||||
|
\let\mkessler@mathfixes@stored@varepsilon\varepsilon
|
||||||
|
\AtBeginDocument{
|
||||||
|
\let\epsilon\mkessler@mathfixes@stored@varepsilon
|
||||||
|
\let\uglyepsilon\mkessler@mathfixes@stored@epsilon
|
||||||
|
}
|
68
math/mkessler-mathfont.sty
Normal file
68
math/mkessler-mathfont.sty
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'mathfont.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-mathfont}[2021/10/08 - Collects several math fonts together]
|
||||||
|
|
||||||
|
|
||||||
|
%%% Store away the several (partially conflicting) fonts in internal macros
|
||||||
|
|
||||||
|
\let\mkessler@mathfont@none@mathcal\mathcal
|
||||||
|
|
||||||
|
\RequirePackage{mathrsfs}
|
||||||
|
\let\mkessler@mathfont@mathrsfs@mathscr\mathscr
|
||||||
|
|
||||||
|
\RequirePackage[mathscr]{eucal}
|
||||||
|
\let\mkessler@mathfont@eucal@optionmathscr@mathscr\mathscr
|
||||||
|
|
||||||
|
\RequirePackage{amsfonts}
|
||||||
|
\let\mkessler@mathfont@amsfonts@mathfrak\mathfrak
|
||||||
|
|
||||||
|
%%% Provide user commands to internally stored macros
|
||||||
|
\def\mkessler@mathfont@restorefonts{
|
||||||
|
\let\mathcal\mkessler@mathfont@none@mathcal % Set \mathcal to default calligrapic
|
||||||
|
\let\mathfrak\mkessler@mathfont@amsfonts@mathfrak % Set \mathfrak to mathfrak from amsfonts
|
||||||
|
\let\mathscr\mkessler@mathfont@mathrsfs@mathscr % Set \mathscr to mathscript from mathrsfs package
|
||||||
|
\let\mathcat\mkessler@mathfont@mathrsfs@mathscr % Set \mathcat to mathscript from mathrsfs package
|
||||||
|
\let\mathcalo\mkessler@mathfont@eucal@optionmathscr@mathscr % Set \mathcalo (for old calligraphic) to \mathscr from [mathscr]{eucal} package
|
||||||
|
}
|
||||||
|
|
||||||
|
\AtBeginDocument{\mkessler@mathfont@restorefonts}
|
224
math/mkessler-mathop.sty
Normal file
224
math/mkessler-mathop.sty
Normal file
|
@ -0,0 +1,224 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'mathop.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-mathop}[2021/10/08 - Math Operator Package]
|
||||||
|
|
||||||
|
|
||||||
|
%Provides some commonly used Operators used in the write-ups of my lecture notes
|
||||||
|
|
||||||
|
\RequirePackage{xkeyval}
|
||||||
|
|
||||||
|
\newif\ifmkessler@mathop@english\mkessler@mathop@englishtrue
|
||||||
|
\DeclareOptionX{german}{\mkessler@mathop@englishfalse}
|
||||||
|
\DeclareOptionX{ngerman}{\mkessler@mathop@englishfalse}
|
||||||
|
\DeclareOptionX{english}{\mkessler@mathop@englishtrue}
|
||||||
|
|
||||||
|
\DeclareOptionX*{\PackageWarning{mkessler-mathop}{Unknown '\CurrentOption'}}
|
||||||
|
\ProcessOptionsX\relax
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%Package dependencies
|
||||||
|
\RequirePackage{amsmath}
|
||||||
|
\RequirePackage{bbm}
|
||||||
|
\RequirePackage{mathtools}
|
||||||
|
|
||||||
|
%%%%Different types of operator wrappers:
|
||||||
|
|
||||||
|
% For simple math operators that are just to be printed as their name
|
||||||
|
\newcommand\DeclareSimpleMathOperator[1]{
|
||||||
|
\expandafter\providecommand\csname #1\endcsname{\operatorname{#1}}
|
||||||
|
}
|
||||||
|
|
||||||
|
%%%For distributions
|
||||||
|
%Introduce synonym for \operatorname
|
||||||
|
\newcommand\mkessler@mathop@distribution[1]{\operatorname{#1}}
|
||||||
|
%Easily declare new distributions
|
||||||
|
\newcommand\DeclareDistribution[1]{\expandafter\def\csname #1\endcsname{\mkessler@mathop@distribution{#1}}}
|
||||||
|
|
||||||
|
%%%For categories
|
||||||
|
%Introduce synonym for \operatorname
|
||||||
|
\newcommand\mkessler@mathop@category[1]{\operatorname{\textbf{#1}}}
|
||||||
|
%Easily declare new categories
|
||||||
|
\newcommand\DeclareCategory[1]{\expandafter\def\csname #1\endcsname{\mkessler@mathop@category{#1}}}
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%% Operators
|
||||||
|
%Basic commands
|
||||||
|
\DeclareSimpleMathOperator{id}
|
||||||
|
\DeclareSimpleMathOperator{im}
|
||||||
|
\DeclareSimpleMathOperator{Bild}
|
||||||
|
\DeclareSimpleMathOperator{dom}
|
||||||
|
\DeclareSimpleMathOperator{Span}
|
||||||
|
\DeclareSimpleMathOperator{Aut}
|
||||||
|
\DeclareMathOperator{\rhs}{RHS} %Right hand side of equation
|
||||||
|
\DeclareMathOperator{\lhs}{LHS} %Left hand side of equation
|
||||||
|
|
||||||
|
%%Provide \ggT \gcd \kgV \lcm for 'greatest common denominator' and 'least common multiple'
|
||||||
|
% \ggT und \gcd, as well as \kgV and \lcm are synonyms and language-aware, so that
|
||||||
|
% e.g. when the german language option is loaded, even
|
||||||
|
% \lcm would print 'kgV'
|
||||||
|
% The starred versions of the four commands will ignore the language option and print their
|
||||||
|
% exact names (without the *, of course)
|
||||||
|
\DeclareMathOperator{\@mkessler@mathop@ggT}{ggT}
|
||||||
|
\DeclareMathOperator{\@@mkessler@mathop@ggT}{\if@mkessler@mathop@english gcd\else ggT\fi}
|
||||||
|
\def\ggT{\@ifstar\@mkessler@mathop@ggT\@@mkessler@mathop@ggT}
|
||||||
|
|
||||||
|
\DeclareMathOperator{\@mkessler@mathop@gcd}{gcd}
|
||||||
|
\DeclareMathOperator{\@@mkessler@mathop@gcd}{\if@mkessler@mathop@english gcd\else ggT\fi}
|
||||||
|
\def\gcd{\@ifstar\@mkessler@mathop@gcd\@@mkessler@mathop@gcd}
|
||||||
|
|
||||||
|
\DeclareMathOperator{\@mkessler@mathop@kgV}{kgV}
|
||||||
|
\DeclareMathOperator{\@@mkessler@mathop@kgV}{\if@mkessler@mathop@english lcm\else kgV\fi}
|
||||||
|
\def\kgV{\@ifstar\@mkessler@mathop@kgV\@@mkessler@mathop@kgV}
|
||||||
|
|
||||||
|
\DeclareMathOperator{\@mkessler@mathop@lcm}{lcm}
|
||||||
|
\DeclareMathOperator{\@@mkessler@mathop@lcm}{\if@mkessler@mathop@english lcm\else kgV\fi}
|
||||||
|
\def\lcm{\@ifstar\@mkessler@mathop@lcm\@@mkessler@mathop@lcm}
|
||||||
|
|
||||||
|
%Complex numbers
|
||||||
|
\DeclareMathOperator{\mkessler@mathop@impart}{Im}
|
||||||
|
\renewcommand\Im\mkessler@mathop@impart
|
||||||
|
\DeclareMathOperator{\mkessler@mathop@repart}{Re}
|
||||||
|
\renewcommand\Re\mkessler@mathop@repart
|
||||||
|
|
||||||
|
%Linear Algebra
|
||||||
|
\DeclareSimpleMathOperator{Sym}
|
||||||
|
\DeclareSimpleMathOperator{supp}
|
||||||
|
\DeclareSimpleMathOperator{sgn}
|
||||||
|
\DeclareSimpleMathOperator{coker}
|
||||||
|
\DeclareSimpleMathOperator{rank}
|
||||||
|
\DeclareSimpleMathOperator{Mat}
|
||||||
|
\DeclareSimpleMathOperator{ev}
|
||||||
|
|
||||||
|
%Algebra
|
||||||
|
\DeclareSimpleMathOperator{Quot}
|
||||||
|
\DeclareSimpleMathOperator{Gal}
|
||||||
|
\DeclareSimpleMathOperator{Ext}
|
||||||
|
\DeclareSimpleMathOperator{Tor}
|
||||||
|
\DeclareSimpleMathOperator{MaxSpec}
|
||||||
|
\DeclareSimpleMathOperator{Sh}
|
||||||
|
\DeclareSimpleMathOperator{Proj}
|
||||||
|
\DeclareSimpleMathOperator{QCoh}
|
||||||
|
\DeclareSimpleMathOperator{MaxSpec}
|
||||||
|
\DeclareSimpleMathOperator{Fun}
|
||||||
|
\DeclareMathOperator{\PreSh}{Pre-Sh}
|
||||||
|
\newcommand{\tensor}{\otimes} %Synonym for tensoring
|
||||||
|
|
||||||
|
%Analysis
|
||||||
|
\DeclareSimpleMathOperator{dx}
|
||||||
|
\DeclareSimpleMathOperator{dy}
|
||||||
|
\DeclareSimpleMathOperator{dz}
|
||||||
|
\DeclareSimpleMathOperator{dt}
|
||||||
|
|
||||||
|
%Sets
|
||||||
|
\DeclareSimpleMathOperator{conv}
|
||||||
|
\DeclareSimpleMathOperator{dist}
|
||||||
|
\DeclareSimpleMathOperator{diam}
|
||||||
|
|
||||||
|
%%Stochastic (Algorithmische Mathematik II)
|
||||||
|
\DeclareDistribution{Bin}
|
||||||
|
\DeclareDistribution{Ber}
|
||||||
|
\DeclareDistribution{Geo}
|
||||||
|
\DeclareDistribution{Poi}
|
||||||
|
\DeclareDistribution{Unif}
|
||||||
|
\DeclareDistribution{Var}
|
||||||
|
\DeclareDistribution{Cov}
|
||||||
|
|
||||||
|
%Topology
|
||||||
|
\DeclareSimpleMathOperator{pr}
|
||||||
|
\def\twedge{\vee} % Semantically correct macros for wedge product
|
||||||
|
\def\tsmash{\wedge} % Semantically correct macro for smash product
|
||||||
|
|
||||||
|
%Category Theory
|
||||||
|
\DeclareSimpleMathOperator{Ob}
|
||||||
|
\DeclareSimpleMathOperator{Hom}
|
||||||
|
\DeclareSimpleMathOperator{Mor}
|
||||||
|
\DeclareSimpleMathOperator{End}
|
||||||
|
\DeclareSimpleMathOperator{colim}
|
||||||
|
|
||||||
|
%Categories
|
||||||
|
\DeclareCategory{Top}
|
||||||
|
\DeclareCategory{hTop}
|
||||||
|
\DeclareCategory{Set}
|
||||||
|
\DeclareCategory{CHaus}
|
||||||
|
\DeclareCategory{Grp}
|
||||||
|
\DeclareCategory{Ab}
|
||||||
|
\DeclareCategory{CRing}
|
||||||
|
\DeclareCategory{Vect}
|
||||||
|
\DeclareCategory{Fin}
|
||||||
|
\DeclareCategory{Ab}
|
||||||
|
\DeclareCategory{Cat}
|
||||||
|
|
||||||
|
%Set theory
|
||||||
|
\DeclareSimpleMathOperator{card}
|
||||||
|
\DeclareSimpleMathOperator{Cd}
|
||||||
|
\DeclareSimpleMathOperator{Ord}
|
||||||
|
\DeclareSimpleMathOperator{otp}
|
||||||
|
\DeclareSimpleMathOperator{Card}
|
||||||
|
|
||||||
|
%%Galoiskohomologie
|
||||||
|
\DeclareSimpleMathOperator{Br}
|
||||||
|
\DeclareSimpleMathOperator{EXT}
|
||||||
|
\DeclareSimpleMathOperator{Ind}
|
||||||
|
\DeclareSimpleMathOperator{char}
|
||||||
|
\DeclareSimpleMathOperator{res}
|
||||||
|
\DeclareSimpleMathOperator{inf}
|
||||||
|
\DeclareSimpleMathOperator{cov}
|
||||||
|
\newcommand{\del}{\partial} % Semantically correct operator for boundary maps
|
||||||
|
|
||||||
|
% Characteristic function
|
||||||
|
\newcommand*{\cfun}{\ensuremath{\mathbbm{1}}}
|
||||||
|
\newcommand*{\One}{\cfun}
|
||||||
|
|
||||||
|
%Paired Delimiters
|
||||||
|
\DeclarePairedDelimiter\ceil{\lceil}{\rceil}
|
||||||
|
\DeclarePairedDelimiter\floor{\lfloor}{\rfloor}
|
||||||
|
|
||||||
|
%Norm and absolute value
|
||||||
|
%Make them scaling by default and have \abs*{} as the non-scaling version of the command
|
||||||
|
\DeclarePairedDelimiter\abs{\lvert}{\rvert}
|
||||||
|
\let\oldabs\abs
|
||||||
|
\def\abs{\@ifstar{\oldabs}{\oldabs*}}
|
||||||
|
|
||||||
|
\DeclarePairedDelimiter\norm{\lVert}{\rVert}
|
||||||
|
\let\oldnorm\norm
|
||||||
|
\def\norm{\@ifstar{\oldnorm}{\oldnorm*}}
|
84
math/mkessler-mathsymb.sty
Normal file
84
math/mkessler-mathsymb.sty
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'mathsymb.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-mathsymb}[2021/10/08 - Some extra math-related symbols.]
|
||||||
|
|
||||||
|
|
||||||
|
% A collection of math-related symbols / tools I often use, mainly collected together from Stack Overflow or hacked together myself
|
||||||
|
|
||||||
|
%Dependencies
|
||||||
|
\RequirePackage{tikz}
|
||||||
|
|
||||||
|
% noloc command by
|
||||||
|
% user 'egreg' (https://tex.stackexchange.com/users/4427/egreg)
|
||||||
|
% posted on
|
||||||
|
% https://tex.stackexchange.com/questions/546713/spacing-in-colon (Spacing in \colon)
|
||||||
|
% Prints a mirrored \colon correctly
|
||||||
|
\RequirePackage{amsmath}
|
||||||
|
\newcommand\noloc{%
|
||||||
|
\nobreak
|
||||||
|
\mspace{6mu plus 1mu}
|
||||||
|
{:}
|
||||||
|
\nonscript\mkern-\thinmuskip
|
||||||
|
\mathpunct{}
|
||||||
|
\mspace{2mu}
|
||||||
|
}
|
||||||
|
|
||||||
|
% \contra command from Gilles Castel, taken from
|
||||||
|
% https://github.com/gillescastel/university-setup/blob/master/preamble.tex
|
||||||
|
% (retrieved 2021-09-08)
|
||||||
|
% The preamble linked above is MIT-licensed by Gilles Castel
|
||||||
|
\RequirePackage{stmaryrd} % for \lightning
|
||||||
|
\RequirePackage{graphicx}
|
||||||
|
\newcommand\contra{\scalebox{1.5}{$\lightning$}}
|
||||||
|
|
||||||
|
%Print a warning sign
|
||||||
|
\RequirePackage{pgf}
|
||||||
|
\newcommand\Warning{%
|
||||||
|
\makebox[1.4em][c]{%
|
||||||
|
\makebox[0pt][c]{\raisebox{.1em}{\small!}}%
|
||||||
|
\makebox[0pt][c]{\color{red}\Large$\bigtriangleup$}}}%
|
||||||
|
|
||||||
|
%Make circled symbols
|
||||||
|
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
|
||||||
|
\node[shape=circle,draw,inner sep=2pt] (char) {#1};}}
|
||||||
|
|
74
math/mkessler-unicodechar.sty
Normal file
74
math/mkessler-unicodechar.sty
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'unicodechar.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-unicodechar}[2021/10/08 - Wrapper for the newunicodechare package with some defined unicode symbols.]
|
||||||
|
|
||||||
|
|
||||||
|
% This is just a simple package loading the newunicodechar package and defining the common unicode symbols i regularly use for typesetting mathematics
|
||||||
|
|
||||||
|
\RequirePackage{newunicodechar}
|
||||||
|
|
||||||
|
\newunicodechar{α}{\ensuremath\alpha}
|
||||||
|
\newunicodechar{β}{\ensuremath\beta}
|
||||||
|
\newunicodechar{γ}{\ensuremath\gamma}
|
||||||
|
\newunicodechar{δ}{\ensuremath\delta}
|
||||||
|
\newunicodechar{ε}{\ensuremath\epsilon}
|
||||||
|
\newunicodechar{ζ}{\ensuremath\zeta}
|
||||||
|
\newunicodechar{η}{\ensuremath\eta}
|
||||||
|
\newunicodechar{θ}{\ensuremath\theta}
|
||||||
|
\newunicodechar{ι}{\ensuremath\iota}
|
||||||
|
\newunicodechar{κ}{\ensuremath\kappa}
|
||||||
|
\newunicodechar{λ}{\ensuremath\lambda}
|
||||||
|
\newunicodechar{μ}{\ensuremath\mu}
|
||||||
|
\newunicodechar{ν}{\ensuremath\nu}
|
||||||
|
\newunicodechar{ξ}{\ensuremath\xi}
|
||||||
|
\newcommand\omicron{o}\newunicodechar{ο}{\ensuremath\omicron} % For semantical use
|
||||||
|
\newunicodechar{π}{\ensuremath\pi}
|
||||||
|
\newunicodechar{ρ}{\ensuremath\rho}
|
||||||
|
\newunicodechar{σ}{\ensuremath\sigma}
|
||||||
|
\newunicodechar{τ}{\ensuremath\tau}
|
||||||
|
\newunicodechar{υ}{\ensuremath\upsilon}
|
||||||
|
\newunicodechar{φ}{\ensuremath\phi}
|
||||||
|
\newunicodechar{χ}{\ensuremath\chi}
|
||||||
|
\newunicodechar{ψ}{\ensuremath\psi}
|
||||||
|
\newunicodechar{ω}{\ensuremath\omega}
|
||||||
|
|
70
misc/mkessler-hypersetup.sty
Normal file
70
misc/mkessler-hypersetup.sty
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'hypersetup.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-hypersetup}[2021/10/08 - Package for setting up hyperref, cleveref and some default hyperref colors]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\RequirePackage{xkeyval}
|
||||||
|
|
||||||
|
\newif\ifmkessler@hypersetup@cleveref\mkessler@hypersetup@clevereffalse
|
||||||
|
\DeclareOptionX{cleveref}{\mkessler@hypersetup@clevereftrue}
|
||||||
|
|
||||||
|
\DeclareOptionX*{\PackageWarning{mkessler-hypersetup}{Unknown '\CurrentOption'}}
|
||||||
|
\ProcessOptionsX\relax
|
||||||
|
|
||||||
|
|
||||||
|
%%%Hyperref and setup
|
||||||
|
\RequirePackage{xcolor} % To compute the colors below
|
||||||
|
\RequirePackage{etoolbox} % Checking for defined commands
|
||||||
|
|
||||||
|
\def\mkessler@hypersetup@exec{
|
||||||
|
\RequirePackage{hyperref} % Hyperlinks
|
||||||
|
\ifmkessler@hypersetup@cleveref
|
||||||
|
\RequirePackage{cleveref} % Better referencing
|
||||||
|
\fi
|
||||||
|
\hypersetup{colorlinks, citecolor=violet, urlcolor=blue!80!black, linkcolor=red!50!black, pdfauthor=\@author, pdftitle=\ifdef{\@course}{\@course}{\@title}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\AtEndPreamble{
|
||||||
|
\mkessler@hypersetup@exec
|
||||||
|
}
|
90
misc/mkessler-incfig.sty
Normal file
90
misc/mkessler-incfig.sty
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'incfig.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-incfig}[2021/10/08 - Figure support for inkscape figures by Gilles Castell]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%
|
||||||
|
% This is just a small package bundling the figure support for the inkscape figures by Gilles Castel. The setup can be originally found in the preamble
|
||||||
|
% https://github.com/gillescastel/university-setup
|
||||||
|
% and is specifically designed to work with the inkscape figures explained at
|
||||||
|
% https://castel.dev/post/lecture-notes-2/
|
||||||
|
|
||||||
|
% These are licensed under
|
||||||
|
|
||||||
|
%MIT License
|
||||||
|
|
||||||
|
%Copyright (c) 2019 Gilles Castel
|
||||||
|
|
||||||
|
%Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
%of this software and associated documentation files (the "Software"), to deal
|
||||||
|
%in the Software without restriction, including without limitation the rights
|
||||||
|
%to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
%copies of the Software, and to permit persons to whom the Software is
|
||||||
|
%furnished to do so, subject to the following conditions:
|
||||||
|
%
|
||||||
|
%The above copyright notice and this permission notice shall be included in all
|
||||||
|
%copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
%THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
%IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
%FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
%AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
%LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
%OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
%SOFTWARE.
|
||||||
|
% This package extends the lecture command to make a summary of lectures at the beginning of a document, and has thus modified this command.
|
||||||
|
|
||||||
|
|
||||||
|
% Note that this package is NOT associated to Gilles Castel in any official way
|
||||||
|
|
||||||
|
|
||||||
|
% Figure support as explained in my blog post.
|
||||||
|
\RequirePackage{import}
|
||||||
|
\RequirePackage{xifthen}
|
||||||
|
\RequirePackage{pdfpages}
|
||||||
|
\RequirePackage{transparent}
|
||||||
|
\newcommand{\incfig}[1]{%
|
||||||
|
\def\svgwidth{\columnwidth}
|
||||||
|
\include{figures/#1.pdf_tex}
|
||||||
|
}
|
90
misc/mkessler-vocab.sty
Normal file
90
misc/mkessler-vocab.sty
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'vocab.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-vocab}[2021/10/08 - Package for emphasizing vocabulary]
|
||||||
|
|
||||||
|
|
||||||
|
%%Provides a \vocab<[name in index]>{vocabulary} command to print vocabulary in bold blue and automatically index it.
|
||||||
|
|
||||||
|
\RequirePackage{xkeyval}
|
||||||
|
|
||||||
|
\newif\ifmkessler@vocab@english\mkessler@vocab@englishtrue
|
||||||
|
\DeclareOptionX{german}{\mkessler@vocab@englishfalse}
|
||||||
|
\DeclareOptionX{ngerman}{\mkessler@vocab@englishfalse}
|
||||||
|
\DeclareOptionX{english}{\mkessler@vocab@englishtrue}
|
||||||
|
\newif\ifmkessler@vocab@index\mkessler@vocab@indexfalse
|
||||||
|
|
||||||
|
\DeclareOptionX{index}{\mkessler@vocab@indextrue}
|
||||||
|
\DeclareOptionX{noindex}{\mkessler@vocab@indexfalse}
|
||||||
|
|
||||||
|
\DeclareOptionX*{\PackageWarning{mkessler-vocab}{Unknown '\CurrentOption'}}
|
||||||
|
\ProcessOptionsX\relax
|
||||||
|
|
||||||
|
|
||||||
|
%%%%Management of vocabulary and corresponding index
|
||||||
|
\RequirePackage{xparse}
|
||||||
|
\RequirePackage{xcolor}
|
||||||
|
\ifmkessler@vocab@index
|
||||||
|
\RequirePackage{imakeidx}
|
||||||
|
\makeindex[name=vocabindex, columns=2, title=\ifmkessler@vocab@english Index\else Stichwortverzeichnis\fi, intoc]
|
||||||
|
|
||||||
|
%Emphasize \vocabulary
|
||||||
|
\RequirePackage{expl3}
|
||||||
|
\ExplSyntaxOn
|
||||||
|
\NewDocumentCommand{\vocab}{O{} m}{
|
||||||
|
\textbf{\color{blue} #2}%
|
||||||
|
\if\relax\detokenize{#1}\relax%
|
||||||
|
\index[vocabindex]{\text_titlecase_first:n{#2}} % true branch: #1 was empty
|
||||||
|
\else
|
||||||
|
\index[vocabindex]{#1} % false branch: #1 was supplied
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
\ExplSyntaxOff
|
||||||
|
\newcommand\printvocabindex{
|
||||||
|
\printindex[vocabindex]
|
||||||
|
}
|
||||||
|
\else
|
||||||
|
\NewDocumentCommand{\vocab}{O{} m }{
|
||||||
|
\textbf{\color{blue} #2}
|
||||||
|
}
|
||||||
|
\fi
|
||||||
|
|
57
utils/mkessler-counters.sty
Normal file
57
utils/mkessler-counters.sty
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'counters.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-counters}[2021/10/08 - Write LaTeX counters to auxiliary file]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\RequirePackage{etoolbox}
|
||||||
|
|
||||||
|
\newwrite\mkessler@counters@out
|
||||||
|
\immediate\openout\mkessler@counters@out\jobname.cnt\relax
|
||||||
|
\AtBeginDocument{
|
||||||
|
\let\mkessler@counters@saved@stepcounter\stepcounter
|
||||||
|
\def\stepcounter#1{
|
||||||
|
\mkessler@counters@saved@stepcounter{#1}
|
||||||
|
\immediate\write\mkessler@counters@out{#1: \csname the#1\endcsname}}
|
||||||
|
}
|
||||||
|
|
88
utils/mkessler-findpackage.sty
Normal file
88
utils/mkessler-findpackage.sty
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'findpackage.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-findpackage}[2021/10/08 - Find a package that provides some command]
|
||||||
|
|
||||||
|
|
||||||
|
% This is just a quick packaging of the post by
|
||||||
|
% 'Martin Nyolt' (https://tex.stackexchange.com/users/78783/martin-nyolt)
|
||||||
|
% found at
|
||||||
|
% https://tex.stackexchange.com/users/78783/martin-nyolt
|
||||||
|
% Note that SO answers are by default CC BY-SA 3.0 licensed, see
|
||||||
|
% https://creativecommons.org/licenses/by-sa/3.0/
|
||||||
|
|
||||||
|
\def\find@load#1[#2]#3[#4]{%
|
||||||
|
% load the package
|
||||||
|
\find@fileswith@pti@ns{#1}[#2]{#3}[#4]%
|
||||||
|
% check if commands exists now
|
||||||
|
\ifcsname\find@command\endcsname
|
||||||
|
\typeout{Package #3 introduces command \find@command.}%
|
||||||
|
% command has been found, revert to original version without checks
|
||||||
|
\let\@fileswith@pti@ns\find@fileswith@pti@ns
|
||||||
|
\else
|
||||||
|
% somehow, \@fileswith@pti@ns is restored after loading a package
|
||||||
|
% thus, patch it again
|
||||||
|
\let\@fileswith@pti@ns\find@load
|
||||||
|
\fi
|
||||||
|
}%
|
||||||
|
|
||||||
|
\newcommand*{\findpackagebycommand}[1]{%
|
||||||
|
% using this multiple times - esp. when the package has not been found yet -
|
||||||
|
% will break things. Thus, check first that \find@command has never been defined before
|
||||||
|
\ifx\find@command\undefined
|
||||||
|
\def\find@command{#1}%
|
||||||
|
% first, check if this command is already defined
|
||||||
|
\ifcsname\find@command\endcsname
|
||||||
|
% in this case, just issue a warning and do nothing
|
||||||
|
\@latex@warning@no@line{Command \find@command \space is already defined}%
|
||||||
|
\else
|
||||||
|
% overwrite the internal \@fileswith@pti@ns command, which does the actual loading
|
||||||
|
% \@fileswith@pti@ns is used internally by \usepackage and \RequirePackage
|
||||||
|
\let\find@fileswith@pti@ns\@fileswith@pti@ns
|
||||||
|
\let\@fileswith@pti@ns\find@load
|
||||||
|
\fi
|
||||||
|
\else
|
||||||
|
% used multiple times - prevent and give a warning
|
||||||
|
\@latex@warning@no@line{You can use \protect\findpackagebycommand \space only once}%
|
||||||
|
\errmessage{Invalid use of command findpackagebycommand.}%
|
||||||
|
\fi
|
||||||
|
}
|
81
wip/mkessler-bibliography.sty
Normal file
81
wip/mkessler-bibliography.sty
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'bibliography.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-bibliography}[2021/10/08 - Package to easily print bibliography and image attributions in document]
|
||||||
|
|
||||||
|
|
||||||
|
\RequirePackage{xkeyval}
|
||||||
|
|
||||||
|
\newif\ifmkessler@bibliography@english\mkessler@bibliography@englishtrue
|
||||||
|
\DeclareOption{german}{\mkessler@bibliography@englishfalse}
|
||||||
|
\DeclareOption{ngerman}{\mkessler@bibliography@englishfalse}
|
||||||
|
\DeclareOption{english}{\mkessler@bibliography@englishtrue}
|
||||||
|
|
||||||
|
\def\mkessler@bibliography@bibfile{bibliography.bib}
|
||||||
|
\def\mkessler@bibliography@imagefile{images.bib}
|
||||||
|
\DeclareOptionX{bibfile}[bibliography.bib]{\def\mkessler@bibliography@bibfile{#1}}
|
||||||
|
\DeclareOptionX{imagefile}[images.bib]{\def\mkessler@bibliography@imagefile{#1}}
|
||||||
|
|
||||||
|
\DeclareOptionX*{\PackageWarning{mkessler-bibliography}{Unknown '\CurrentOption'}}
|
||||||
|
\ProcessOptionsX\relax
|
||||||
|
|
||||||
|
|
||||||
|
%%%%Bibliography management
|
||||||
|
\RequirePackage[backend=biber,style=alphabetic]{biblatex}
|
||||||
|
\addbibresource{\mkessler@bibliography@bibfile}
|
||||||
|
\addbibresource{\mkessler@bibliography@imagefile}
|
||||||
|
|
||||||
|
%Provide simpler commands to properly print image attributions and literature
|
||||||
|
\DeclareRobustCommand*{\printimageattributions}{
|
||||||
|
\def\imageattributionstitle{\ifenglish Image attributions \else Bildquellen\fi}
|
||||||
|
\phantomsection
|
||||||
|
\addcontentsline{toc}{section}{\imageattributionstitle}
|
||||||
|
\printbibliography[title={\imageattributionstitle}, type=image]
|
||||||
|
}
|
||||||
|
|
||||||
|
\DeclareRobustCommand*{\printliterature}{
|
||||||
|
\def\literaturetitle{\ifenglish Literature\else Literatur\fi}
|
||||||
|
\phantomsection
|
||||||
|
\addcontentsline{toc}{section}{\literaturetitle}
|
||||||
|
\printbibliography[title={\literaturetitle}, nottype=image]
|
||||||
|
|
||||||
|
}
|
50
wip/mkessler-enumerate.sty
Normal file
50
wip/mkessler-enumerate.sty
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'enumerate.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-enumerate}[2021/10/08 - Simple enumeration package wrapper. Handles custom number setting and beamer class.]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\@ifclassloaded{beamer}{}{
|
||||||
|
\usepackage[shortlabels]{enumitem}
|
||||||
|
\newcommand\setItemnumber[1]{\setcounter{enum\romannumeral\@enumdepth}{\numexpr#1-1\relax}}
|
||||||
|
}
|
73
wip/mkessler-exsheet.sty
Normal file
73
wip/mkessler-exsheet.sty
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'exsheet.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-exsheet}[2021/10/08 - Include exercise sheets into lecture notes easily.]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\RequirePackage{xkeyval}
|
||||||
|
\newif\ifmkessler@exsheet@english\mkessler@exsheet@englishtrue
|
||||||
|
\DeclareOption{german}{\mkessler@exsheet@englishfalse}
|
||||||
|
\DeclareOption{ngerman}{\mkessler@exsheet@englishfalse}
|
||||||
|
\DeclareOption{english}{\mkessler@exsheet@englishtrue}
|
||||||
|
|
||||||
|
\DeclareOption*{\PackageWarning{mkessler-exsheet}{Unknown '\CurrentOption'}}
|
||||||
|
\ProcessOptions\relax
|
||||||
|
|
||||||
|
|
||||||
|
\RequirePackage{mkessler-fancythm}
|
||||||
|
|
||||||
|
\newcounter{mkessler@exsheet@sheet}
|
||||||
|
|
||||||
|
\declaretheorem[style=thmgreenmargin, numberwithin=mkessler@exsheet@sheet, name=\ifmkessler@exsheet@english Exercise\else Aufgabe\fi]{mkessler@exsheet@aufgabe}
|
||||||
|
|
||||||
|
\usepackage{xkeyval}
|
||||||
|
|
||||||
|
\NewDocumentEnvironment{aufgabe}{O{}}{
|
||||||
|
\begin{mkessler@exsheet@aufgabe\expandafter}\if\relax\detokenize{#1}\relax\else[#1]\fi\label{aufgabe-\themkessler@exsheet@aufgabe}
|
||||||
|
}{
|
||||||
|
\end{mkessler@exsheet@aufgabe\expandafter}\relax
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand\blatt{\refstepcounter{mkessler@exsheet@sheet}\subsection*{\themkessler@exsheet@sheet. Übungsblatt}\addcontentsline{toc}{subsection}{\themkessler@exsheet@sheet. Übungsblatt}}
|
||||||
|
|
||||||
|
|
49
wip/mkessler-figures.sty
Normal file
49
wip/mkessler-figures.sty
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'figures.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-figures}[2021/10/08 - Packages related to inclusion of figures.]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\RequirePackage{caption}
|
||||||
|
\RequirePackage{subcaption}
|
||||||
|
\RequirePackage{float}
|
60
wip/mkessler-gag.sty
Normal file
60
wip/mkessler-gag.sty
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'gag.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-gag}[2021/10/08 - Numbering of environments with a fractional environment number]
|
||||||
|
|
||||||
|
|
||||||
|
% For the stack exchange source, see
|
||||||
|
% https://tex.stackexchange.com/questions/598076/how-to-have-a-fractional-environment-number/598080?noredirect=1#comment1499689_598080
|
||||||
|
% However, for a reason i don't understand the posted answer does not work for me, but i had to replace theorem with definition in the definition of the gag environment (so apparently, i have to do this for each environment separately). It seems that the definitions of this document do use \thedefinition and not \thetheorem, although by default this is not the case.
|
||||||
|
|
||||||
|
\newcounter{gag}
|
||||||
|
\makeatletter
|
||||||
|
\newenvironment{gag}[1]{%
|
||||||
|
\let\savedthedefinition\thedefinition
|
||||||
|
\thm@headfont{\bfseries\boldmath}%
|
||||||
|
\stepcounter{gag}%
|
||||||
|
\renewcommand{\thedefinition}{\savedthedefinition#1}%
|
||||||
|
\renewcommand{\theHdefinition}{gag\thegag}%
|
||||||
|
\addtocounter{definition}{-1}\ignorespaces
|
||||||
|
}{\ignorespacesafterend}
|
||||||
|
\makeatother
|
66
wip/mkessler-lang-input.sty
Normal file
66
wip/mkessler-lang-input.sty
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'lang-input.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-lang-input}[2021/10/08 - Packages related to language input. Still work in progress, not intended for use.]
|
||||||
|
|
||||||
|
|
||||||
|
\RequirePackage[\ifutf utf8\else utf8x\fi]{inputenc}
|
||||||
|
\RequirePackage[T1]{fontenc}
|
||||||
|
|
||||||
|
% Font
|
||||||
|
\RequirePackage{lmodern} % Use latin modern font
|
||||||
|
\RequirePackage{anyfontsize} % Provides \fontsize{...}{...}\selectfont
|
||||||
|
\RequirePackage{soul} % Hyphenation, crossing \ldots
|
||||||
|
\RequirePackage{microtype} % Hyphenation, character protrusion, font expansion
|
||||||
|
|
||||||
|
% Layout
|
||||||
|
\RequirePackage{parskip} % Leave blank line instead of indenting paragraphs
|
||||||
|
\RequirePackage{onehalfspacing}
|
||||||
|
\RequirePackage{changepage} % Change page layout in middle of document
|
||||||
|
|
||||||
|
\RequirePackage{tabto} % Tabulators
|
||||||
|
|
||||||
|
% Language support
|
||||||
|
\RequirePackage[\ifenglish english \else ngerman\fi]{babel}
|
||||||
|
|
||||||
|
%Referencation
|
||||||
|
\RequirePackage{lastpage} %\pageref{LastPage} for reference on the last page
|
145
wip/mkessler-proof.sty
Normal file
145
wip/mkessler-proof.sty
Normal file
|
@ -0,0 +1,145 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'proof.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-proof}[2021/10/08 - Automatic references to theorems in proofs. Claim counters within proofs]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\RequirePackage{xkeyval}
|
||||||
|
|
||||||
|
\newif\ifmkessler@proof@english\mkessler@proof@englishtrue
|
||||||
|
\DeclareOptionX{german}{\mkessler@proof@englishfalse}
|
||||||
|
\DeclareOptionX{ngerman}{\mkessler@proof@englishfalse}
|
||||||
|
\DeclareOptionX{english}{\mkessler@proof@englishtrue}
|
||||||
|
|
||||||
|
\DeclareOptionX*{\PackageWarning{mkessler-proof}{Unknown '\CurrentOption'}}
|
||||||
|
\ProcessOptionsX\relax
|
||||||
|
|
||||||
|
|
||||||
|
\RequirePackage{amssymb}
|
||||||
|
\RequirePackage{amsthm}
|
||||||
|
\RequirePackage{etoolbox}
|
||||||
|
\RequirePackage{xparse}
|
||||||
|
|
||||||
|
%%Give claim an own counter and let it reset at each proof
|
||||||
|
%See also at:
|
||||||
|
%https://tex.stackexchange.com/questions/283502/reset-counter-at-beginning-of-proof
|
||||||
|
\newtheorem{claim}{\ifmkessler@proof@english Claim\else Behauptung\fi}
|
||||||
|
\newtheorem*{claim*}{\ifmkessler@proof@english Claim\else Behauptung\fi}
|
||||||
|
\AtBeginDocument{\def\claimautorefname{\ifmkessler@proof@english Claim\else Behauptung\fi}}
|
||||||
|
|
||||||
|
\newif\ifmkessler@proof@hyperref\mkessler@proof@hyperreffalse
|
||||||
|
\AtBeginDocument{
|
||||||
|
\@ifpackageloaded{hyperref}{
|
||||||
|
\mkessler@proof@hyperreftrue
|
||||||
|
\def\grab#1{\expandafter\@firstoffive#1}
|
||||||
|
\def\mkessler@proof@blankref#1{\expandafter\grab\csname r@#1\endcsname}
|
||||||
|
\let\mkessler@proof@autoref\autoref
|
||||||
|
}{
|
||||||
|
\mkessler@proof@hyperreftrue
|
||||||
|
\let\mkessler@proof@blankref\ref
|
||||||
|
\let\mkessler@proof@autoref\ref
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
\NewDocumentEnvironment{rproof}{m O{}}{\def\mkessler@proof@aster{\relax}\begin{mkessler@proof@rproof@impl}{#1}[#2]}{\end{mkessler@proof@rproof@impl}}
|
||||||
|
\NewDocumentEnvironment{rproof*}{m O{}}{\def\mkessler@proof@aster{*}\begin{mkessler@proof@rproof@impl}{#1}[#2]}{\end{mkessler@proof@rproof@impl}}
|
||||||
|
|
||||||
|
\NewDocumentEnvironment{mkessler@proof@rproof@impl}{m O{}}
|
||||||
|
{
|
||||||
|
% Restore correct counter for claim
|
||||||
|
\ifcsdef{themkessler@proof@#1@save@claim}{
|
||||||
|
\setcounter{claim}{\value{mkessler@proof@#1@save@claim}}
|
||||||
|
\def\mkessler@proof@proofprefix{\ifmkessler@proof@english Continuation of proof\mkessler@proof@aster\space of\else Fortsetzung des Beweises\mkessler@proof@aster\space zu\fi}
|
||||||
|
\edef\haha{\value{mkessler@proof@#1@part}}
|
||||||
|
}{
|
||||||
|
\newcounter{mkessler@proof@#1@save@claim}
|
||||||
|
\setcounter{claim}{0}
|
||||||
|
\def\mkessler@proof@proofprefix{\ifmkessler@proof@english Proof\mkessler@proof@aster\space of\else Beweis\mkessler@proof@aster\space von\fi}
|
||||||
|
}
|
||||||
|
% Set up counter number printing as subindexed by numbering of the reference
|
||||||
|
\let\mkessler@proof@theoldclaim\theclaim
|
||||||
|
\def\theclaim{\mkessler@proof@blankref{#1}.\mkessler@proof@theoldclaim}
|
||||||
|
% Now, start the actual proof
|
||||||
|
\begin{proof}[\mkessler@proof@proofprefix\space\mkessler@proof@autoref{#1}\if\relax\detokenize{#2}\relax\else\space(#2)\fi]
|
||||||
|
}
|
||||||
|
{
|
||||||
|
\end{proof} % End proof
|
||||||
|
% Save current claim counter for later restoration
|
||||||
|
\setcounter{mkessler@proof@#1@save@claim}{\value{claim}}
|
||||||
|
}
|
||||||
|
|
||||||
|
% Proof (with asterisk)
|
||||||
|
\NewDocumentEnvironment{proof*}{O{}}
|
||||||
|
{
|
||||||
|
\if\relax\detokenize{#1}\relax\begin{proof}[\ifmkessler@proof@english Proof\emph{*}\else Beweis\emph{*}\fi]\else\begin{proof}[#1\emph{*}]\fi
|
||||||
|
}
|
||||||
|
{
|
||||||
|
\end{proof}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
%%subproof environment - essentially copied proof environment from amsthm and modified its name + symbol
|
||||||
|
\DeclareRobustCommand{\blackqed}{%
|
||||||
|
\ifmmode \mathqed
|
||||||
|
\else
|
||||||
|
\leavevmode\unskip\penalty9999 \hbox{}\nobreak\hfill
|
||||||
|
\quad\hbox{$\blacksquare$}%
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
|
||||||
|
\newenvironment{subproof}[1][\ifmkessler@proof@english Subproof\else Unterbeweis\fi]{\par
|
||||||
|
\pushQED{\blackqed}%
|
||||||
|
\normalfont \topsep6\p@\@plus6\p@\relax
|
||||||
|
\trivlist
|
||||||
|
\item[\hskip\labelsep
|
||||||
|
\itshape
|
||||||
|
#1\@addpunct{.}]\ignorespaces
|
||||||
|
}{%
|
||||||
|
\popQED\endtrivlist\@endpefalse
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
%%%% This might be dropped, but for now is collected here
|
||||||
|
|
||||||
|
%%Solution (for exercises)
|
||||||
|
\newenvironment{solution}[1][]{\begin{proof}[\ifmkessler@proof@english{}Solution\else{}Lösung\fi{}#1]}{\end{proof}}
|
62
wip/mkessler-removed.sty
Normal file
62
wip/mkessler-removed.sty
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'removed.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-removed}[2021/10/08 - (For now]
|
||||||
|
|
||||||
|
removed parts of other packages. Not intended for use right now.)% Quotations
|
||||||
|
\RequirePackage{csquotes} % quotations
|
||||||
|
|
||||||
|
%%%% Utilities
|
||||||
|
\RequirePackage{comment} %comments
|
||||||
|
\RequirePackage{todonotes} % todo notes
|
||||||
|
\RequirePackage{blindtext} % \blindtext filling
|
||||||
|
|
||||||
|
\RequirePackage[export]{adjustbox} %
|
||||||
|
\RequirePackage{pdfpages} % Include external PDF files easily
|
||||||
|
|
||||||
|
\newcommand{\emphasize}[1]{{\color{red} #1}}
|
||||||
|
|
||||||
|
\RequirePackage{wrapfig} % Wrap text around figures
|
||||||
|
|
||||||
|
|
||||||
|
% Math-related
|
||||||
|
\RequirePackage[export]{adjustbox}
|
83
wip/mkessler-restate.sty
Normal file
83
wip/mkessler-restate.sty
Normal file
|
@ -0,0 +1,83 @@
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Copyright © 2021 Maximilian Keßler
|
||||||
|
%
|
||||||
|
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
% of this software and associated documentation files (the “Software”), to deal
|
||||||
|
% in the Software without restriction, including without limitation the rights
|
||||||
|
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
% copies of the Software, and to permit persons to whom the Software is
|
||||||
|
% furnished to do so, subject to the following conditions:
|
||||||
|
% The above copyright notice and this permission notice shall be included in all
|
||||||
|
% copies or substantial portions of the Software.
|
||||||
|
%
|
||||||
|
% THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
% SOFTWARE.
|
||||||
|
%
|
||||||
|
% This LaTeX package is free software and distributed under the MIT License. You
|
||||||
|
% may use it freely for your purposes. The latest version of the package can be
|
||||||
|
% obtained via GitHub under
|
||||||
|
% https://github.com/kesslermaximilian/LatexPackages
|
||||||
|
% For further information see the url above.
|
||||||
|
% Reportings of bugs, suggestions and improvements are welcome, see the README
|
||||||
|
% at the Git repository for further information.
|
||||||
|
%
|
||||||
|
% This package has been generated by PyTeX, available at
|
||||||
|
% https://github.com/kesslermaximilian/PyTeX
|
||||||
|
% and built from source file 'restate.pysty'.
|
||||||
|
% It is STRONGLY DISCOURAGED to edit this source file directly, since local
|
||||||
|
% changes will not be versioned by Git and overwritten by the next build. Always
|
||||||
|
% edit the source file and build the package again.
|
||||||
|
%
|
||||||
|
% Build details:
|
||||||
|
% Build time: 2021/10/08 07:41
|
||||||
|
% PyTeX version: v1.0.0 (commit dbdd99c)
|
||||||
|
% LatexPackages version: v2.1.0-12 (commit 2fcf4e2)
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{mkessler-restate}[2021/10/08 - Replacement package]
|
||||||
|
|
||||||
|
|
||||||
|
\RequirePackage{xkeyval}
|
||||||
|
\RequirePackage{todonotes}
|
||||||
|
\RequirePackage{xparse}
|
||||||
|
\RequirePackage{etoolbox}
|
||||||
|
|
||||||
|
\newif\ifmkessler@restate@english\mkessler@restate@englishtrue
|
||||||
|
\DeclareOptionX{english}{\mkessler@restate@englishtrue}
|
||||||
|
\DeclareOptionX{german}{\mkessler@restate@englishfalse}
|
||||||
|
\DeclareOptionX{ngerman}{\mkessler@restate@englishfalse}
|
||||||
|
|
||||||
|
\define@boolkey+{mkessler-restate.sty}[mkessler@restate@]{strict}[true]{
|
||||||
|
\ifmkessler@restate@strict
|
||||||
|
\PackageInfo{mkessler-restate}{Strict mode enabled. Undefined restates will throw errors.}%
|
||||||
|
\else
|
||||||
|
\PackageInfo{mkessler-restate}{Strict mode disabled. Undefined restates will now print placeholder boxes}%
|
||||||
|
\fi
|
||||||
|
}{
|
||||||
|
\PackageWarning{mkessler-restate}{Erroneous input to key 'strict' ignored. Provide =true or =false.}
|
||||||
|
}
|
||||||
|
|
||||||
|
\DeclareOptionX*{\PackageWarning{mkessler-restate}{Unknown '\CurrentOption'}}
|
||||||
|
\ProcessOptionsX\relax
|
||||||
|
|
||||||
|
|
||||||
|
\newcommand\restatesetup[1]{\setkeys{mkessler-restate.sty}{#1}}
|
||||||
|
|
||||||
|
|
||||||
|
\NewDocumentCommand{\restatetheorem}{s m}{
|
||||||
|
\ifcsdef{#2}{
|
||||||
|
\ifx#1\BooleanTrue\csname#2\endcsname*\else\csname#2\endcsname\fi
|
||||||
|
}{
|
||||||
|
\ifmkessler@restate@strict
|
||||||
|
\PackageError{mkessler-restate}{Strict mode enabled but restate command not defined}{The theorem you tried to restate is not defined. Either make sure it is so that it can be printed or disable the strict mode with \noexpand\restatesetup{strict=false} to print a placeholder instead}
|
||||||
|
\else
|
||||||
|
\missingfigure{\ifmkessler@restate@english Here theorem \textbf{#2} is missing, since it is not part of this document.\else Hier fehlt die Wiederholung von Satz \textbf{#2}, der nicht Teil dieses Dokumentes ist.\fi}
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue