pyeasyphd 0.3.1__tar.gz → 0.3.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pyeasyphd might be problematic. Click here for more details.

Files changed (48) hide show
  1. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/PKG-INFO +1 -1
  2. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/data/Templates/TEX/Beamer_Header.tex +1 -2
  3. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/data/Templates/TEX/Style.tex +16 -25
  4. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/data/Templates/TEX/math.tex +9 -4
  5. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/data/Templates/TEX/math_commands.tex +9 -5
  6. pyeasyphd-0.3.3/pyeasyphd/data/Templates/TEX/nextaimathmacros.sty +681 -0
  7. pyeasyphd-0.3.3/pyeasyphd/scripts/run_beamer_tex.py +105 -0
  8. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyproject.toml +1 -1
  9. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/LICENSE +0 -0
  10. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/README.md +0 -0
  11. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/.python-version +0 -0
  12. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/Main.sublime-menu +0 -0
  13. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/__init__.py +0 -0
  14. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/data/Templates/CSL/apa-no-ampersand.csl +0 -0
  15. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/data/Templates/CSL/apa.csl +0 -0
  16. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/data/Templates/CSL/ieee.csl +0 -0
  17. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/data/Templates/TEX/Article.tex +0 -0
  18. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/data/Templates/TEX/Article_Header.tex +0 -0
  19. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/data/Templates/TEX/Article_Tail.tex +0 -0
  20. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/data/Templates/TEX/Beamer_Tail.tex +0 -0
  21. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/data/Templates/TEX/TEVC_Header.tex +0 -0
  22. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/data/Templates/TEX/TEVC_Tail.tex +0 -0
  23. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/data/Templates/TEX/eisvogel.beamer +0 -0
  24. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/data/Templates/TEX/eisvogel.latex +0 -0
  25. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/data/Templates/TEX/eisvogel.tex +0 -0
  26. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/main/__init__.py +0 -0
  27. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/main/basic_input.py +0 -0
  28. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/main/pandoc_md_to.py +0 -0
  29. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/main/python_run_md.py +0 -0
  30. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/main/python_run_tex.py +0 -0
  31. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/pyeasyphd.py +0 -0
  32. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/pyeasyphd.sublime-settings +0 -0
  33. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/pyeasyphd.sublime-syntax +0 -0
  34. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/scripts/run_article_md.py +0 -0
  35. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/scripts/run_article_tex.py +0 -0
  36. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/tools/__init__.py +0 -0
  37. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/tools/generate/generate_from_bibs.py +0 -0
  38. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/tools/generate/generate_html.py +0 -0
  39. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/tools/generate/generate_library.py +0 -0
  40. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/tools/generate/generate_links.py +0 -0
  41. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/tools/py_run_bib_md_tex.py +0 -0
  42. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/tools/search/data.py +0 -0
  43. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/tools/search/search_base.py +0 -0
  44. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/tools/search/search_core.py +0 -0
  45. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/tools/search/search_keywords.py +0 -0
  46. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/tools/search/search_writers.py +0 -0
  47. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/tools/search/utils.py +0 -0
  48. {pyeasyphd-0.3.1 → pyeasyphd-0.3.3}/pyeasyphd/utils/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyeasyphd
3
- Version: 0.3.1
3
+ Version: 0.3.3
4
4
  Summary: pyeasyphd
5
5
  License: GPL-3.0-or-later
6
6
  License-File: LICENSE
@@ -1,6 +1,6 @@
1
1
  % \RequirePackage[l2tabu, orthodox]{nag} % https://ctan.org/pkg/nag: Detecting and warning about obsolete LATEX commands
2
2
  \RequirePackage{fix-cm} % https://ctan.org/pkg/fix-cm?lang=en: Permit Computer Modern fonts at arbitrary sizes
3
- \documentclass[10.5pt]{beamer}
3
+ \documentclass[11pt]{beamer}
4
4
 
5
5
  %------------------------------------------------------------------------------
6
6
  % https://www.overleaf.com/learn/latex/Beamer
@@ -51,7 +51,6 @@
51
51
  \setbeamertemplate{itemize items}[triangle] % default triangle, cicrle, square, ball
52
52
  \setbeamertemplate{enumerate items}[circle] % default triangle, circle, square, ball
53
53
  \setbeamertemplate{theorems}[numbered]
54
- \setbeamertemplate{caption}[numbered]
55
54
  \setbeamertemplate{blocks}[rounded][shadow=true]
56
55
  \setbeamercolor{block title}{fg=black,bg=cyan!45!white}
57
56
  \setbeamercolor{block body}{fg=black,bg=cyan!10!white}
@@ -1,15 +1,20 @@
1
1
  %------------------------------------------------------------------------------
2
2
  %% https://ctan.org/pkg/
3
3
  %% Geometry
4
- \usepackage{geometry}
5
- % \geometry{a4paper,scale=0.9}
6
- \usepackage{fancyhdr} % Extensive control of page headers and footers
4
+ \makeatletter
5
+ \@ifclassloaded{beamer}{%
6
+ }{%
7
+ \usepackage{geometry}
8
+ \usepackage{fancyhdr} % Extensive control of page headers and footers
9
+ }
10
+ \makeatother
7
11
 
8
12
  %% Font
9
13
  \ifx\cn\undefined
10
14
  \usepackage[utf8]{inputenc} % Required for inputting international characters, allow utf-8 input
11
15
  \usepackage[T1]{fontenc} % Output font encoding for international characters, use 8-bit T1 fonts
12
16
  % \usepackage[default]{sourcesanspro} % https://fonts.adobe.com/fonts/source-sans#fonts-section
17
+ \usepackage{lmodern} % The Latin Modern family is a recent collection of fonts.
13
18
  \else
14
19
  \usepackage[UTF8]{ctex}
15
20
  \newcommand{\chuhao}{\fontsize{42pt}{1.25\baselineskip}\selectfont} %初号
@@ -25,8 +30,6 @@
25
30
  \newcommand{\liuhao}{\fontsize{7.875pt}{1.25\baselineskip}\selectfont} %六号
26
31
  \newcommand{\qihao}{\fontsize{5.25pt}{1.25\baselineskip}\selectfont} %七号
27
32
  \fi
28
- \usepackage{microtype} % Subliminal refinements towards typographical perfection
29
- \usepackage{lmodern} % The Latin Modern family is a recent collection of fonts.
30
33
 
31
34
  %% Algorithm
32
35
  % https://www.overleaf.com/learn/latex/Algorithms
@@ -79,19 +82,19 @@
79
82
 
80
83
  %% Math
81
84
  \usepackage{bm} % https://www.ctan.org/pkg/bm
82
- \usepackage{amsmath} % https://www.ctan.org/pkg/amsmath
83
- \usepackage{amsfonts} % https://www.ctan.org/pkg/amsfonts
85
+ % \usepackage{amsmath} % https://www.ctan.org/pkg/amsmath
86
+ % loads amsmath automatically
87
+ \usepackage{mathtools} % https://www.ctan.org/pkg/mathtools. Based on amsmath.
88
+ % \usepackage{amsfonts} % https://www.ctan.org/pkg/amsfonts
89
+ % loads amsfonts automatically
84
90
  \usepackage{amssymb} % https://latexstudio.net/hulatex/package/maths-1.htm. Contained in amsfonts.
85
91
  \usepackage{amsthm} % https://www.ctan.org/pkg/amsthm. Facilitates the kind of theorem setup typically needed in AMS Publications.
86
- \usepackage{mathrsfs}
92
+ \usepackage{mathrsfs} % \mathscr
87
93
  \usepackage{csquotes} % Provides advanced facilities for inline and display quotations.
88
- \usepackage{siunitx} % Ensure that the combined mathematical meaning of the value plus unit combination is clear.
89
- \usepackage{mathtools} % https://www.ctan.org/pkg/mathtools. Based on amsmath.
90
94
  \usepackage{nicefrac} % Compact symbols for 1/2, etc.
91
95
 
92
96
  %% Color
93
97
  % cyan, magenta, darkgray, lightgray, brown, orange, lime, purple, teal, violet and pink
94
- \usepackage{color}
95
98
  \usepackage{xcolor} % The package allows rows and columns to be coloured, and even individual cells.
96
99
  \usepackage{colortbl} % Fill color
97
100
 
@@ -101,14 +104,8 @@
101
104
  \usepackage{float} % Improves the interface for defining floating objects such as figures and tables.
102
105
 
103
106
  %% Figure
104
- \usepackage{graphicx}
105
- \usepackage{graphics}
106
- \graphicspath{{./}
107
- {./figure/}{./figures/}{./image/}{./images/}{./graphics/}{./graphic/}{./pictures/}{./picture/}
108
- {./Figure/}{./Figures/}{./Image/}{./Images/}{./Graphics/}{./Graphic/}{./Pictures/}{./Picture/}
109
- {./fig}{./figs}{./img}{./imgs}
110
- {./Fig}{./Figs}{./Img}{./Imgs}
111
- }
107
+ \usepackage{graphicx} % no need for \usepackage{graphics}
108
+ \graphicspath{{./}{./figures/}{./images/}{./figs}{./imgs}}
112
109
  \usepackage{pgf} % PGF is a macro package for creating graphics.
113
110
  \usepackage{wrapfig}
114
111
  \usepackage{standalone}
@@ -239,11 +236,5 @@
239
236
  \usepackage{ifthen} % Conditional commands in LATEX documents
240
237
  \usepackage{pdfpages} % Simplifies the inclusion of external multi-page PDF documents in LATEX documents.
241
238
  \usepackage{verbatim} % (that skips everything between \begin{comment} and \end{comment})
242
- \usepackage{pstricks} % PSTricks offers an extensive collection of macros for generating PostScript
243
239
  \usepackage[english]{babel} % Manages culturally-determined typographical (and other) rules for a wide range of languages.
244
- \usepackage{makeidx} % Standard package for creating indexes, and Provides two new commands, \see and \printindex.
245
- \usepackage{rotating} % Rotation tools, including rotated full-page floats
246
- \usepackage{bbm} % Provide LaTex support for Blackboard varients of Computer Modern fonts.
247
- \usepackage{soul} % Find hypen automatically
248
- \usepackage{url} % Allow linebreaks at certain characters or combinations of characters. (simple URL typesetting)
249
240
  \usepackage{enumitem}
@@ -1,6 +1,6 @@
1
1
  \section{Math Symbols}
2
2
 
3
- \begin{table}[h!]
3
+ \begin{table}[!htbp]
4
4
  \caption{Math Symbols}
5
5
  \resizebox{\textwidth}{!}
