summaryrefslogtreecommitdiffstats
path: root/skript.cls
blob: cb2247b181ffbb1b5b0134fc062a6b0bce554d75 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
\NeedsTeXFormat{LaTeX2e}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrbook}}
\ProcessOptions\relax
\LoadClass{scrbook}
\ProvidesClass{skript}

\RequirePackage{tikz}
\usetikzlibrary{babel}
\RequirePackage{tikz-cd}
\tikzcdset{arrow style=tikz, diagrams={>=stealth}}

\RequirePackage{ifxetex,ifluatex}
\newif\ifxetexorluatex
\ifxetex
  \xetexorluatextrue
\else
  \ifluatex
    \xetexorluatextrue
  \else
    \xetexorluatexfalse
  \fi
\fi

\RequirePackage{scrlayer-scrpage}

\RequirePackage{gitinfo}

\RequirePackage{mathtools}
\RequirePackage{amsmath,  amssymb}

\ifxetexorluatex
    \RequirePackage[babelshorthands]{polyglossia}
    \setdefaultlanguage{german}
    \setmainfont{Libertinus Serif}
    \RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
    \setmathfont[AutoFakeBold]{Libertinus Math}
    \setmathfont[AutoFakeBold,range={\rightarrow,\leftarrow,\rightharpoonup,\rightharpoondown,\leftharpoondown,\leftharpoonup}]{texgyretermes-math.otf}
    \setmathfont[AutoFakeBold,range={\Vert,\lbrace,\rbrace,\vert}]{xits-math.otf}
    \setmathfont[AutoFakeBold,range={\BbbN,\BbbR,\BbbC,\BbbZ,\mathbb,\int}]{XITS Math}
    % \setmathfont{latinmodern-math.otf}[range={cal,bfcal}]
\else
    \RequirePackage[ngerman]{babel}
    \RequirePackage[utf8]{inputenc}
    \RequirePackage{uniinput}
    \RequirePackage[sb,tt=false]{libertine}
    \RequirePackage[libertine]{newtxmath}
    \RequirePackage[cal=zapfc,bb=boondox]{mathalfa}
    \RequirePackage[T1]{fontenc}
    \def\lAngle{\langle\langle}
    \def\rAngle{\rangle\rangle}
\fi
% fonts
\setkomafont{disposition}{\rmfamily}


% fonts
\RequirePackage{setspace}
\setstretch{1.1}
\setlength\parskip{4pt}
\setlength\parindent{0pt}

\RequirePackage[amsmath, thmmarks, framed]{ntheorem}
\RequirePackage[framemethod=tikz]{mdframed}

\RequirePackage[unicode,colorlinks]{hyperref}
\RequirePackage[capitalise, nameinlink]{cleveref}

\pagestyle{scrheadings}
\clearscrheadfoot
\ohead{\headmark}
\cfoot{\pagemark}
\ifoot{\tiny Revision\gitVtags: \gitAbbrevHash{} (\gitAuthorDate)}
\automark{section}

\RequirePackage[
    backend=biber,
    style=alphabetic,
    giveninits,
    url=true,
    ]{biblatex}

\usepackage{enumitem}
\setenumerate{label=(\alph*)}

\makeatletter
\makeatletter 
 \newtheoremstyle{mychange}%
  {\item[\hskip\labelsep \theorem@headerfont (##2)\ ##1\theorem@separator]}%
  {\item[\hskip\labelsep \theorem@headerfont (##2)\ ##1\ (##3)\theorem@separator]}
 \newtheoremstyle{nonumbermychange}%
  {\item[\hskip\labelsep \theorem@headerfont ##1\theorem@separator]}%
  {\item[\hskip\labelsep \theorem@headerfont ##1\ (##3)\theorem@separator]}
\makeatother
\DeclareDocumentCommand\newmdtheoremenv{s O{} m o m o }{%
\IfBooleanTF{#1}{%
   \newtheorem*{#3}{#5}%
 }{%
 \ifboolexpr{ test {\IfNoValueTF {#4}} and test {\IfNoValueTF {#6}} }%
    {\newtheorem{#3}{#5}}{%
     \IfValueTF{#4}{\newtheorem{#3}[#4]{#5}}{}%
     \IfValueTF{#6}{\newtheorem{#3}{#5}[#6]}{}%
    }
  }%
  \BeforeBeginEnvironment{#3}{%
     \begin{mdframed}[#2]}%
  \AfterEndEnvironment{#3}{%
     \end{mdframed}}%
}
\newcounter{defsatzusw}
\def\newthm#1#2{
    \newmdtheoremenv[ntheorem,
    leftmargin=1em,
    linewidth=6pt,
    % linecolor=myurlcolor!20,
    linecolor=black!20,
    leftline=true, rightline=false, bottomline=false, topline=false,
    innerleftmargin=1em,
    ]{#1}[defsatzusw]{#2}
    \newmdtheoremenv*[ntheorem,
    leftmargin=1em,
    linewidth=6pt,
    % linecolor=myurlcolor!20,
    linecolor=black!20,
    leftline=true, rightline=false, bottomline=false, topline=false,
    innerleftmargin=1em,
    ]{#1-nn}{#2}
}
\def\newdef#1#2{\newtheorem{#1}[defsatzusw]{#2}\newtheorem*{#1-nn}{#2}}
\theoremseparator{.}
\numberwithin{defsatzusw}{section}
% kursive schrift
\theorembodyfont{\normalfont}
\theoremstyle{mychange}
\newthm{satz}{Satz}
\newthm{lemma}{Lemma}
\newthm{korollar}{Korollar}
\newthm{folgerung}{Folgerung}
\newthm{hilfssatz}{Hilfssatz}
\newthm{proposition}{Proposition}
% aufrechte schrift
\theorembodyfont{\normalfont}
\newthm{bezeichnung}{Bezeichnung}
\newthm{bezeichnungen}{Bezeichnungen}
\newthm{voraussetzung}{Voraussetzung}
\newthm{voraussetzungen}{Voraussetzungen}
\newdef{bemerkung}{Bemerkung}
\newdef{bemerkungen}{Bemerkungen}
\newdef{definition}{Definition}
\newdef{warnung}{Warnung}
\newdef{frage}{Frage}
\newdef{erinnerung}{Erinnerung}
\newdef{beispiel}{Beispiel}
\newdef{beispiele}{Beispiele}
\newdef{problem}{Problem}

\theoremstyle{nonumberplain}
\theoremheaderfont{\itshape}
\theorembodyfont{\normalfont}
\theoremseparator{.}
% \theoremsymbol{\scalebox{0.8}{\ensuremath{\blacksquare}}}
\theoremsymbol{\nolinebreak[1]\hspace*{.5em plus 1fill}\scalebox{0.8}{\ensuremath{\blacksquare}}}
\newtheorem{proof}{Beweis}
\newtheorem{beweis}{Beweis}

\renewcommand{\thesection}{\arabic{section}}
\renewcommand\sectionformat{\S \thesection\autodot \hspace{1ex}}

\endinput