/
qeta.sty
237 lines (203 loc) · 8.65 KB
/
qeta.sty
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
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
\usepackage{xr,xr-hyper}
\usepackage{literatedoc}
\usepackage{amsmath,amsthm,amssymb}
\theoremstyle{plain}
\newtheorem{Theorem}{Theorem}[section]
\newtheorem{Lemma}[Theorem]{Lemma}
\newtheorem{Definition}[Theorem]{Definition}
% Typeset directories and filenames.
\DeclareUrlCommand\PathName{\urlstyle{sf}}
\DeclareUrlCommand\code{\urlstyle{tt}}
% must hide ! from makeindex program
\DeclareRobustCommand{\NearParens}[2]{#1\!\left(#2\right)}
\DeclareMathOperator{\oplc}{lc} % leading coefficient
\newcommand{\lc}[2][]{\ifthenelse{\equal{#1}{}}{\oplc(#2)}{\oplc_{#1}(#2)}}
\DeclareMathOperator{\lcm}{lcm}
\DeclareMathOperator{\ord}{ord}
\DeclareMathOperator{\pord}{pord}
\DeclareMathOperator*{\prodtilde}{\widetilde{\prod}}
\DeclareMathOperator{\sign}{sgn}
\DeclareMathOperator*{\sumtilde}{\widetilde{\sum}}
\DeclareMathOperator{\support}{supp}
\DeclareMathOperator{\weight}{wt}
\newcommand{\gensum}[1][N]{\sumtilde\limits_{#1}}
\newcommand{\genprod}[1][N]{\prodtilde\limits_{#1}}
\usepackage{mathtools}
% Absolute value
\DeclarePairedDelimiter\abs{\lvert}{\rvert}
% Jacobi symbol
\newcommand{\jacobisymbol}[2]{\genfrac{(}{)}{}{}{#1}{#2}}
% Notation for size of a set.
\newcommand{\sizeOfSet}[1]{\lvert#1\rvert}
\newcommand{\divides}[2]{#1 \mid #2}
\newcommand{\RelDivisibilityMod}[1]{\trianglelefteq_{#1}}
\newcommand{\dividesMod}[3][]{#2\RelDivisibilityMod{#1}#3}
\newcommand{\Module}[2][]{\left\langle{#2}\right\rangle_{#1}}
\newcommand{\Set}[1]{\left\{#1\right\}}
\newcommand{\SetDef}[2]{\Set{{#1}\left|\,\vphantom{#1}{#2}\right.}}
\newcommand{\unityPowerSymbol}{\varepsilon}
\newcommand{\unityPower}[1]{\NearParens{\unityPowerSymbol}{#1}}
\newcommand{\unityPowerTau}[1]{\NearParens{\unityPowerSymbol^\tau}{#1}}
\newenvironment{smallpmatrix}%
{\left(\begin{smallmatrix}}%
{\end{smallmatrix}\right)}
\newcommand{\setN}{\mathbb{N}}
\newcommand{\setZ}{\mathbb{Z}}
\newcommand{\setQ}{\mathbb{Q}}
\newcommand{\setC}{\mathbb{C}}
\newcommand{\setChat}{\widehat{\setC}}
\newcommand{\setH}{\mathbb{H}}
\newcommand{\setHhat}{\widehat{\setH}}
\newcommand{\GB}{Gr\"obner basis}
\newcommand{\eg}{e.\,g.}
\newcommand{\ie}{i.\,e.}
\newcommand{\SL}[2]{\mathrm{SL}_{#1}(\csname set#2\endcsname)}
\newcommand{\algo}{\textsf}
\newcommand{\algoSamba}{\algo{samba}}
\newcommand{\algoPowerSamba}{\algo{powersamba}}
% Put reference number above equation sign.
\newcommand{\eqby}[2][=]{\stackrel{{\eqref{#2}}}{#1}}
% Abbreviation for generalized sum and product.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Define \defsequentialEnvironment (ToDo)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcounter{seqEnvCounter}
\setcounter{seqEnvCounter}{0}
\newcounter{@ToDo:}%
\newcommand{\numberenvironment}[1]{%
\refstepcounter{@#1}{\bfseries{#1}}
\addtocounter{@#1}{-1}\hyperlink{#1\roman{@#1}}{$\triangleleft$}
\addtocounter{@#1}{1}{\bfseries\arabic{@#1}}\hypertarget{#1\roman{@#1}}{}
\addtocounter{@#1}{1}\hyperlink{#1\roman{@#1}}{$\triangleright$}%
\addtocounter{@#1}{-1}}
\newcommand{\defSequentialEnvironment}[1]{%
\newcounter{@#1}%
\newenvironment{#1}%
{\begin{ColoredBackground}{#1}%
\typeout{WARNING: ToDo environment #1}%
\setlength{\leftmargin}{\ifnum0<\value{seqEnvCounter}2ex\else0pt\fi}%
\addtocounter{seqEnvCounter}{1}%
\parindent0pt\parskip\smallskipamount
\advance\linewidth -\leftmargin
\advance\@totalleftmargin \leftmargin
\parshape \@ne \@totalleftmargin \linewidth
\numberenvironment{ToDo:}%
\numberenvironment{#1}%
}%
{\addtocounter{seqEnvCounter}{-1}\end{ColoredBackground}}%
}
\usepackage{color}
\usepackage{framed}[2003/07/21 v 0.8a]%
\newenvironment{ColoredBackground}[1]%
{\def\FrameCommand{\colorbox[rgb]{1,0.7,0.4}}%
\trivlist\item\MakeFramed{}}%
{\endMakeFramed\endtrivlist}
\defSequentialEnvironment{Hemmecke}
\defSequentialEnvironment{AdditionalInformation}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{listings}
\lstnewenvironment{pseudoalgorithm}%
{\lstset{basicstyle=\footnotesize\ttfamily,mathescape=true,%
xleftmargin=2.3em,numbers=left}}
{}
\DeclareMathOperator{\reduce}{reduce}
\newcommand{\FunReduce}[3][]{\reduce^{#1}_{{#2},{#3}}}
\newcommand{\applyReduce}[4][]{\FunReduce[#1]{#3}{#4}({#2})}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% The following is from rhxterm.sty(.nw)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\rhxtermarg{\rhxtermNoOptionalArgument}
\def\rhxtermNewCommand#1#2{%
\newcommand{#1}[2][\rhxtermNoOptionalArgument]{%
\def\rhxtermgiven{##1}%
\ifx\rhxtermgiven\rhxtermarg \rhxtermTwoToThree{##2}{##2}{#2}%
\else \rhxtermTwoToThree{##1}{##2}{#2}%
\fi}}
\def\rhxtermTwoToThree#1#2#3{%
#3{\rhxtermAtSplit{#2}{\rhxfirstoftwo}}%
{\rhxtermAtSplit{#1}{\rhxsecondoftwo}}%
{#2}}
\def\rhxfirstoftwo#1#2{#1}
\def\rhxsecondoftwo#1#2{#2}
\makeatother
\def\rhxtermAtSplit#1{\rhxtermSplitAtOther#1@#1@\rhxtermAtEnd}
\def\rhxtermSplitAtOther#1@#2@#3\rhxtermAtEnd{%
\if &\expandafter\rhxtermAtSplitLetter
\else \expandafter\rhxtermApplyThird\fi
{#1}{#2}}
\makeatletter
\def\rhxtermAtSplitLetter#1#2{\rhxtermSplitAtLetter#1@#1@\rhxtermAtEnd}
\def\rhxtermSplitAtLetter#1@#2@#3\rhxtermAtEnd{\rhxtermApplyThird{#1}{#2}}
\def\rhxtermApplyThird#1#2#3{#3{#1}{#2}}
\newcommand{\rhxDefineTerm}[3]{%
\hypertarget{dt:#1}{\defineTermStyle{#2}}%
\label{!#1}%
\index{#3|defineTermPage}%
}
\newcommand{\rhxUseTerm}[3]{%
\@ifundefined{r@!#1}% corresponds to \label{!#1} above
{\useTermStyle{#2}}%
{\hyperlink{dt:#1}{\useTermStyle{#2}}}%
\index{#3}%
}
\rhxtermNewCommand{\defineterm}{\rhxDefineTerm}
\rhxtermNewCommand{\useterm}{\rhxUseTerm}
\newcommand{\defineTermPage}[1]{\defineTermStyle{\hyperpage{#1}}}
\newcommand{\defineTermStyle}[1]{\textbf{#1}}
\newcommand{\useTermStyle}[1]{\emph{#1}}
\@ifundefined{hyperlink}{\def\hyperlink#1#2{#2}}{}
\@ifundefined{hypertarget}{\def\hypertarget#1#2{#2}}{}
\@ifundefined{hyperpage}{\def\hyperpage#1{#1}}{}
\let\rhxtermtableofcontents\tableofcontents
\def\tableofcontents{{%
\renewcommand{\rhxDefineTerm}[3]{\defineTermStyle{##2}}%
\renewcommand{\rhxUseTerm}[3]{\useTermStyle{##2}}%
\rhxtermtableofcontents}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\defineNotation}[2][$$]{%
\colorbox[rgb]{1,0.8,1}{\ensuremath{#2}}\index{#1@\ensuremath{#2}}}
\renewcommand{\defineTermStyle}[1]{\colorbox[rgb]{1,0.8,1}{\textbf{#1}}}
\renewcommand{\useTermStyle}[1]{#1}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[backend=biber]{biblatex}
\addbibresource{qeta.bib}
% \bibliographystyle{alphaurl}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{showlabels}
% Euler totient function
\newcommand{\eulerphi}{\varphi}
% Abbreviation for \sum_{\divides{\delta}{#1}}\delta {#2}_\delta
\newcommand{\sigmaxy}[4]{#1\sigma_{#2}^{#3}{(#4)}}
\newcommand{\sigmainfty}[2][M]{\sigmaxy{}{\infty}{#1}{#2}}
\newcommand{\sigmainftybar}[2][M]{\sigmaxy{\bar}{\infty}{#1}{#2}}
\newcommand{\sigmainftytilde}[2][M]{\sigmaxy{\tilde}{\infty}{#1}{#2}}
\newcommand{\sigmazero}[2][M]{\sigmaxy{}{0}{#1}{#2}}
\newcommand{\sigmazerobar}[2][M]{\sigmaxy{\bar}{0}{#1}{#2}}
\newcommand{\sigmazerotilde}[2][M]{\sigmaxy{\tilde}{0}{#1}{#2}}
\newcommand{\divisorsum}[2][\delta]{\sum_{\divides{#1}{#2}}}
\newcommand{\divisorprod}[2][\delta]{\prod_{\divides{#1}{#2}}}
% The q-Pochhammer symbol
% https://en.wikipedia.org/wiki/Q-Pochhammer_symbol (for n=\infty)
\newcommand{\qPochhammer}[3][\infty]{\left( #2;#3 \right)_{#1}}
\newcommand{\eulerFunction}[2][q]{\left({#1}^{#2}\right)_{\infty}}
\newcommand{\jacobiFunction}[2]{\NearParens{J}{#1,#2}}
\newcommand{\jacobiAlpha}[3]{\NearParens{J}{#1,#2,#3}}
\newcommand{\jacobiSchoeneberg}[3]{\NearParens{J^{[S]}}{#1,#2,#3}}
\newcommand{\alphaSchoenebergContribution}[2]{\NearParens{\alpha^{[S]}}{#1,#2}}
\newcommand{\etaRobins}[1]{\eta^{[R]}_{#1}}
\newcommand{\etaSchoeneberg}[1]{\eta^{[S]}_{#1}}
\newcommand{\setS}{\mathbb{S}}
\newcommand{\modularOrbit}[1]{\mathcal{O}_{#1}}
\DeclareMathOperator{\trace}{tr}
\usepackage{makeidx}
\makeindex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\QEta}{\href{https://hemmecke.github.io/qeta}{QEta}}
\newcommand{\QEtaapiurl}{https://hemmecke.github.io/qeta/api}
\newcommand{\qetafun}[2]{\href{\QEtaapiurl/#2.html?highlight=#1}{#1}}
\newcommand{\qetatype}[1]{\href{\QEtaapiurl/#1.html}{#1}}
\newcommand{\FriCAS}{\href{https://fricas.github.io}{FriCAS}}
\newcommand{\FriCASapiurl}{https://hemmecke.github.io/qeta/api}
\newcommand{\fricasfun}[2]{\href{\FriCASapiurl/#1.html?highlight=#2}{#2}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\AtEndDocument{\printbibliography\printindex}