6
6
  {
@@ -86,10 +86,10 @@ $\displaystyle \rmA$ & A matrix-valued random variable \\
86
86
  \egroup
87
87
  \vspace{0.5cm}
88
88
 
89
+ \clearpage
89
90
  \centering{\textbf {Sets and Graphs}}
90
91
  \bgroup
91
92
  \def\arraystretch{1.5}
92
-
93
93
  \begin{tabular}{p{1.5in}p{3.5in}}
94
94
  $\displaystyle \sA$ & A set \\
95
95
  $\displaystyle \sR$ & The set of real numbers \\
@@ -103,6 +103,7 @@ $\displaystyle \parents_\gG(\ervx_i)$ & The parents of $\ervx_i$ in $\gG$
103
103
  \end{tabular}
104
104
  \vspace{0.5cm}
105
105
 
106
+ \clearpage
106
107
  \centering{\textbf {Indexing}}
107
108
  \bgroup
108
109
  \def\arraystretch{1.5}
@@ -119,6 +120,7 @@ $\displaystyle \erva_i$ & Element $i$ of the random vector $\rva$ \\
119
120
  \egroup
120
121
  \vspace{0.5cm}
121
122
 
123
+ \clearpage
122
124
  \centering{\textbf {Calculus}}
123
125
  \bgroup
124
126
  \def\arraystretch{1.5}
@@ -139,6 +141,7 @@ $\displaystyle \int_\sS f(\vx) d\vx$ & Definite integral with respect to $\vx$ o
139
141
  \egroup
140
142
  \vspace{0.5cm}
141
143
 
144
+ \clearpage
142
145
  \centering{\textbf {Probability and Information Theory}}
143
146
  \bgroup
144
147
  \def\arraystretch{1.5}
@@ -156,14 +159,15 @@ $\displaystyle \mathcal{N} ( \vx ; \vmu , \mSigma)$ & Gaussian distribution % ov
156
159
  \egroup
157
160
  \vspace{0.5cm}
158
161
 
162
+ \clearpage
159
163
  \centering{\textbf {Functions}}
160
164
  \bgroup
161
165
  \def\arraystretch{1.5}
162
166
  \begin{tabular}{p{1.5in}p{3.5in}}
163
167
  $\displaystyle f: \sA \rightarrow \sB$ & The function $f$ with domain $\sA$ and range $\sB$ \\
164
168
  $\displaystyle f \circ g $ & Composition of the functions $f$ and $g$ \\
165
- $\displaystyle f(\vx ; \vtheta) $ & A function of $\vx$ parametrized by $\vtheta$.
166
- (Sometimes we write $f(\vx)$ and omit the argument $\vtheta$ to lighten notation) \\
169
+ $\displaystyle f(\vx ; \vtheta) $ & A function of $\vx$ parametrized by $\vtheta$.
170
+ (Sometimes we write $f(\vx)$ and omit the argument $\vtheta$ to lighten notation) \\
167
171
  $\displaystyle \log x$ & Natural logarithm of $x$ \\
168
172
  $\displaystyle \sigma(x)$ & Logistic sigmoid, $\displaystyle \frac{1} {1 + \exp(-x)}$ \\
169
173
  $\displaystyle \zeta(x)$ & Softplus, $\log(1 + \exp(x))$ \\
@@ -175,6 +179,7 @@ $\displaystyle \bm{1}_\mathrm{condition}$ & is 1 if the condition is true, 0 oth
175
179
  \egroup
176
180
  \vspace{0.5cm}
177
181
 
182
+ \clearpage
178
183
  \centering{\textbf {Machine Learning}}
179
184
  \bgroup
180
185
  \def\arraystretch{1.5}
@@ -1,3 +1,11 @@
1
+ %%%-------------------------------------------------------------------------%%%
2
+ % Required packages
3
+ \usepackage{amsmath}
4
+
5
+ % Set up tensor font
6
+ \DeclareMathAlphabet{\mathsfit}{\encodingdefault}{\sfdefault}{m}{sl}
7
+ \SetMathAlphabet{\mathsfit}{bold}{\encodingdefault}{\sfdefault}{bx}{n}
8
+
1
9
  %%%-------------------------------------------------------------------------%%%
2
10
  %% Remark
3
11
  % \em is useful for long texts (\emph e.g. doesn't allow the argument to contain a \par). The commands differ (like the \textit/\itshape) in their handling of the italic correction
@@ -8,8 +16,6 @@
8
16
  %%%-------------------------------------------------------------------------%%%
9
17
  %% Optional math commands from https://github.com/goodfeli/dlbook_notation/blob/master/math_commands.tex
10
18
 
11
- \usepackage{amsmath}
12
-
13
19
  %% Math Symbols (def)
14
20
  % Vectors % Elements of vectors % Matrix % Entries of a matrix
15
21
  \newcommand{\va}{{\bm{a}}} \newcommand{\eva}{{a}} \newcommand{\mA}{{\bm{A}}} \newcommand{\emA}{{A}}
@@ -57,7 +63,7 @@
57
63
  \newcommand{\rn}{{\textnormal{n}}}
58
64
  \newcommand{\ro}{{\textnormal{o}}}
59
65
  \newcommand{\rp}{{\textnormal{p}}}
60
- % rm is already a command, just don't name any random variables q
66
+ % rq is already a command, just don't name any random variables q
61
67
  \newcommand{\rqq}{{\textnormal{q}}}
62
68
  \newcommand{\rr}{{\textnormal{r}}}
63
69
  \newcommand{\rs}{{\textnormal{s}}}
@@ -127,8 +133,6 @@
127
133
  \newcommand{\sZ}{{\mathbb{Z}}} \newcommand{\gZ}{{\mathcal{Z}}}
128
134
 
129
135
  % Tensor
130
- \DeclareMathAlphabet{\mathsfit}{\encodingdefault}{\sfdefault}{m}{sl}
131
- \SetMathAlphabet{\mathsfit}{bold}{\encodingdefault}{\sfdefault}{bx}{n}
132
136
  \newcommand{\tens}[1]{\bm{\mathsfit{#1}}} % Tensor
133
137
  \newcommand{\etens}[1]{\mathsfit{#1}} % Same font as tensor, without \bm wrapper
134
138
  % Tensor % Entries of a tensor
@@ -0,0 +1,681 @@
1
+ % nextaimathmacros.sty
2
+ \NeedsTeXFormat{LaTeX2e}
3
+ \ProvidesPackage{nextaimathmacros}[2025/10/20 Custom Math Symbols and Macros]
4
+
5
+ %%%-------------------------------------------------------------------------%%%
6
+ % Required packages
7
+ \RequirePackage{amsmath}
8
+
9
+ % Set up tensor font
10
+ \DeclareMathAlphabet{\mathsfit}{\encodingdefault}{\sfdefault}{m}{sl}
11
+ \SetMathAlphabet{\mathsfit}{bold}{\encodingdefault}{\sfdefault}{bx}{n}
12
+
13
+ %%%-------------------------------------------------------------------------%%%
14
+ %% Remark
15
+ % \em is useful for long texts (\emph e.g. doesn't allow the argument to contain a \par). The commands differ (like the \textit/\itshape) in their handling of the italic correction
16
+ % \def is a TeX primitive, \newcommand is a LaTeX overlay on top of \def. The most obvious benefits of \newcommand over \def are:
17
+ % \newcommand checks whether or not the command already exists
18
+ % \newcommand allows you to define an optional argument
19
+
20
+ %%%-------------------------------------------------------------------------%%%
21
+ %% Optional math commands from https://github.com/goodfeli/dlbook_notation/blob/master/math_commands.tex
22
+
23
+ %% Math Symbols (def)
24
+ % Vectors % Elements of vectors % Matrix % Entries of a matrix
25
+ \newcommand{\va}{{\bm{a}}} \newcommand{\eva}{{a}} \newcommand{\mA}{{\bm{A}}} \newcommand{\emA}{{A}}
26
+ \newcommand{\vb}{{\bm{b}}} \newcommand{\evb}{{b}} \newcommand{\mB}{{\bm{B}}} \newcommand{\emB}{{B}}
27
+ \newcommand{\vc}{{\bm{c}}} \newcommand{\evc}{{c}} \newcommand{\mC}{{\bm{C}}} \newcommand{\emC}{{C}}
28
+ \newcommand{\vd}{{\bm{d}}} \newcommand{\evd}{{d}} \newcommand{\mD}{{\bm{D}}} \newcommand{\emD}{{D}}
29
+ \newcommand{\ve}{{\bm{e}}} \newcommand{\eve}{{e}} \newcommand{\mE}{{\bm{E}}} \newcommand{\emE}{{E}}
30
+ \newcommand{\vf}{{\bm{f}}} \newcommand{\evf}{{f}} \newcommand{\mF}{{\bm{F}}} \newcommand{\emF}{{F}}
31
+ \newcommand{\vg}{{\bm{g}}} \newcommand{\evg}{{g}} \newcommand{\mG}{{\bm{G}}} \newcommand{\emG}{{G}}
32
+ \newcommand{\vh}{{\bm{h}}} \newcommand{\evh}{{h}} \newcommand{\mH}{{\bm{H}}} \newcommand{\emH}{{H}}
33
+ \newcommand{\vi}{{\bm{i}}} \newcommand{\evi}{{i}} \newcommand{\mI}{{\bm{I}}} \newcommand{\emI}{{I}}
34
+ \newcommand{\vj}{{\bm{j}}} \newcommand{\evj}{{j}} \newcommand{\mJ}{{\bm{J}}} \newcommand{\emJ}{{J}}
35
+ \newcommand{\vk}{{\bm{k}}} \newcommand{\evk}{{k}} \newcommand{\mK}{{\bm{K}}} \newcommand{\emK}{{K}}
36
+ \newcommand{\vl}{{\bm{l}}} \newcommand{\evl}{{l}} \newcommand{\mL}{{\bm{L}}} \newcommand{\emL}{{L}}
37
+ \newcommand{\vm}{{\bm{m}}} \newcommand{\evm}{{m}} \newcommand{\mM}{{\bm{M}}} \newcommand{\emM}{{M}}
38
+ \newcommand{\vn}{{\bm{n}}} \newcommand{\evn}{{n}} \newcommand{\mN}{{\bm{N}}} \newcommand{\emN}{{N}}
39
+ \newcommand{\vo}{{\bm{o}}} \newcommand{\evo}{{o}} \newcommand{\mO}{{\bm{O}}} \newcommand{\emO}{{O}}
40
+ \newcommand{\vp}{{\bm{p}}} \newcommand{\evp}{{p}} \newcommand{\mP}{{\bm{P}}} \newcommand{\emP}{{P}}
41
+ \newcommand{\vq}{{\bm{q}}} \newcommand{\evq}{{q}} \newcommand{\mQ}{{\bm{Q}}} \newcommand{\emQ}{{Q}}
42
+ \newcommand{\vr}{{\bm{r}}} \newcommand{\evr}{{r}} \newcommand{\mR}{{\bm{R}}} \newcommand{\emR}{{R}}
43
+ \newcommand{\vs}{{\bm{s}}} \newcommand{\evs}{{s}} \newcommand{\mS}{{\bm{S}}} \newcommand{\emS}{{S}}
44
+ \newcommand{\vt}{{\bm{t}}} \newcommand{\evt}{{t}} \newcommand{\mT}{{\bm{T}}} \newcommand{\emT}{{T}}
45
+ \newcommand{\vu}{{\bm{u}}} \newcommand{\evu}{{u}} \newcommand{\mU}{{\bm{U}}} \newcommand{\emU}{{U}}
46
+ \newcommand{\vv}{{\bm{v}}} \newcommand{\evv}{{v}} \newcommand{\mV}{{\bm{V}}} \newcommand{\emV}{{V}}
47
+ \newcommand{\vw}{{\bm{w}}} \newcommand{\evw}{{w}} \newcommand{\mW}{{\bm{W}}} \newcommand{\emW}{{W}}
48
+ \newcommand{\vx}{{\bm{x}}} \newcommand{\evx}{{x}} \newcommand{\mX}{{\bm{X}}} \newcommand{\emX}{{X}}
49
+ \newcommand{\vy}{{\bm{y}}} \newcommand{\evy}{{y}} \newcommand{\mY}{{\bm{Y}}} \newcommand{\emY}{{Y}}
50
+ \newcommand{\vz}{{\bm{z}}} \newcommand{\evz}{{z}} \newcommand{\mZ}{{\bm{Z}}} \newcommand{\emZ}{{Z}}
51
+
52
+ % Random variables
53
+ \newcommand{\ra}{{\textnormal{a}}}
54
+ \newcommand{\rb}{{\textnormal{b}}}
55
+ \newcommand{\rc}{{\textnormal{c}}}
56
+ \newcommand{\rd}{{\textnormal{d}}}
57
+ \newcommand{\re}{{\textnormal{e}}}
58
+ \newcommand{\rf}{{\textnormal{f}}}
59
+ \newcommand{\rg}{{\textnormal{g}}}
60
+ \newcommand{\rh}{{\textnormal{h}}}
61
+ \newcommand{\ri}{{\textnormal{i}}}
62
+ \newcommand{\rj}{{\textnormal{j}}}
63
+ \newcommand{\rk}{{\textnormal{k}}}
64
+ \newcommand{\rl}{{\textnormal{l}}}
65
+ % rm is already a command, just don't name any random variables m
66
+ \newcommand{\rmm}{{\textnormal{m}}}
67
+ \newcommand{\rn}{{\textnormal{n}}}
68
+ \newcommand{\ro}{{\textnormal{o}}}
69
+ \newcommand{\rp}{{\textnormal{p}}}
70
+ % rq is already a command, just don't name any random variables q
71
+ \newcommand{\rqq}{{\textnormal{q}}}
72
+ \newcommand{\rr}{{\textnormal{r}}}
73
+ \newcommand{\rs}{{\textnormal{s}}}
74
+ \newcommand{\rt}{{\textnormal{t}}}
75
+ \newcommand{\ru}{{\textnormal{u}}}
76
+ \newcommand{\rv}{{\textnormal{v}}}
77
+ \newcommand{\rw}{{\textnormal{w}}}
78
+ \newcommand{\rx}{{\textnormal{x}}}
79
+ \newcommand{\ry}{{\textnormal{y}}}
80
+ \newcommand{\rz}{{\textnormal{z}}}
81
+
82
+ % Random vectors % Elements of random vectors % Random matrices % Elements of random matrices
83
+ \newcommand{\rva}{{\mathbf{a}}} \newcommand{\erva}{{\textnormal{a}}} \newcommand{\rmA}{{\mathbf{A}}} \newcommand{\ermA}{{\textnormal{A}}}
84
+ \newcommand{\rvb}{{\mathbf{b}}} \newcommand{\ervb}{{\textnormal{b}}} \newcommand{\rmB}{{\mathbf{B}}} \newcommand{\ermB}{{\textnormal{B}}}
85
+ \newcommand{\rvc}{{\mathbf{c}}} \newcommand{\ervc}{{\textnormal{c}}} \newcommand{\rmC}{{\mathbf{C}}} \newcommand{\ermC}{{\textnormal{C}}}
86
+ \newcommand{\rvd}{{\mathbf{d}}} \newcommand{\ervd}{{\textnormal{d}}} \newcommand{\rmD}{{\mathbf{D}}} \newcommand{\ermD}{{\textnormal{D}}}
87
+ \newcommand{\rve}{{\mathbf{e}}} \newcommand{\erve}{{\textnormal{e}}} \newcommand{\rmE}{{\mathbf{E}}} \newcommand{\ermE}{{\textnormal{E}}}
88
+ \newcommand{\rvf}{{\mathbf{f}}} \newcommand{\ervf}{{\textnormal{f}}} \newcommand{\rmF}{{\mathbf{F}}} \newcommand{\ermF}{{\textnormal{F}}}
89
+ \newcommand{\rvg}{{\mathbf{g}}} \newcommand{\ervg}{{\textnormal{g}}} \newcommand{\rmG}{{\mathbf{G}}} \newcommand{\ermG}{{\textnormal{G}}}
90
+ \newcommand{\rvh}{{\mathbf{h}}} \newcommand{\ervh}{{\textnormal{h}}} \newcommand{\rmH}{{\mathbf{H}}} \newcommand{\ermH}{{\textnormal{H}}}
91
+ \newcommand{\rvi}{{\mathbf{i}}} \newcommand{\ervi}{{\textnormal{i}}} \newcommand{\rmI}{{\mathbf{I}}} \newcommand{\ermI}{{\textnormal{I}}}
92
+ \newcommand{\rvj}{{\mathbf{j}}} \newcommand{\ervj}{{\textnormal{j}}} \newcommand{\rmJ}{{\mathbf{J}}} \newcommand{\ermJ}{{\textnormal{J}}}
93
+ \newcommand{\rvk}{{\mathbf{k}}} \newcommand{\ervk}{{\textnormal{k}}} \newcommand{\rmK}{{\mathbf{K}}} \newcommand{\ermK}{{\textnormal{K}}}
94
+ \newcommand{\rvl}{{\mathbf{l}}} \newcommand{\ervl}{{\textnormal{l}}} \newcommand{\rmL}{{\mathbf{L}}} \newcommand{\ermL}{{\textnormal{L}}}
95
+ \newcommand{\rvm}{{\mathbf{m}}} \newcommand{\ervm}{{\textnormal{m}}} \newcommand{\rmM}{{\mathbf{M}}} \newcommand{\ermM}{{\textnormal{M}}}
96
+ \newcommand{\rvn}{{\mathbf{n}}} \newcommand{\ervn}{{\textnormal{n}}} \newcommand{\rmN}{{\mathbf{N}}} \newcommand{\ermN}{{\textnormal{N}}}
97
+ \newcommand{\rvo}{{\mathbf{o}}} \newcommand{\ervo}{{\textnormal{o}}} \newcommand{\rmO}{{\mathbf{O}}} \newcommand{\ermO}{{\textnormal{O}}}
98
+ \newcommand{\rvp}{{\mathbf{p}}} \newcommand{\ervp}{{\textnormal{p}}} \newcommand{\rmP}{{\mathbf{P}}} \newcommand{\ermP}{{\textnormal{P}}}
99
+ \newcommand{\rvq}{{\mathbf{q}}} \newcommand{\ervq}{{\textnormal{q}}} \newcommand{\rmQ}{{\mathbf{Q}}} \newcommand{\ermQ}{{\textnormal{Q}}}
100
+ \newcommand{\rvr}{{\mathbf{r}}} \newcommand{\ervr}{{\textnormal{r}}} \newcommand{\rmR}{{\mathbf{R}}} \newcommand{\ermR}{{\textnormal{R}}}
101
+ \newcommand{\rvs}{{\mathbf{s}}} \newcommand{\ervs}{{\textnormal{s}}} \newcommand{\rmS}{{\mathbf{S}}} \newcommand{\ermS}{{\textnormal{S}}}
102
+ \newcommand{\rvt}{{\mathbf{t}}} \newcommand{\ervt}{{\textnormal{t}}} \newcommand{\rmT}{{\mathbf{T}}} \newcommand{\ermT}{{\textnormal{T}}}
103
+ \newcommand{\rvu}{{\mathbf{u}}} \newcommand{\ervu}{{\textnormal{u}}} \newcommand{\rmU}{{\mathbf{U}}} \newcommand{\ermU}{{\textnormal{U}}}
104
+ \newcommand{\rvv}{{\mathbf{v}}} \newcommand{\ervv}{{\textnormal{v}}} \newcommand{\rmV}{{\mathbf{V}}} \newcommand{\ermV}{{\textnormal{V}}}
105
+ \newcommand{\rvw}{{\mathbf{w}}} \newcommand{\ervw}{{\textnormal{w}}} \newcommand{\rmW}{{\mathbf{W}}} \newcommand{\ermW}{{\textnormal{W}}}
106
+ \newcommand{\rvx}{{\mathbf{x}}} \newcommand{\ervx}{{\textnormal{x}}} \newcommand{\rmX}{{\mathbf{X}}} \newcommand{\ermX}{{\textnormal{X}}}
107
+ \newcommand{\rvy}{{\mathbf{y}}} \newcommand{\ervy}{{\textnormal{y}}} \newcommand{\rmY}{{\mathbf{Y}}} \newcommand{\ermY}{{\textnormal{Y}}}
108
+ \newcommand{\rvz}{{\mathbf{z}}} \newcommand{\ervz}{{\textnormal{z}}} \newcommand{\rmZ}{{\mathbf{Z}}} \newcommand{\ermZ}{{\textnormal{Z}}}
109
+
110
+ % Don't use a set called E, because this would be the same as our symbol for expectation.
111
+ % Set % Graph
112
+ \newcommand{\sA}{{\mathbb{A}}} \newcommand{\gA}{{\mathcal{A}}}
113
+ \newcommand{\sB}{{\mathbb{B}}} \newcommand{\gB}{{\mathcal{B}}}
114
+ \newcommand{\sC}{{\mathbb{C}}} \newcommand{\gC}{{\mathcal{C}}}
115
+ \newcommand{\sD}{{\mathbb{D}}} \newcommand{\gD}{{\mathcal{D}}}
116
+ \newcommand{\sE}{{\mathbb{E}}} \newcommand{\gE}{{\mathcal{E}}}
117
+ \newcommand{\sF}{{\mathbb{F}}} \newcommand{\gF}{{\mathcal{F}}}
118
+ \newcommand{\sG}{{\mathbb{G}}} \newcommand{\gG}{{\mathcal{G}}}
119
+ \newcommand{\sH}{{\mathbb{H}}} \newcommand{\gH}{{\mathcal{H}}}
120
+ \newcommand{\sI}{{\mathbb{I}}} \newcommand{\gI}{{\mathcal{I}}}
121
+ \newcommand{\sJ}{{\mathbb{J}}} \newcommand{\gJ}{{\mathcal{J}}}
122
+ \newcommand{\sK}{{\mathbb{K}}} \newcommand{\gK}{{\mathcal{K}}}
123
+ \newcommand{\sL}{{\mathbb{L}}} \newcommand{\gL}{{\mathcal{L}}}
124
+ \newcommand{\sM}{{\mathbb{M}}} \newcommand{\gM}{{\mathcal{M}}}
125
+ \newcommand{\sN}{{\mathbb{N}}} \newcommand{\gN}{{\mathcal{N}}}
126
+ \newcommand{\sO}{{\mathbb{O}}} \newcommand{\gO}{{\mathcal{O}}}
127
+ \newcommand{\sP}{{\mathbb{P}}} \newcommand{\gP}{{\mathcal{P}}}
128
+ \newcommand{\sQ}{{\mathbb{Q}}} \newcommand{\gQ}{{\mathcal{Q}}}
129
+ \newcommand{\sR}{{\mathbb{R}}} \newcommand{\gR}{{\mathcal{R}}}
130
+ \newcommand{\sS}{{\mathbb{S}}} \newcommand{\gS}{{\mathcal{S}}}
131
+ \newcommand{\sT}{{\mathbb{T}}} \newcommand{\gT}{{\mathcal{T}}}
132
+ \newcommand{\sU}{{\mathbb{U}}} \newcommand{\gU}{{\mathcal{U}}}
133
+ \newcommand{\sV}{{\mathbb{V}}} \newcommand{\gV}{{\mathcal{V}}}
134
+ \newcommand{\sW}{{\mathbb{W}}} \newcommand{\gW}{{\mathcal{W}}}
135
+ \newcommand{\sX}{{\mathbb{X}}} \newcommand{\gX}{{\mathcal{X}}}
136
+ \newcommand{\sY}{{\mathbb{Y}}} \newcommand{\gY}{{\mathcal{Y}}}
137
+ \newcommand{\sZ}{{\mathbb{Z}}} \newcommand{\gZ}{{\mathcal{Z}}}
138
+
139
+ % Tensor
140
+ \newcommand{\tens}[1]{\bm{\mathsfit{#1}}} % Tensor
141
+ \newcommand{\etens}[1]{\mathsfit{#1}} % Same font as tensor, without \bm wrapper
142
+ % Tensor % Entries of a tensor
143
+ \newcommand{\tA}{{\tens{A}}} \newcommand{\etA}{{\etens{A}}}
144
+ \newcommand{\tB}{{\tens{B}}} \newcommand{\etB}{{\etens{B}}}
145
+ \newcommand{\tC}{{\tens{C}}} \newcommand{\etC}{{\etens{C}}}
146
+ \newcommand{\tD}{{\tens{D}}} \newcommand{\etD}{{\etens{D}}}
147
+ \newcommand{\tE}{{\tens{E}}} \newcommand{\etE}{{\etens{E}}}
148
+ \newcommand{\tF}{{\tens{F}}} \newcommand{\etF}{{\etens{F}}}
149
+ \newcommand{\tG}{{\tens{G}}} \newcommand{\etG}{{\etens{G}}}
150
+ \newcommand{\tH}{{\tens{H}}} \newcommand{\etH}{{\etens{H}}}
151
+ \newcommand{\tI}{{\tens{I}}} \newcommand{\etI}{{\etens{I}}}
152
+ \newcommand{\tJ}{{\tens{J}}} \newcommand{\etJ}{{\etens{J}}}
153
+ \newcommand{\tK}{{\tens{K}}} \newcommand{\etK}{{\etens{K}}}
154
+ \newcommand{\tL}{{\tens{L}}} \newcommand{\etL}{{\etens{L}}}
155
+ \newcommand{\tM}{{\tens{M}}} \newcommand{\etM}{{\etens{M}}}
156
+ \newcommand{\tN}{{\tens{N}}} \newcommand{\etN}{{\etens{N}}}
157
+ \newcommand{\tO}{{\tens{O}}} \newcommand{\etO}{{\etens{O}}}
158
+ \newcommand{\tP}{{\tens{P}}} \newcommand{\etP}{{\etens{P}}}
159
+ \newcommand{\tQ}{{\tens{Q}}} \newcommand{\etQ}{{\etens{Q}}}
160
+ \newcommand{\tR}{{\tens{R}}} \newcommand{\etR}{{\etens{R}}}
161
+ \newcommand{\tS}{{\tens{S}}} \newcommand{\etS}{{\etens{S}}}
162
+ \newcommand{\tT}{{\tens{T}}} \newcommand{\etT}{{\etens{T}}}
163
+ \newcommand{\tU}{{\tens{U}}} \newcommand{\etU}{{\etens{U}}}
164
+ \newcommand{\tV}{{\tens{V}}} \newcommand{\etV}{{\etens{V}}}
165
+ \newcommand{\tW}{{\tens{W}}} \newcommand{\etW}{{\etens{W}}}
166
+ \newcommand{\tX}{{\tens{X}}} \newcommand{\etX}{{\etens{X}}}
167
+ \newcommand{\tY}{{\tens{Y}}} \newcommand{\etY}{{\etens{Y}}}
168
+ \newcommand{\tZ}{{\tens{Z}}} \newcommand{\etZ}{{\etens{Z}}}
169
+
170
+ %%%-------------------------------------------------------------------------%%%
171
+ %% Optional command from author.
172
+
173
+ % textnormal = $\text{}$
174
+ \newcommand{\tnla}{{\textnormal{a}}} \newcommand{\tnlA}{{\textnormal{A}}}
175
+ \newcommand{\tnlb}{{\textnormal{b}}} \newcommand{\tnlB}{{\textnormal{B}}}
176
+ \newcommand{\tnlc}{{\textnormal{c}}} \newcommand{\tnlC}{{\textnormal{C}}}
177
+ \newcommand{\tnld}{{\textnormal{d}}} \newcommand{\tnlD}{{\textnormal{D}}}
178
+ \newcommand{\tnle}{{\textnormal{e}}} \newcommand{\tnlE}{{\textnormal{E}}}
179
+ \newcommand{\tnlf}{{\textnormal{f}}} \newcommand{\tnlF}{{\textnormal{F}}}
180
+ \newcommand{\tnlg}{{\textnormal{g}}} \newcommand{\tnlG}{{\textnormal{G}}}
181
+ \newcommand{\tnlh}{{\textnormal{h}}} \newcommand{\tnlH}{{\textnormal{H}}}
182
+ \newcommand{\tnli}{{\textnormal{i}}} \newcommand{\tnlI}{{\textnormal{I}}}
183
+ \newcommand{\tnlj}{{\textnormal{j}}} \newcommand{\tnlJ}{{\textnormal{J}}}
184
+ \newcommand{\tnlk}{{\textnormal{k}}} \newcommand{\tnlK}{{\textnormal{K}}}
185
+ \newcommand{\tnll}{{\textnormal{l}}} \newcommand{\tnlL}{{\textnormal{L}}}
186
+ \newcommand{\tnlm}{{\textnormal{m}}} \newcommand{\tnlM}{{\textnormal{M}}}
187
+ \newcommand{\tnln}{{\textnormal{n}}} \newcommand{\tnlN}{{\textnormal{N}}}
188
+ \newcommand{\tnlo}{{\textnormal{o}}} \newcommand{\tnlO}{{\textnormal{O}}}
189
+ \newcommand{\tnlp}{{\textnormal{p}}} \newcommand{\tnlP}{{\textnormal{P}}}
190
+ \newcommand{\tnlq}{{\textnormal{q}}} \newcommand{\tnlQ}{{\textnormal{Q}}}
191
+ \newcommand{\tnlr}{{\textnormal{r}}} \newcommand{\tnlR}{{\textnormal{R}}}
192
+ \newcommand{\tnls}{{\textnormal{s}}} \newcommand{\tnlS}{{\textnormal{S}}}
193
+ \newcommand{\tnlt}{{\textnormal{t}}} \newcommand{\tnlT}{{\textnormal{T}}}
194
+ \newcommand{\tnlu}{{\textnormal{u}}} \newcommand{\tnlU}{{\textnormal{U}}}
195
+ \newcommand{\tnlv}{{\textnormal{v}}} \newcommand{\tnlV}{{\textnormal{V}}}
196
+ \newcommand{\tnlw}{{\textnormal{w}}} \newcommand{\tnlW}{{\textnormal{W}}}
197
+ \newcommand{\tnlx}{{\textnormal{x}}} \newcommand{\tnlX}{{\textnormal{X}}}
198
+ \newcommand{\tnly}{{\textnormal{y}}} \newcommand{\tnlY}{{\textnormal{Y}}}
199
+ \newcommand{\tnlz}{{\textnormal{z}}} \newcommand{\tnlZ}{{\textnormal{Z}}}
200
+
201
+ % mathnormal = $$
202
+ \newcommand{\mnla}{{\mathnormal{a}}} \newcommand{\mnlA}{{\mathnormal{A}}}
203
+ \newcommand{\mnlb}{{\mathnormal{b}}} \newcommand{\mnlB}{{\mathnormal{B}}}
204
+ \newcommand{\mnlc}{{\mathnormal{c}}} \newcommand{\mnlC}{{\mathnormal{C}}}
205
+ \newcommand{\mnld}{{\mathnormal{d}}} \newcommand{\mnlD}{{\mathnormal{D}}}
206
+ \newcommand{\mnle}{{\mathnormal{e}}} \newcommand{\mnlE}{{\mathnormal{E}}}
207
+ \newcommand{\mnlf}{{\mathnormal{f}}} \newcommand{\mnlF}{{\mathnormal{F}}}
208
+ \newcommand{\mnlg}{{\mathnormal{g}}} \newcommand{\mnlG}{{\mathnormal{G}}}
209
+ \newcommand{\mnlh}{{\mathnormal{h}}} \newcommand{\mnlH}{{\mathnormal{H}}}
210
+ \newcommand{\mnli}{{\mathnormal{i}}} \newcommand{\mnlI}{{\mathnormal{I}}}
211
+ \newcommand{\mnlj}{{\mathnormal{j}}} \newcommand{\mnlJ}{{\mathnormal{J}}}
212
+ \newcommand{\mnlk}{{\mathnormal{k}}} \newcommand{\mnlK}{{\mathnormal{K}}}
213
+ \newcommand{\mnll}{{\mathnormal{l}}} \newcommand{\mnlL}{{\mathnormal{L}}}
214
+ \newcommand{\mnlm}{{\mathnormal{m}}} \newcommand{\mnlM}{{\mathnormal{M}}}
215
+ \newcommand{\mnln}{{\mathnormal{n}}} \newcommand{\mnlN}{{\mathnormal{N}}}
216
+ \newcommand{\mnlo}{{\mathnormal{o}}} \newcommand{\mnlO}{{\mathnormal{O}}}
217
+ \newcommand{\mnlp}{{\mathnormal{p}}} \newcommand{\mnlP}{{\mathnormal{P}}}
218
+ \newcommand{\mnlq}{{\mathnormal{q}}} \newcommand{\mnlQ}{{\mathnormal{Q}}}
219
+ \newcommand{\mnlr}{{\mathnormal{r}}} \newcommand{\mnlR}{{\mathnormal{R}}}
220
+ \newcommand{\mnls}{{\mathnormal{s}}} \newcommand{\mnlS}{{\mathnormal{S}}}
221
+ \newcommand{\mnlt}{{\mathnormal{t}}} \newcommand{\mnlT}{{\mathnormal{T}}}
222
+ \newcommand{\mnlu}{{\mathnormal{u}}} \newcommand{\mnlU}{{\mathnormal{U}}}
223
+ \newcommand{\mnlv}{{\mathnormal{v}}} \newcommand{\mnlV}{{\mathnormal{V}}}
224
+ \newcommand{\mnlw}{{\mathnormal{w}}} \newcommand{\mnlW}{{\mathnormal{W}}}
225
+ \newcommand{\mnlx}{{\mathnormal{x}}} \newcommand{\mnlX}{{\mathnormal{X}}}
226
+ \newcommand{\mnly}{{\mathnormal{y}}} \newcommand{\mnlY}{{\mathnormal{Y}}}
227
+ \newcommand{\mnlz}{{\mathnormal{z}}} \newcommand{\mnlZ}{{\mathnormal{Z}}}
228
+
229
+ % roman font
230
+ \newcommand{\mrma}{{\mathrm{a}}} \newcommand{\mrmA}{{\mathrm{A}}}
231
+ \newcommand{\mrmb}{{\mathrm{b}}} \newcommand{\mrmB}{{\mathrm{B}}}
232
+ \newcommand{\mrmc}{{\mathrm{c}}} \newcommand{\mrmC}{{\mathrm{C}}}
233
+ \newcommand{\mrmd}{{\mathrm{d}}} \newcommand{\mrmD}{{\mathrm{D}}}
234
+ \newcommand{\mrme}{{\mathrm{e}}} \newcommand{\mrmE}{{\mathrm{E}}}
235
+ \newcommand{\mrmf}{{\mathrm{f}}} \newcommand{\mrmF}{{\mathrm{F}}}
236
+ \newcommand{\mrmg}{{\mathrm{g}}} \newcommand{\mrmG}{{\mathrm{G}}}
237
+ \newcommand{\mrmh}{{\mathrm{h}}} \newcommand{\mrmH}{{\mathrm{H}}}
238
+ \newcommand{\mrmi}{{\mathrm{i}}} \newcommand{\mrmI}{{\mathrm{I}}}
239
+ \newcommand{\mrmj}{{\mathrm{j}}} \newcommand{\mrmJ}{{\mathrm{J}}}
240
+ \newcommand{\mrmk}{{\mathrm{k}}} \newcommand{\mrmK}{{\mathrm{K}}}
241
+ \newcommand{\mrml}{{\mathrm{l}}} \newcommand{\mrmL}{{\mathrm{L}}}
242
+ \newcommand{\mrmm}{{\mathrm{m}}} \newcommand{\mrmM}{{\mathrm{M}}}
243
+ \newcommand{\mrmn}{{\mathrm{n}}} \newcommand{\mrmN}{{\mathrm{N}}}
244
+ \newcommand{\mrmo}{{\mathrm{o}}} \newcommand{\mrmO}{{\mathrm{O}}}
245
+ \newcommand{\mrmp}{{\mathrm{p}}} \newcommand{\mrmP}{{\mathrm{P}}}
246
+ \newcommand{\mrmq}{{\mathrm{q}}} \newcommand{\mrmQ}{{\mathrm{Q}}}
247
+ \newcommand{\mrmr}{{\mathrm{r}}} \newcommand{\mrmR}{{\mathrm{R}}}
248
+ \newcommand{\mrms}{{\mathrm{s}}} \newcommand{\mrmS}{{\mathrm{S}}}
249
+ \newcommand{\mrmt}{{\mathrm{t}}} \newcommand{\mrmT}{{\mathrm{T}}}
250
+ \newcommand{\mrmu}{{\mathrm{u}}} \newcommand{\mrmU}{{\mathrm{U}}}
251
+ \newcommand{\mrmv}{{\mathrm{v}}} \newcommand{\mrmV}{{\mathrm{V}}}
252
+ \newcommand{\mrmw}{{\mathrm{w}}} \newcommand{\mrmW}{{\mathrm{W}}}
253
+ \newcommand{\mrmx}{{\mathrm{x}}} \newcommand{\mrmX}{{\mathrm{X}}}
254
+ \newcommand{\mrmy}{{\mathrm{y}}} \newcommand{\mrmY}{{\mathrm{Y}}}
255
+ \newcommand{\mrmz}{{\mathrm{z}}} \newcommand{\mrmZ}{{\mathrm{Z}}}
256
+
257
+ % Bold roman font
258
+ \newcommand{\mbfa}{{\mathbf{a}}} \newcommand{\mbfA}{{\mathbf{A}}}
259
+ \newcommand{\mbfb}{{\mathbf{b}}} \newcommand{\mbfB}{{\mathbf{B}}}
260
+ \newcommand{\mbfc}{{\mathbf{c}}} \newcommand{\mbfC}{{\mathbf{C}}}
261
+ \newcommand{\mbfd}{{\mathbf{d}}} \newcommand{\mbfD}{{\mathbf{D}}}
262
+ \newcommand{\mbfe}{{\mathbf{e}}} \newcommand{\mbfE}{{\mathbf{E}}}
263
+ \newcommand{\mbff}{{\mathbf{f}}} \newcommand{\mbfF}{{\mathbf{F}}}
264
+ \newcommand{\mbfg}{{\mathbf{g}}} \newcommand{\mbfG}{{\mathbf{G}}}
265
+ \newcommand{\mbfh}{{\mathbf{h}}} \newcommand{\mbfH}{{\mathbf{H}}}
266
+ \newcommand{\mbfi}{{\mathbf{i}}} \newcommand{\mbfI}{{\mathbf{I}}}
267
+ \newcommand{\mbfj}{{\mathbf{j}}} \newcommand{\mbfJ}{{\mathbf{J}}}
268
+ \newcommand{\mbfk}{{\mathbf{k}}} \newcommand{\mbfK}{{\mathbf{K}}}
269
+ \newcommand{\mbfl}{{\mathbf{l}}} \newcommand{\mbfL}{{\mathbf{L}}}
270
+ \newcommand{\mbfm}{{\mathbf{m}}} \newcommand{\mbfM}{{\mathbf{M}}}
271
+ \newcommand{\mbfn}{{\mathbf{n}}} \newcommand{\mbfN}{{\mathbf{N}}}
272
+ \newcommand{\mbfo}{{\mathbf{o}}} \newcommand{\mbfO}{{\mathbf{O}}}
273
+ \newcommand{\mbfp}{{\mathbf{p}}} \newcommand{\mbfP}{{\mathbf{P}}}
274
+ \newcommand{\mbfq}{{\mathbf{q}}} \newcommand{\mbfQ}{{\mathbf{Q}}}
275
+ \newcommand{\mbfr}{{\mathbf{r}}} \newcommand{\mbfR}{{\mathbf{R}}}
276
+ \newcommand{\mbfs}{{\mathbf{s}}} \newcommand{\mbfS}{{\mathbf{S}}}
277
+ \newcommand{\mbft}{{\mathbf{t}}} \newcommand{\mbfT}{{\mathbf{T}}}
278
+ \newcommand{\mbfu}{{\mathbf{u}}} \newcommand{\mbfU}{{\mathbf{U}}}
279
+ \newcommand{\mbfv}{{\mathbf{v}}} \newcommand{\mbfV}{{\mathbf{V}}}
280
+ \newcommand{\mbfw}{{\mathbf{w}}} \newcommand{\mbfW}{{\mathbf{W}}}
281
+ \newcommand{\mbfx}{{\mathbf{x}}} \newcommand{\mbfX}{{\mathbf{X}}}
282
+ \newcommand{\mbfy}{{\mathbf{y}}} \newcommand{\mbfY}{{\mathbf{Y}}}
283
+ \newcommand{\mbfz}{{\mathbf{z}}} \newcommand{\mbfZ}{{\mathbf{Z}}}
284
+
285
+ % sans serif font
286
+ \newcommand{\msfa}{{\mathsf{a}}} \newcommand{\msfA}{{\mathsf{A}}}
287
+ \newcommand{\msfb}{{\mathsf{b}}} \newcommand{\msfB}{{\mathsf{B}}}
288
+ \newcommand{\msfc}{{\mathsf{c}}} \newcommand{\msfC}{{\mathsf{C}}}
289
+ \newcommand{\msfd}{{\mathsf{d}}} \newcommand{\msfD}{{\mathsf{D}}}
290
+ \newcommand{\msfe}{{\mathsf{e}}} \newcommand{\msfE}{{\mathsf{E}}}
291
+ \newcommand{\msff}{{\mathsf{f}}} \newcommand{\msfF}{{\mathsf{F}}}
292
+ \newcommand{\msfg}{{\mathsf{g}}} \newcommand{\msfG}{{\mathsf{G}}}
293
+ \newcommand{\msfh}{{\mathsf{h}}} \newcommand{\msfH}{{\mathsf{H}}}
294
+ \newcommand{\msfi}{{\mathsf{i}}} \newcommand{\msfI}{{\mathsf{I}}}
295
+ \newcommand{\msfj}{{\mathsf{j}}} \newcommand{\msfJ}{{\mathsf{J}}}
296
+ \newcommand{\msfk}{{\mathsf{k}}} \newcommand{\msfK}{{\mathsf{K}}}
297
+ \newcommand{\msfl}{{\mathsf{l}}} \newcommand{\msfL}{{\mathsf{L}}}
298
+ \newcommand{\msfm}{{\mathsf{m}}} \newcommand{\msfM}{{\mathsf{M}}}
299
+ \newcommand{\msfn}{{\mathsf{n}}} \newcommand{\msfN}{{\mathsf{N}}}
300
+ \newcommand{\msfo}{{\mathsf{o}}} \newcommand{\msfO}{{\mathsf{O}}}
301
+ \newcommand{\msfp}{{\mathsf{p}}} \newcommand{\msfP}{{\mathsf{P}}}
302
+ \newcommand{\msfq}{{\mathsf{q}}} \newcommand{\msfQ}{{\mathsf{Q}}}
303
+ \newcommand{\msfr}{{\mathsf{r}}} \newcommand{\msfR}{{\mathsf{R}}}
304
+ \newcommand{\msfs}{{\mathsf{s}}} \newcommand{\msfS}{{\mathsf{S}}}
305
+ \newcommand{\msft}{{\mathsf{t}}} \newcommand{\msfT}{{\mathsf{T}}}
306
+ \newcommand{\msfu}{{\mathsf{u}}} \newcommand{\msfU}{{\mathsf{U}}}
307
+ \newcommand{\msfv}{{\mathsf{v}}} \newcommand{\msfV}{{\mathsf{V}}}
308
+ \newcommand{\msfw}{{\mathsf{w}}} \newcommand{\msfW}{{\mathsf{W}}}
309
+ \newcommand{\msfx}{{\mathsf{x}}} \newcommand{\msfX}{{\mathsf{X}}}
310
+ \newcommand{\msfy}{{\mathsf{y}}} \newcommand{\msfY}{{\mathsf{Y}}}
311
+ \newcommand{\msfz}{{\mathsf{z}}} \newcommand{\msfZ}{{\mathsf{Z}}}
312
+
313
+ % text italic font
314
+ \newcommand{\mita}{{\mathit{a}}} \newcommand{\mitA}{{\mathit{A}}}
315
+ \newcommand{\mitb}{{\mathit{b}}} \newcommand{\mitB}{{\mathit{B}}}
316
+ \newcommand{\mitc}{{\mathit{c}}} \newcommand{\mitC}{{\mathit{C}}}
317
+ \newcommand{\mitd}{{\mathit{d}}} \newcommand{\mitD}{{\mathit{D}}}
318
+ \newcommand{\mite}{{\mathit{e}}} \newcommand{\mitE}{{\mathit{E}}}
319
+ \newcommand{\mitf}{{\mathit{f}}} \newcommand{\mitF}{{\mathit{F}}}
320
+ \newcommand{\mitg}{{\mathit{g}}} \newcommand{\mitG}{{\mathit{G}}}
321
+ \newcommand{\mith}{{\mathit{h}}} \newcommand{\mitH}{{\mathit{H}}}
322
+ \newcommand{\miti}{{\mathit{i}}} \newcommand{\mitI}{{\mathit{I}}}
323
+ \newcommand{\mitj}{{\mathit{j}}} \newcommand{\mitJ}{{\mathit{J}}}
324
+ \newcommand{\mitk}{{\mathit{k}}} \newcommand{\mitK}{{\mathit{K}}}
325
+ \newcommand{\mitl}{{\mathit{l}}} \newcommand{\mitL}{{\mathit{L}}}
326
+ \newcommand{\mitm}{{\mathit{m}}} \newcommand{\mitM}{{\mathit{M}}}
327
+ \newcommand{\mitn}{{\mathit{n}}} \newcommand{\mitN}{{\mathit{N}}}
328
+ \newcommand{\mito}{{\mathit{o}}} \newcommand{\mitO}{{\mathit{O}}}
329
+ \newcommand{\mitp}{{\mathit{p}}} \newcommand{\mitP}{{\mathit{P}}}
330
+ \newcommand{\mitq}{{\mathit{q}}} \newcommand{\mitQ}{{\mathit{Q}}}
331
+ \newcommand{\mitr}{{\mathit{r}}} \newcommand{\mitR}{{\mathit{R}}}
332
+ \newcommand{\mits}{{\mathit{s}}} \newcommand{\mitS}{{\mathit{S}}}
333
+ \newcommand{\mitt}{{\mathit{t}}} \newcommand{\mitT}{{\mathit{T}}}
334
+ \newcommand{\mitu}{{\mathit{u}}} \newcommand{\mitU}{{\mathit{U}}}
335
+ \newcommand{\mitv}{{\mathit{v}}} \newcommand{\mitV}{{\mathit{V}}}
336
+ \newcommand{\mitw}{{\mathit{w}}} \newcommand{\mitW}{{\mathit{W}}}
337
+ \newcommand{\mitx}{{\mathit{x}}} \newcommand{\mitX}{{\mathit{X}}}
338
+ \newcommand{\mity}{{\mathit{y}}} \newcommand{\mitY}{{\mathit{Y}}}
339
+ \newcommand{\mitz}{{\mathit{z}}} \newcommand{\mitZ}{{\mathit{Z}}}
340
+
341
+ % typewriter font
342
+ \newcommand{\mtta}{{\mathtt{a}}} \newcommand{\mttA}{{\mathtt{A}}}
343
+ \newcommand{\mttb}{{\mathtt{b}}} \newcommand{\mttB}{{\mathtt{B}}}
344
+ \newcommand{\mttc}{{\mathtt{c}}} \newcommand{\mttC}{{\mathtt{C}}}
345
+ \newcommand{\mttd}{{\mathtt{d}}} \newcommand{\mttD}{{\mathtt{D}}}
346
+ \newcommand{\mtte}{{\mathtt{e}}} \newcommand{\mttE}{{\mathtt{E}}}
347
+ \newcommand{\mttf}{{\mathtt{f}}} \newcommand{\mttF}{{\mathtt{F}}}
348
+ \newcommand{\mttg}{{\mathtt{g}}} \newcommand{\mttG}{{\mathtt{G}}}
349
+ \newcommand{\mtth}{{\mathtt{h}}} \newcommand{\mttH}{{\mathtt{H}}}
350
+ \newcommand{\mtti}{{\mathtt{i}}} \newcommand{\mttI}{{\mathtt{I}}}
351
+ \newcommand{\mttj}{{\mathtt{j}}} \newcommand{\mttJ}{{\mathtt{J}}}
352
+ \newcommand{\mttk}{{\mathtt{k}}} \newcommand{\mttK}{{\mathtt{K}}}
353
+ \newcommand{\mttl}{{\mathtt{l}}} \newcommand{\mttL}{{\mathtt{L}}}
354
+ \newcommand{\mttm}{{\mathtt{m}}} \newcommand{\mttM}{{\mathtt{M}}}
355
+ \newcommand{\mttn}{{\mathtt{n}}} \newcommand{\mttN}{{\mathtt{N}}}
356
+ \newcommand{\mtto}{{\mathtt{o}}} \newcommand{\mttO}{{\mathtt{O}}}
357
+ \newcommand{\mttp}{{\mathtt{p}}} \newcommand{\mttP}{{\mathtt{P}}}
358
+ \newcommand{\mttq}{{\mathtt{q}}} \newcommand{\mttQ}{{\mathtt{Q}}}
359
+ \newcommand{\mttr}{{\mathtt{r}}} \newcommand{\mttR}{{\mathtt{R}}}
360
+ \newcommand{\mtts}{{\mathtt{s}}} \newcommand{\mttS}{{\mathtt{S}}}
361
+ \newcommand{\mttt}{{\mathtt{t}}} \newcommand{\mttT}{{\mathtt{T}}}
362
+ \newcommand{\mttu}{{\mathtt{u}}} \newcommand{\mttU}{{\mathtt{U}}}
363
+ \newcommand{\mttv}{{\mathtt{v}}} \newcommand{\mttV}{{\mathtt{V}}}
364
+ \newcommand{\mttw}{{\mathtt{w}}} \newcommand{\mttW}{{\mathtt{W}}}
365
+ \newcommand{\mttx}{{\mathtt{x}}} \newcommand{\mttX}{{\mathtt{X}}}
366
+ \newcommand{\mtty}{{\mathtt{y}}} \newcommand{\mttY}{{\mathtt{Y}}}
367
+ \newcommand{\mttz}{{\mathtt{z}}} \newcommand{\mttZ}{{\mathtt{Z}}}
368
+
369
+ % fraktur font
370
+ \newcommand{\mfraka}{{\mathfrak{a}}} \newcommand{\mfrakA}{{\mathfrak{A}}}
371
+ \newcommand{\mfrakb}{{\mathfrak{b}}} \newcommand{\mfrakB}{{\mathfrak{B}}}
372
+ \newcommand{\mfrakc}{{\mathfrak{c}}} \newcommand{\mfrakC}{{\mathfrak{C}}}
373
+ \newcommand{\mfrakd}{{\mathfrak{d}}} \newcommand{\mfrakD}{{\mathfrak{D}}}
374
+ \newcommand{\mfrake}{{\mathfrak{e}}} \newcommand{\mfrakE}{{\mathfrak{E}}}
375
+ \newcommand{\mfrakf}{{\mathfrak{f}}} \newcommand{\mfrakF}{{\mathfrak{F}}}
376
+ \newcommand{\mfrakg}{{\mathfrak{g}}} \newcommand{\mfrakG}{{\mathfrak{G}}}
377
+ \newcommand{\mfrakh}{{\mathfrak{h}}} \newcommand{\mfrakH}{{\mathfrak{H}}}
378
+ \newcommand{\mfraki}{{\mathfrak{i}}} \newcommand{\mfrakI}{{\mathfrak{I}}}
379
+ \newcommand{\mfrakj}{{\mathfrak{j}}} \newcommand{\mfrakJ}{{\mathfrak{J}}}
380
+ \newcommand{\mfrakk}{{\mathfrak{k}}} \newcommand{\mfrakK}{{\mathfrak{K}}}
381
+ \newcommand{\mfrakl}{{\mathfrak{l}}} \newcommand{\mfrakL}{{\mathfrak{L}}}
382
+ \newcommand{\mfrakm}{{\mathfrak{m}}} \newcommand{\mfrakM}{{\mathfrak{M}}}
383
+ \newcommand{\mfrakn}{{\mathfrak{n}}} \newcommand{\mfrakN}{{\mathfrak{N}}}
384
+ \newcommand{\mfrako}{{\mathfrak{o}}} \newcommand{\mfrakO}{{\mathfrak{O}}}
385
+ \newcommand{\mfrakp}{{\mathfrak{p}}} \newcommand{\mfrakP}{{\mathfrak{P}}}
386
+ \newcommand{\mfrakq}{{\mathfrak{q}}} \newcommand{\mfrakQ}{{\mathfrak{Q}}}
387
+ \newcommand{\mfrakr}{{\mathfrak{r}}} \newcommand{\mfrakR}{{\mathfrak{R}}}
388
+ \newcommand{\mfraks}{{\mathfrak{s}}} \newcommand{\mfrakS}{{\mathfrak{S}}}
389
+ \newcommand{\mfrakt}{{\mathfrak{t}}} \newcommand{\mfrakT}{{\mathfrak{T}}}
390
+ \newcommand{\mfraku}{{\mathfrak{u}}} \newcommand{\mfrakU}{{\mathfrak{U}}}
391
+ \newcommand{\mfrakv}{{\mathfrak{v}}} \newcommand{\mfrakV}{{\mathfrak{V}}}
392
+ \newcommand{\mfrakw}{{\mathfrak{w}}} \newcommand{\mfrakW}{{\mathfrak{W}}}
393
+ \newcommand{\mfrakx}{{\mathfrak{x}}} \newcommand{\mfrakX}{{\mathfrak{X}}}
394
+ \newcommand{\mfraky}{{\mathfrak{y}}} \newcommand{\mfrakY}{{\mathfrak{Y}}}
395
+ \newcommand{\mfrakz}{{\mathfrak{z}}} \newcommand{\mfrakZ}{{\mathfrak{Z}}}
396
+
397
+ % Set % Graph % Group (Algebra)
398
+ \newcommand{\mbbA}{{\mathbb{A}}} \newcommand{\mcalA}{{\mathcal{A}}} \newcommand{\mscrA}{{\mathscr{A}}}
399
+ \newcommand{\mbbB}{{\mathbb{B}}} \newcommand{\mcalB}{{\mathcal{B}}} \newcommand{\mscrB}{{\mathscr{B}}}
400
+ \newcommand{\mbbC}{{\mathbb{C}}} \newcommand{\mcalC}{{\mathcal{C}}} \newcommand{\mscrC}{{\mathscr{C}}}
401
+ \newcommand{\mbbD}{{\mathbb{D}}} \newcommand{\mcalD}{{\mathcal{D}}} \newcommand{\mscrD}{{\mathscr{D}}}
402
+ \newcommand{\mbbE}{{\mathbb{E}}} \newcommand{\mcalE}{{\mathcal{E}}} \newcommand{\mscrE}{{\mathscr{E}}}
403
+ \newcommand{\mbbF}{{\mathbb{F}}} \newcommand{\mcalF}{{\mathcal{F}}} \newcommand{\mscrF}{{\mathscr{F}}}
404
+ \newcommand{\mbbG}{{\mathbb{G}}} \newcommand{\mcalG}{{\mathcal{G}}} \newcommand{\mscrG}{{\mathscr{G}}}
405
+ \newcommand{\mbbH}{{\mathbb{H}}} \newcommand{\mcalH}{{\mathcal{H}}} \newcommand{\mscrH}{{\mathscr{H}}}
406
+ \newcommand{\mbbI}{{\mathbb{I}}} \newcommand{\mcalI}{{\mathcal{I}}} \newcommand{\mscrI}{{\mathscr{I}}}
407
+ \newcommand{\mbbJ}{{\mathbb{J}}} \newcommand{\mcalJ}{{\mathcal{J}}} \newcommand{\mscrJ}{{\mathscr{J}}}
408
+ \newcommand{\mbbK}{{\mathbb{K}}} \newcommand{\mcalK}{{\mathcal{K}}} \newcommand{\mscrK}{{\mathscr{K}}}
409
+ \newcommand{\mbbL}{{\mathbb{L}}} \newcommand{\mcalL}{{\mathcal{L}}} \newcommand{\mscrL}{{\mathscr{L}}}
410
+ \newcommand{\mbbM}{{\mathbb{M}}} \newcommand{\mcalM}{{\mathcal{M}}} \newcommand{\mscrM}{{\mathscr{M}}}
411
+ \newcommand{\mbbN}{{\mathbb{N}}} \newcommand{\mcalN}{{\mathcal{N}}} \newcommand{\mscrN}{{\mathscr{N}}}
412
+ \newcommand{\mbbO}{{\mathbb{O}}} \newcommand{\mcalO}{{\mathcal{O}}} \newcommand{\mscrO}{{\mathscr{O}}}
413
+ \newcommand{\mbbP}{{\mathbb{P}}} \newcommand{\mcalP}{{\mathcal{P}}} \newcommand{\mscrP}{{\mathscr{P}}}
414
+ \newcommand{\mbbQ}{{\mathbb{Q}}} \newcommand{\mcalQ}{{\mathcal{Q}}} \newcommand{\mscrQ}{{\mathscr{Q}}}
415
+ \newcommand{\mbbR}{{\mathbb{R}}} \newcommand{\mcalR}{{\mathcal{R}}} \newcommand{\mscrR}{{\mathscr{R}}}
416
+ \newcommand{\mbbS}{{\mathbb{S}}} \newcommand{\mcalS}{{\mathcal{S}}} \newcommand{\mscrS}{{\mathscr{S}}}
417
+ \newcommand{\mbbT}{{\mathbb{T}}} \newcommand{\mcalT}{{\mathcal{T}}} \newcommand{\mscrT}{{\mathscr{T}}}
418
+ \newcommand{\mbbU}{{\mathbb{U}}} \newcommand{\mcalU}{{\mathcal{U}}} \newcommand{\mscrU}{{\mathscr{U}}}
419
+ \newcommand{\mbbV}{{\mathbb{V}}} \newcommand{\mcalV}{{\mathcal{V}}} \newcommand{\mscrV}{{\mathscr{V}}}
420
+ \newcommand{\mbbW}{{\mathbb{W}}} \newcommand{\mcalW}{{\mathcal{W}}} \newcommand{\mscrW}{{\mathscr{W}}}
421
+ \newcommand{\mbbX}{{\mathbb{X}}} \newcommand{\mcalX}{{\mathcal{X}}} \newcommand{\mscrX}{{\mathscr{X}}}
422
+ \newcommand{\mbbY}{{\mathbb{Y}}} \newcommand{\mcalY}{{\mathcal{Y}}} \newcommand{\mscrY}{{\mathscr{Y}}}
423
+ \newcommand{\mbbZ}{{\mathbb{Z}}} \newcommand{\mcalZ}{{\mathcal{Z}}} \newcommand{\mscrZ}{{\mathscr{Z}}}
424
+
425
+ %%%-------------------------------------------------------------------------%%%
426
+ %% Some commonly used cases
427
+ % Vectors
428
+ \newcommand{\vzero}{{\bm{0}}}
429
+ \newcommand{\vone}{{\bm{1}}}
430
+ \newcommand{\vmu}{{\bm{\mu}}}
431
+ \newcommand{\vtheta}{{\bm{\theta}}}
432
+ % Elements of vectors
433
+ \newcommand{\evalpha}{{\alpha}}
434
+ \newcommand{\evbeta}{{\beta}}
435
+ \newcommand{\evepsilon}{{\epsilon}}
436
+ \newcommand{\evlambda}{{\lambda}}
437
+ \newcommand{\evomega}{{\omega}}
438
+ \newcommand{\evmu}{{\mu}}
439
+ \newcommand{\evpsi}{{\psi}}
440
+ \newcommand{\evsigma}{{\sigma}}
441
+ \newcommand{\evtheta}{{\theta}}
442
+ % Matrix
443
+ \newcommand{\mBeta}{{\bm{\Beta}}}
444
+ \newcommand{\mPhi}{{\bm{\Phi}}}
445
+ \newcommand{\mLambda}{{\bm{\Lambda}}}
446
+ \newcommand{\mSigma}{{\bm{\Sigma}}}
447
+ % Entries of a matrix
448
+ \newcommand{\emLambda}{{\Lambda}}
449
+ \newcommand{\emSigma}{{\Sigma}}
450
+ % Random variables
451
+ \newcommand{\reta}{{\textnormal{\(\eta \)}}}
452
+ % Random vectors
453
+ \newcommand{\rvepsilon}{{\mathbf{\epsilon}}}
454
+ \newcommand{\rvtheta}{{\mathbf{\theta}}}
455
+ % Entries of a tensor
456
+ \newcommand{\etLambda}{{\etens{\Lambda}}}
457
+
458
+ %%%-------------------------------------------------------------------------%%%
459
+ %% function
460
+ \newcommand{\R}{{\mathbb{R}}} % domain
461
+
462
+ %% probability
463
+ \newcommand{\E}{{\mathbb{E}}} % expectation
464
+ \newcommand{\Var}{{\mathrm{Var}}} % variance
465
+ \newcommand{\Std}{{\mathrm{Std}}} % standard variance
466
+ \newcommand{\Cov}{{\mathrm{Cov}}} % covariance
467
+ \newcommand{\KL}{{D_{\mathrm{KL}}}} % KL divergence
468
+ \newcommand{\standarderror}{{\mathrm{SE}}} % standard error
469
+
470
+ %% norm
471
+ % Wolfram Mathworld says $L^2$ is for function spaces and $\ell^2$ is for vectors
472
+ % But then they seem to use $L^2$ for vectors throughout the site, and so does
473
+ % wikipedia.
474
+ \newcommand{\normLzero}{L^0}
475
+ \newcommand{\normLone}{L^1}
476
+ \newcommand{\normLtwo}{L^2}
477
+ \newcommand{\normLp}{L^p}
478
+ \newcommand{\normLinfty}{L^\infty}
479
+ \newcommand{\normlzero}{\ell^0}
480
+ \newcommand{\normlone}{\ell^1}
481
+ \newcommand{\normltwo}{\ell^2}
482
+ \newcommand{\normlp}{\ell^p}
483
+ \newcommand{\normlinfty}{\ell^\infty}
484
+
485
+ %% Number
486
+ \newcommand{\1}{{\bm{1}}}
487
+
488
+ %% other
489
+ \newcommand{\Ls}{{\mathcal{L}}}
490
+ \newcommand{\emp}{{\tilde{p}}}
491
+ \newcommand{\lr}{{\alpha}}
492
+ \newcommand{\reg}{{\lambda}}
493
+ \newcommand{\rect}{{\mathrm{rectifier}}}
494
+ \newcommand{\eps}{{\epsilon}}
495
+
496
+ %%%-------------------------------------------------------------------------%%%
497
+ %% Machine Learning
498
+ % The true underlying data generating distribution
499
+ \newcommand{\pdata}{{p_{\textrm{data}}}}
500
+ % The empirical distribution defined by the training set
501
+ \newcommand{\ptrain}{{\hat{p}_{\textrm{data}}}}
502
+ \newcommand{\Ptrain}{{\hat{P}_{\textrm{data}}}}
503
+ % The model distribution
504
+ \newcommand{\pmodel}{{p_{\textrm{model}}}}
505
+ \newcommand{\Pmodel}{{P_{\textrm{model}}}}
506
+ \newcommand{\ptildemodel}{{\tilde{p}_{\textrm{model}}}}
507
+ % Stochastic autoencoder distributions
508
+ \newcommand{\pencode}{{p_{\textrm{encoder}}}}
509
+ \newcommand{\pdecode}{{p_{\textrm{decoder}}}}
510
+ \newcommand{\precons}{{p_{\textrm{reconstruct}}}}
511
+ % Laplace distribution
512
+ \newcommand{\laplace}{{\mathrm{Laplace}}}
513
+ %
514
+ \newcommand{\train}{\mathcal{D}}
515
+ \newcommand{\valid}{\mathcal{D_{\mathrm{valid}}}}
516
+ \newcommand{\test}{\mathcal{D_{\mathrm{test}}}}
517
+ %
518
+ \newcommand{\parents}{Pa} % See usage in notation.tex. Chosen to match Daphne's book.
519
+ %
520
+ \newcommand{\softmax}{{\mathrm{softmax}}}
521
+ \newcommand{\sigmoid}{{\sigma}}
522
+ \newcommand{\softplus}{{\zeta}}
523
+
524
+ %%%-------------------------------------------------------------------------%%%
525
+ %% Mark sections of captions for referring to divisions of figures
526
+ \newcommand{\figleft}{{\em (Left)\/}}
527
+ \newcommand{\figcenter}{{\em (Center)\/}}
528
+ \newcommand{\figright}{{\em (Right)\/}}
529
+ \newcommand{\figtop}{{\em (Top)\/}}
530
+ \newcommand{\figbottom}{{\em (Bottom)\/}}
531
+ \newcommand{\captiona}{{\em (a)\/}}
532
+ \newcommand{\captionb}{{\em (b)\/}}
533
+ \newcommand{\captionc}{{\em (c)\/}}
534
+ \newcommand{\captiond}{{\em (d)\/}}
535
+
536
+ %%%-------------------------------------------------------------------------%%%
537
+ %% Figure, Table, Equation, Algorithm, Section, Chapter, Part
538
+
539
+ % ==================== FIGURE REFERENCES ====================
540
+ % Single figure reference (lowercase)
541
+ \providecommand{\onefigref}[1]{\hyperref[#1]{figure~\ref*{#1}}}
542
+ % Multiple figure references (lowercase)
543
+ \providecommand{\twofigrefs}[2]{\hyperref[#1]{figures~\ref*{#1} and~\ref*{#2}}}
544
+ \providecommand{\threefigrefs}[3]{\hyperref[#1]{figures~\ref*{#1},~\ref*{#2},~and~\ref*{#3}}}
545
+ \providecommand{\fourfigrefs}[4]{\hyperref[#1]{figures~\ref*{#1},~\ref*{#2},~\ref*{#3} and~\ref*{#4}}}
546
+
547
+ % Single figure reference (sentence start, capitalized)
548
+ \providecommand{\oneFigref}[1]{\hyperref[#1]{Figure~\ref*{#1}}}
549
+ % Purpose: Creates clickable "Figure X" reference for beginning of sentences
550
+ % - Uses \hyperref for clickable link
551
+ % - \ref* prevents nested hyperlinks
552
+ % - ~ ensures unbreakable space
553
+ % Multiple figure references (capitalized)
554
+ \providecommand{\twoFigrefs}[2]{\hyperref[#1]{Figures~\ref*{#1} and~\ref*{#2}}}
555
+ \providecommand{\threeFigrefs}[3]{\hyperref[#1]{Figures~\ref*{#1},~\ref*{#2}, and~\ref*{#3}}}
556
+ \providecommand{\fourFigrefs}[4]{\hyperref[#1]{Figures~\ref*{#1},~\ref*{#2},~\ref*{#3} and~\ref*{#4}}}
557
+
558
+ % ==================== TABLE REFERENCES ====================
559
+ % Table references (lowercase)
560
+ \providecommand{\onetableref}[1]{\hyperref[#1]{table~\ref*{#1}}}
561
+ \providecommand{\twotablerefs}[2]{\hyperref[#1]{tables~\ref*{#1} and~\ref*{#2}}}
562
+ \providecommand{\threetablerefs}[3]{\hyperref[#1]{tables~\ref*{#1},~\ref*{#2}, and~\ref*{#3}}}
563
+ \providecommand{\fourtablerefs}[4]{\hyperref[#1]{tables~\ref*{#1},~\ref*{#2},~\ref*{#3} and~\ref*{#4}}}
564
+
565
+ % Table references (capitalized)
566
+ \providecommand{\oneTableref}[1]{\hyperref[#1]{Table~\ref*{#1}}}
567
+ \providecommand{\twoTablerefs}[2]{\hyperref[#1]{Tables~\ref*{#1} and~\ref*{#2}}}
568
+ \providecommand{\threeTablerefs}[3]{\hyperref[#1]{Tables~\ref*{#1},~\ref*{#2}, and~\ref*{#3}}}
569
+ \providecommand{\fourTablerefs}[4]{\hyperref[#1]{Tables~\ref*{#1},~\ref*{#2},~\ref*{#3} and~\ref*{#4}}}
570
+
571
+ % ==================== EQUATION REFERENCES ====================
572
+ % Equation references (lowercase)
573
+ \providecommand{\oneeqref}[1]{\hyperref[#1]{equation~\ref*{#1}}}
574
+ \providecommand{\twoeqrefs}[2]{\hyperref[#1]{equations~\ref*{#1} and~\ref*{#2}}}
575
+ \providecommand{\threeeqrefs}[3]{\hyperref[#1]{equations~\ref*{#1},~\ref*{#2}, and~\ref*{#3}}}
576
+ \providecommand{\foureqrefs}[4]{\hyperref[#1]{equations~\ref*{#1},~\ref*{#2},~\ref*{#3} and~\ref*{#4}}}
577
+
578
+ % Equation references (capitalized)
579
+ \providecommand{\oneEqref}[1]{\hyperref[#1]{Equation~\ref*{#1}}}
580
+ \providecommand{\twoEqrefs}[2]{\hyperref[#1]{Equations~\ref*{#1} and~\ref*{#2}}}
581
+ \providecommand{\threeEqrefs}[3]{\hyperref[#1]{Equations~\ref*{#1},~\ref*{#2}, and~\ref*{#3}}}
582
+ \providecommand{\fourEqrefs}[4]{\hyperref[#1]{Equations~\ref*{#1},~\ref*{#2},~\ref*{#3} and~\ref*{#4}}}
583
+
584
+ % Plain equation reference
585
+ \providecommand{\plaineqref}[1]{\hyperref[#1]{\ref*{#1}}}
586
+
587
+ % ==================== ALGORITHM REFERENCES ====================
588
+ % Algorithm references (lowercase)
589
+ \providecommand{\onealgref}[1]{\hyperref[#1]{algorithm~\ref*{#1}}}
590
+ \providecommand{\twoalgrefs}[2]{\hyperref[#1]{algorithms~\ref*{#1} and~\ref*{#2}}}
591
+ \providecommand{\threealgrefs}[3]{\hyperref[#1]{algorithms~\ref*{#1},~\ref*{#2}, and~\ref*{#3}}}
592
+ \providecommand{\fouralgrefs}[4]{\hyperref[#1]{algorithms~\ref*{#1},~\ref*{#2},~\ref*{#3} and~\ref*{#4}}}
593
+
594
+ % Algorithm references (capitalized)
595
+ \providecommand{\oneAlgref}[1]{\hyperref[#1]{Algorithm~\ref*{#1}}}
596
+ \providecommand{\twoAlgrefs}[2]{\hyperref[#1]{Algorithms~\ref*{#1} and~\ref*{#2}}}
597
+ \providecommand{\threeAlgrefs}[3]{\hyperref[#1]{Algorithms~\ref*{#1},~\ref*{#2}, and~\ref*{#3}}}
598
+ \providecommand{\fourAlgrefs}[4]{\hyperref[#1]{Algorithms~\ref*{#1},~\ref*{#2},~\ref*{#3} and~\ref*{#4}}}
599
+
600
+ % ==================== SECTION REFERENCES ====================
601
+ % Section references (lowercase)
602
+ \providecommand{\onesecref}[1]{\hyperref[#1]{section~\ref*{#1}}}
603
+ \providecommand{\twosecrefs}[2]{\hyperref[#1]{sections~\ref*{#1} and~\ref*{#2}}}
604
+ \providecommand{\threesecrefs}[3]{\hyperref[#1]{sections~\ref*{#1},~\ref*{#2} and~\ref*{#3}}}
605
+ \providecommand{\foursecrefs}[4]{\hyperref[#1]{sections~\ref*{#1},~\ref*{#2},~\ref*{#3} and~\ref*{#4}}}
606
+ \providecommand{\rangesecrefs}[2]{\hyperref[#1]{sections~\ref*{#1}--\ref*{#2}}}
607
+
608
+ % Section references (capitalized)
609
+ \providecommand{\oneSecref}[1]{\hyperref[#1]{Section~\ref*{#1}}}
610
+ \providecommand{\twoSecrefs}[2]{\hyperref[#1]{Sections~\ref*{#1} and~\ref*{#2}}}
611
+ \providecommand{\threeSecrefs}[3]{\hyperref[#1]{Sections~\ref*{#1},~\ref*{#2} and~\ref*{#3}}}
612
+ \providecommand{\fourSecrefs}[4]{\hyperref[#1]{Sections~\ref*{#1},~\ref*{#2},~\ref*{#3} and~\ref*{#4}}}
613
+ \providecommand{\rangeSecrefs}[2]{\hyperref[#1]{Sections~\ref*{#1}--\ref*{#2}}}
614
+
615
+ % ==================== CHAPTER REFERENCES ====================
616
+ % Chapter references (lowercase)
617
+ \providecommand{\onechapref}[1]{\hyperref[#1]{chapter~\ref*{#1}}}
618
+ \providecommand{\twochaprefs}[2]{\hyperref[#1]{chapters~\ref*{#1} and~\ref*{#2}}}
619
+ \providecommand{\threechaprefs}[3]{\hyperref[#1]{chapters~\ref*{#1},~\ref*{#2} and~\ref*{#3}}}
620
+ \providecommand{\fourchaprefs}[4]{\hyperref[#1]{chapters~\ref*{#1},~\ref*{#2},~\ref*{#3} and~\ref*{#4}}}
621
+ \providecommand{\rangechaprefs}[2]{\hyperref[#1]{chapters~\ref*{#1}--\ref*{#2}}}
622
+
623
+ % Chapter references (capitalized)
624
+ \providecommand{\oneChapref}[1]{\hyperref[#1]{Chapter~\ref*{#1}}}
625
+ \providecommand{\twoChaprefs}[2]{\hyperref[#1]{Chapters~\ref*{#1} and~\ref*{#2}}}
626
+ \providecommand{\threeChaprefs}[3]{\hyperref[#1]{Chapters~\ref*{#1},~\ref*{#2} and~\ref*{#3}}}
627
+ \providecommand{\fourChaprefs}[4]{\hyperref[#1]{Chapters~\ref*{#1},~\ref*{#2},~\ref*{#3} and~\ref*{#4}}}
628
+ \providecommand{\rangeChaprefs}[2]{\hyperref[#1]{Chapters~\ref*{#1}--\ref*{#2}}}
629
+
630
+ % ==================== PART REFERENCES ====================
631
+ % Part references (lowercase)
632
+ \providecommand{\onepartref}[1]{\hyperref[#1]{part~\ref*{#1}}}
633
+ \providecommand{\twopartrefs}[2]{\hyperref[#1]{parts~\ref*{#1} and~\ref*{#2}}}
634
+ \providecommand{\threepartrefs}[3]{\hyperref[#1]{parts~\ref*{#1},~\ref*{#2} and~\ref*{#3}}}
635
+ \providecommand{\fourpartrefs}[4]{\hyperref[#1]{parts~\ref*{#1},~\ref*{#2},~\ref*{#3} and~\ref*{#4}}}
636
+ \providecommand{\rangepartrefs}[2]{\hyperref[#1]{parts~\ref*{#1}--\ref*{#2}}}
637
+
638
+ % Part references (capitalized)
639
+ \providecommand{\onePartref}[1]{\hyperref[#1]{Part~\ref*{#1}}}
640
+ \providecommand{\twoPartrefs}[2]{\hyperref[#1]{Parts~\ref*{#1} and~\ref*{#2}}}
641
+ \providecommand{\threePartrefs}[3]{\hyperref[#1]{Parts~\ref*{#1},~\ref*{#2} and~\ref*{#3}}}
642
+ \providecommand{\fourPartrefs}[4]{\hyperref[#1]{Parts~\ref*{#1},~\ref*{#2},~\ref*{#3} and~\ref*{#4}}}
643
+ \providecommand{\rangePartrefs}[2]{\hyperref[#1]{Parts~\ref*{#1}--\ref*{#2}}}
644
+
645
+ % ==================== IMPLEMENTATION NOTES ====================
646
+ % 1. All commands use \providecommand to prevent redefine errors
647
+ % 2. Hyperlinks are attached to the full reference text
648
+ % 3. \ref* prevents nested hyperlinks within \hyperref
649
+ % 4. Punctuation follows English typesetting conventions
650
+ % 5. Requires packages:
651
+ % \usepackage{hyperref} % For hyperlink support
652
+ % \usepackage{cleveref} % Optional for advanced referencing
653
+
654
+ % ==================== RECOMMENDED PRACTICES ====================
655
+ % 1. Use consistent label prefixes (fig:, tab:, eq:, etc.)
656
+ % 2. For advanced features, consider using cleveref instead:
657
+ % \crefname{figure}{figure}{figures} % Singular/plural forms
658
+ % \Crefname{figure}{Figure}{Figures} % Capitalized versions
659
+ % Then use \cref{fig:1} or \Cref{fig:1} for auto-formatting
660
+
661
+ %%%-------------------------------------------------------------------------%%%
662
+ %% newcommand for math
663
+ \newcommand{\abs}[1]{\left\vert#1\right\vert}
664
+ \newcommand{\norm}[1]{\left\Vert#1\right\Vert}
665
+ \newcommand{\ceil}[1]{\lceil#1\rceil}
666
+ \newcommand{\floor}[1]{\lfloor#1\rfloor}
667
+
668
+ %% DeclareMathOperator
669
+ \DeclareMathOperator*{\argmax}{arg\,max}
670
+ \DeclareMathOperator*{\argmin}{arg\,min}
671
+ \DeclareMathOperator{\sign}{sign}
672
+ \DeclareMathOperator{\Tr}{Tr}
673
+
674
+ %%%-------------------------------------------------------------------------%%%
675
+ %% newcommand for table
676
+ \newcommand{\mr}[2]{\multirow{#1}{#2}}
677
+ \newcommand{\mc}[2]{\multicolumn{#1}{#2}}
678
+
679
+ %%%-------------------------------------------------------------------------%%%
680
+ %% Highlight a newly defined term
681
+ \newcommand{\newterm}[1]{{\textbf #1}}
@@ -0,0 +1,105 @@
1
+ import os
2
+
3
+ from pyeasyphd.tools import PyRunBibMdTex
4
+
5
+
6
+ def run_beamer_tex_weekly_reports(
7
+ path_input_file: str,
8
+ input_file_names: list[str],
9
+ path_output_file: str,
10
+ bib_path_or_file: str,
11
+ path_conferences_journals_json: str,
12
+ options: dict
13
+ ) -> None:
14
+ """
15
+ Process academic article files (TeX, and bibliography) with automated Git version control.
16
+
17
+ This function handles the conversion and processing of academic article files including TeX documents, and
18
+ bibliography management with automatic Git commit and push capabilities.
19
+
20
+ Note: The raw figures and TeX source files must be located in the data/raw subdirectory of the input path.
21
+
22
+ Args:
23
+ path_input_file (str): Path to input files directory
24
+ input_file_names (list[str]): List of input file names
25
+ path_output_file (str): Path to output directory
26
+ bib_path_or_file (str): Path to bibliography file or directory
27
+ path_conferences_journals_json (str): Path to conferences and journals JSON files directory
28
+ options (dict): Additional options to override default settings
29
+
30
+ Returns:
31
+ None
32
+ """
33
+ path_input_file = os.path.expandvars(os.path.expanduser(path_input_file))
34
+ path_output_file = os.path.expandvars(os.path.expanduser(path_output_file))
35
+
36
+ # Initialize default options with detailed descriptions
37
+ _options = {
38
+ "full_json_c": os.path.expanduser(os.path.join(path_conferences_journals_json, "conferences.json")),
39
+ "full_json_j": os.path.expanduser(os.path.join(path_conferences_journals_json, "journals.json")),
40
+
41
+ # figure options
42
+ "includegraphics_figs_directory": "",
43
+ "shutil_includegraphics_figs": True,
44
+ "includegraphics_figs_in_relative_path": True,
45
+ "figure_folder_name": "figs", # "" or "figs" or "main"
46
+
47
+ # bib options
48
+ "abbr_index_article_for_abbr": 1, # 0, 1, 2
49
+ "abbr_index_inproceedings_for_abbr": 0, # 0, 1, 2
50
+ "add_link_to_fields_for_abbr": None, # None, or ["title", "journal", "booktitle"]
51
+ "maximum_authors_for_abbr": 0, # 0, 1, 2, ...
52
+ "add_index_to_entries": False,
53
+ "bib_for_abbr_name": "abbr.bib",
54
+ "bib_for_zotero_name": "zotero.bib",
55
+ "bib_for_save_name": "save.bib",
56
+ "display_google_connected_scite": ["google", "connected", "scite"],
57
+
58
+ "bib_folder_name": "bibs", # "" or "bib" or "bibs" or "main"
59
+ "delete_original_bib_in_output_folder": False,
60
+ "bib_path_or_file": os.path.expanduser(bib_path_or_file),
61
+
62
+ # tex options
63
+ "handly_preamble": True,
64
+ "final_output_main_tex_name": "main.tex",
65
+ "run_latex": False,
66
+ "delete_run_latex_cache": False,
67
+
68
+ "input_texs_directory": "",
69
+ "shutil_input_texs": False, # default is True
70
+ "input_texs_in_relative_path": True,
71
+ "tex_folder_name": "texs", # "" or "tex" or "texs" or "main"
72
+ "delete_original_tex_in_output_folder": True, # default is False
73
+ "generate_tex": True,
74
+
75
+ # md options
76
+ "add_url_for_basic_dict": True, # default is True
77
+ "add_anchor_for_basic_dict": False, # default is False
78
+ "add_anchor_for_beauty_dict": False, # default is False
79
+ "add_anchor_for_complex_dict": False, # default is False
80
+
81
+ "final_output_main_md_name": "main.md",
82
+ "delete_temp_generate_md": True,
83
+ "add_reference_in_md": True,
84
+ "add_bib_in_md": False,
85
+ "replace_cite_to_fullcite_in_md": True,
86
+ "replace_by_basic_beauty_complex_in_md": "basic",
87
+ "display_basic_beauty_complex_references_in_md": "beauty",
88
+ "add_anchor_in_md": False, # default is False
89
+
90
+ "md_folder_name": "mds", # "" or "md" or "main"
91
+ "delete_original_md_in_output_folder": False, # default is False
92
+
93
+ # html options
94
+ "generate_html": False,
95
+ }
96
+
97
+ # Update with user-provided options
98
+ _options.update(options)
99
+
100
+ # Create full file paths from input file names
101
+ file_list = [os.path.join(path_input_file, f) for f in input_file_names]
102
+
103
+ PyRunBibMdTex(path_output_file, ".tex", "beamer", _options).run_files(file_list, "", "current")
104
+
105
+ return None
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "pyeasyphd"
3
- version = "0.3.1"
3
+ version = "0.3.3"
4
4
  description = "pyeasyphd"
5
5
  license = "GPL-3.0-or-later"
6
6
  authors = ["NextAI <nextartifintell@gmail.com>"]
File without changes
File without changes