summaryrefslogtreecommitdiff
path: root/macros/xetex/latex/zbmath-review-template/zbMATH.cls
blob: dc4f94c857e35865b244587874f5cd51073543a9 (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
% Copyright 2021 by FIZ-Karlsruhe
%
% This file is part of the ctan package zbmath-review-template
% and may be distributed and/or modified under the
% conditions of the GNU General Public License, version 3:
%
% https://www.gnu.org/licenses/gpl-3.0.en.html
%
% It defines the class zbMATH.
%


\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{zbMATH}

\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scartcl}}
\ProcessOptions\relax

\LoadClass[a4paper,10pt,leqno]{scrartcl}

\RequirePackage[margin=2.5cm,tmargin=2cm,bmargin=3cm]{geometry}

\RequirePackage{xcolor}

\RequirePackage[UKenglish]{babel}

\RequirePackage{scrlayer-scrpage}

\RequirePackage{graphicx}
\RequirePackage{enumitem}

\RequirePackage{xparse}
\RequirePackage{etoolbox}

\RequirePackage[hyphens]{url}

% Font selection 
\RequirePackage[no-math]{fontspec}
\setmainfont{cmun}[
  Extension      = .otf,
  UprightFont    = *rm,
  BoldFont       = *bx,
  ItalicFont     = *ti,
  BoldItalicFont = *ti,
  SlantedFont    = *sl,
  SmallCapsFont  = *rm,
  SmallCapsFeatures = {Letters=SmallCaps},
]

\RequirePackage{zb-basics}

% make footer
\newcommand{\makefooter}{
    \pagestyle{scrheadings}
\setkomafont{pageheadfoot}{
  \rmfamily
  \footnotesize
  \color[rgb]{.5,.5,.5}
}
\lofoot{%
  \makebox[\linewidth][s]{Edited by FIZ Karlsruhe, the European Mathematical Society and the Heidelberg Academy of Sciences and Humanities}\\
  \copyright{} \the\year{} FIZ Karlsruhe GmbH
}
\cofoot{}
\rofoot{\\Page \thepage}

\setlength{\parindent}{0cm}
\setlength{\parskip}{1ex}
\setlength{\parfillskip}{0pt plus 1fill}
\setlength{\footheight}{19pt}
}

% write text in zbMath Blue
\definecolor{zbMATHBlue}{rgb}{0, 0.289, 0.6}
\newcommand{\blue}[1]{\textcolor{zbMATHBlue}{#1}}

% make title
\renewcommand{\maketitle}{
    \vspace{7ex}
    \noindent {\bfseries \blue{\@author}}\\
    \textbf{\@title.}\\
    \vspace{2ex}
}

% Helper macros
\providetoggle{first}
\toggletrue{first}
\newcommand{\helper}[1]{%
    \iftoggle{first}{\blue{#1}\togglefalse{first}}{; \blue{#1}}%
}
\NewDocumentCommand{\kwx}{>{\SplitList{;}}m}{
    \ProcessList{#1}{\helper}
}

% Keywords
\newcommand{\keywords}[1]{
    \vspace{2ex}
    \textbf{Keywords:}\par\nopagebreak
    \kwx{#1}
}

% MSC
\newsavebox{\citationbox}
\newdimen{\msclen}
\NewDocumentCommand{\msc}{>{\SplitList{ }}m}{
\vspace{2ex}
\msclen=\textwidth
\advance\msclen by -\wd\citationbox
\advance\msclen by -5em
\textbf{MSC:}\par\nopagebreak
\begin{tabular}[t]{@{}lp{\msclen}}
    \ProcessList{#1}{\blueitem}
\end{tabular}
}
\newcommand\blueitem[1]{\textcolor{zbMATHBlue}{#1}\\}

% Reviewer
\newcommand{\reviewer}[1]{
    \par\nopagebreak\hspace*{0pt plus 1filll} Reviewer: \blue{#1}
}

\frenchspacing