├── screenshots
├── boxes1.png
├── boxes2.png
├── general1.png
└── general2.png
├── chezbeamer.cls
├── chezglyphtounicode.tex
├── chezarticle.cls
├── chezreport.cls
├── chezint.sty
├── chezb.sty
├── chezbase.sty
├── README.md
└── chez.sty
/screenshots/boxes1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chezbgone/chez-sty/HEAD/screenshots/boxes1.png
--------------------------------------------------------------------------------
/screenshots/boxes2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chezbgone/chez-sty/HEAD/screenshots/boxes2.png
--------------------------------------------------------------------------------
/screenshots/general1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chezbgone/chez-sty/HEAD/screenshots/general1.png
--------------------------------------------------------------------------------
/screenshots/general2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chezbgone/chez-sty/HEAD/screenshots/general2.png
--------------------------------------------------------------------------------
/chezbeamer.cls:
--------------------------------------------------------------------------------
1 | \NeedsTeXFormat{LaTeX2e}
2 | \ProvidesClass{chezbeamer}
3 |
4 | \LoadClass{beamer}
5 |
6 | \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{beamer}}
7 | \ProcessOptions\relax
8 |
9 | \RequirePackage{chezbase}
10 |
--------------------------------------------------------------------------------
/chezglyphtounicode.tex:
--------------------------------------------------------------------------------
1 | \pdfglyphtounicode{notsubsetdbl}{22D0 0338}
2 | \pdfglyphtounicode{simequal}{2245}
3 | \pdfglyphtounicode{notsimequal}{2247}
4 | \pdfglyphtounicode{uniontext}{22C3}
5 | \pdfglyphtounicode{nelement}{2209}
6 | \pdfglyphtounicode{nequal}{2260}
7 | \pdfglyphtounicode{llbracket}{27E6}
8 | \pdfglyphtounicode{rrbracket}{27E7}
9 | \pdfglyphtounicode{llparenthesis}{0028 007C}
10 | \pdfglyphtounicode{rrparenthesis}{007C 0029}
11 | \pdfglyphtounicode{colonequal}{2254}
12 |
--------------------------------------------------------------------------------
/chezarticle.cls:
--------------------------------------------------------------------------------
1 | \NeedsTeXFormat{LaTeX2e}
2 | \ProvidesClass{chezarticle}
3 |
4 | \LoadClass{scrartcl}
5 |
6 | \DeclareOption{header}{%
7 | \PassOptionsToClass{headinclude}{scrartcl}%
8 | \PassOptionsToPackage{header}{chez}%
9 | }
10 |
11 | \DeclareOption{nodate}{\PassOptionsToPackage{nodate}{chez}}
12 | \DeclareOption{serifs}{\PassOptionsToPackage{serifs}{chez}}
13 | \DeclareOption{gray}{\PassOptionsToPackage{gray}{chez}}
14 | \DeclareOption{nobox}{\PassOptionsToPackage{nobox}{chez}}
15 | \DeclareOption{asy}{\PassOptionsToPackage{asy}{chez}}
16 | \DeclareOption{algos}{\PassOptionsToPackage{algos}{chez}}
17 | \DeclareOption{code}{\PassOptionsToPackage{code}{chez}}
18 | \DeclareOption{compact}{\PassOptionsToPackage{compact}{chez}}
19 | \DeclareOption{nomarginnum}{\PassOptionsToPackage{nomarginnum}{chez}}
20 | \DeclareOption{numberwithinsection}{\PassOptionsToPackage{numberwithinsection}{chez}}
21 | \DeclareOption{sepcounters}{\PassOptionsToPackage{sepcounters}{chez}}
22 |
23 | \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{scrartcl}}
24 | \ProcessOptions\relax
25 |
26 | \RequirePackage{chez}
27 |
--------------------------------------------------------------------------------
/chezreport.cls:
--------------------------------------------------------------------------------
1 | \NeedsTeXFormat{LaTeX2e}
2 | \ProvidesClass{chezreport}
3 |
4 | \LoadClass{scrreport}
5 |
6 | \DeclareOption{header}{%
7 | \PassOptionsToClass{headinclude}{scrreprt}%
8 | \PassOptionsToPackage{header}{chez}%
9 | }
10 |
11 | \DeclareOption{nodate}{\PassOptionsToPackage{nodate}{chez}}
12 | \DeclareOption{serifs}{\PassOptionsToPackage{serifs}{chez}}
13 | \DeclareOption{gray}{\PassOptionsToPackage{gray}{chez}}
14 | \DeclareOption{nobox}{\PassOptionsToPackage{nobox}{chez}}
15 | \DeclareOption{asy}{\PassOptionsToPackage{asy}{chez}}
16 | \DeclareOption{algos}{\PassOptionsToPackage{algos}{chez}}
17 | \DeclareOption{code}{\PassOptionsToPackage{code}{chez}}
18 | \DeclareOption{compact}{\PassOptionsToPackage{compact}{chez}}
19 | \DeclareOption{nomarginnum}{\PassOptionsToPackage{nomarginnum}{chez}}
20 | \DeclareOption{numberwithinsection}{\PassOptionsToPackage{numberwithinsection}{chez}}
21 | \DeclareOption{sepcounters}{\PassOptionsToPackage{sepcounters}{chez}}
22 |
23 | \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{scrreport}}
24 | \ProcessOptions\relax
25 |
26 | \RequirePackage{chez}
27 |
--------------------------------------------------------------------------------
/chezint.sty:
--------------------------------------------------------------------------------
1 | \ProvidesPackage{chezint}
2 |
3 | \DeclareSymbolFont{largesymbolsA}{U}{esint}{m}{n}
4 |
5 | \DeclareMathSymbol{\dotsintop}{\mathop}{largesymbolsA}{'011}
6 | \def\dotsint{\DOTSI\dotsintop\ilimits@}
7 | \let\idotsint\dotsint
8 |
9 | \DeclareMathSymbol{\oiintop}{\mathop}{largesymbolsA}{'015}
10 | \def\oiint{\DOTSI\oiintop\ilimits@}
11 |
12 | \DeclareMathSymbol{\sqintop}{\mathop}{largesymbolsA}{'017}
13 | \def\sqint{\DOTSI\sqintop\ilimits@}
14 |
15 | \DeclareMathSymbol{\sqiintop}{\mathop}{largesymbolsA}{'021}
16 | \def\sqiint{\DOTSI\sqiintop\ilimits@}
17 |
18 | \DeclareMathSymbol{\ointctrclockwiseop}{\mathop}{largesymbolsA}{'027}
19 | \def\ointctrclockwise{\DOTSI\ointctrclockwiseop\ilimits@}
20 |
21 | \DeclareMathSymbol{\ointclockwiseop}{\mathop}{largesymbolsA}{'031}
22 | \def\ointclockwise{\DOTSI\ointclockwiseop\ilimits@}
23 |
24 | \DeclareMathSymbol{\varointclockwiseop}{\mathop}{largesymbolsA}{'033}
25 | \def\varointclockwise{\DOTSI\varointclockwiseop\ilimits@}
26 |
27 | \DeclareMathSymbol{\varointctrclockwiseop}{\mathop}{largesymbolsA}{'035}
28 | \def\varointctrclockwise{\DOTSI\varointctrclockwiseop\ilimits@}
29 |
30 | \DeclareMathSymbol{\fintop}{\mathop}{largesymbolsA}{'037}
31 | \def\fint{\DOTSI\fintop\ilimits@}
32 |
33 | \DeclareMathSymbol{\varoiintop}{\mathop}{largesymbolsA}{'041}
34 | \def\varoiint{\DOTSI\varoiintop\ilimits@}
35 |
36 | \DeclareMathSymbol{\landupintop}{\mathop}{largesymbolsA}{'043}
37 | \def\landupint{\DOTSI\landupintop\ilimits@}
38 |
39 | \DeclareMathSymbol{\landdownintop}{\mathop}{largesymbolsA}{'045}
40 | \def\landdownint{\DOTSI\landdownintop\ilimits@}
41 |
42 | \endinput
43 |
--------------------------------------------------------------------------------
/chezb.sty:
--------------------------------------------------------------------------------
1 | \ProvidesPackage{chezb}[2017/09/09]
2 | \usepackage{amsmath, amssymb, amsthm}
3 |
4 | % We include "chez" in all of these to make sure
5 | % that they do not conflict with any other packages
6 | \newif\ifchezsetup \chezsetuptrue
7 | \newif\ifchezshorts \chezshortstrue
8 | \newif\ifchezasy \chezasytrue
9 |
10 | \DeclareOption{nosetup}{\chezasyfalse}
11 | \DeclareOption{noshortcuts}{\chezshortsfalse}
12 | \DeclareOption{noasy}{\chezasyfalse}
13 | \DeclareOption{noauthor}{\chezauthorfalse}
14 | \DeclareOption{nodate}{\chezdatefalse}
15 |
16 | \newif\ifchezbeamernobutton \chezbeamernobuttontrue
17 | \newif\ifchezbeamernice \chezbeamernicetrue
18 | \newif\ifchezallsmallcaps \chezallsmallcapstrue
19 | \newif\ifchezthm \chezthmtrue
20 |
21 | \DeclareOption{buttons}{\chezbeamernobuttonfalse}
22 | \DeclareOption{nobeamernice}{\chezbeamernicefalse}
23 | \DeclareOption{noallsmallcaps}{\chezallsmallcapsfalse}
24 | \DeclareOption{nothms}{\chezthmfalse}
25 |
26 | \ProcessOptions\relax
27 |
28 | \usepackage{chezbase}
29 |
30 | \ifchezsetup
31 | \ifchezbeamernobutton
32 | \beamertemplatenavigationsymbolsempty
33 | \fi
34 |
35 | \ifchezthm
36 | \newtheorem{proposition}[theorem]{Proposition}
37 | \newtheorem{answer}[theorem]{Answer}
38 | \newtheorem{case}[theorem]{Case}
39 | \newtheorem{claim}[theorem]{Claim}
40 | \newtheorem{conjecture}[theorem]{Conjecture}
41 | \newtheorem{exercise}[theorem]{Exercise}
42 | \newtheorem{idea}[theorem]{Idea}
43 | \newtheorem{question}[theorem]{Question}
44 |
45 | \definecolor{chezdarkred}{rgb}{0.523, 0.148, 0.148}
46 | \definecolor{chezpalered}{rgb}{0.949, 0.910, 0.910}
47 | \definecolor{chezdarkblue}{rgb}{0.148, 0.148, 0.523}
48 | \definecolor{chezpaleblue}{rgb}{0.910, 0.910, 0.949}
49 | \definecolor{chezdarkgreen}{rgb}{0.148, 0.523, 0.148}
50 | \definecolor{chezpalegreen}{rgb}{0.910, 0.949, 0.910}
51 |
52 | \AtBeginEnvironment{theorem}{
53 | \setbeamercolor{block title}{fg=white, bg=chezdarkblue}
54 | \setbeamercolor{block body}{fg=black, bg=chezpaleblue}
55 | }
56 |
57 | \AtBeginEnvironment{lemma}{
58 | \setbeamercolor{block title}{fg=white, bg=chezdarkblue}
59 | \setbeamercolor{block body}{fg=black, bg=chezpaleblue}
60 | }
61 |
62 | \AtBeginEnvironment{proposition}{
63 | \setbeamercolor{block title}{fg=white, bg=chezdarkblue}
64 | \setbeamercolor{block body}{fg=black, bg=chezpaleblue}
65 | }
66 |
67 | \AtBeginEnvironment{corollary}{
68 | \setbeamercolor{block title}{fg=white, bg=chezdarkblue}
69 | \setbeamercolor{block body}{fg=black, bg=chezpaleblue}
70 | }
71 |
72 | \AtBeginEnvironment{conjecture}{
73 | \setbeamercolor{block title}{fg=white, bg=chezdarkblue}
74 | \setbeamercolor{block body}{fg=black, bg=chezpaleblue}
75 | }
76 |
77 | \AtBeginEnvironment{definition}{
78 | \setbeamercolor{block title}{fg=white, bg=chezdarkblue}
79 | \setbeamercolor{block body}{fg=black, bg=chezpaleblue}
80 | }
81 |
82 | \AtBeginEnvironment{example}{
83 | \setbeamercolor{block title example}{fg=white, bg=chezdarkgreen}
84 | \setbeamercolor{block body example}{fg=black, bg=chezpalegreen}
85 | }
86 |
87 | \AtBeginEnvironment{proof}{
88 | \setbeamercolor{block title}{fg=white, bg=chezdarkblue}
89 | \setbeamercolor{block body}{fg=black, bg=chezpaleblue}
90 | }
91 |
92 | \AtBeginEnvironment{alert}{
93 | \setbeamercolor{block title alert}{fg=white, bg=chezdarkred}
94 | \setbeamercolor{block body alert}{fg=black, bg=chezpalered}
95 | }
96 | \fi
97 |
98 | \ifchezbeamernice
99 | \IfFileExists{beamerthememetropolis.sty}{
100 | \usepackage[sfdefault, lf]{FiraSans}
101 | \usetheme[block=fill, background=dark]{metropolis}
102 | \ifchezallsmallcaps
103 | \metroset{titleformat = allsmallcaps}
104 | \setbeamerfont{title}{size=\Large, series=\mdseries}
105 | \setbeamerfont{section title}{size=\Large, series=\mdseries}
106 | \setbeamerfont{block title}{size=\normalsize, series=\mdseries}
107 | \setbeamerfont{block title alerted}{size=\normalsize, series=\mdseries}
108 | \setbeamerfont{frametitle}{size=\large, series=\mdseries}
109 | \setbeamerfont{caption name}{series=\mdseries}
110 | \setbeamerfont{description item}{series=\mdseries}
111 | \setbeamerfont{standout}{size=\Large, series=\mdseries}
112 | \fi
113 | }{
114 | \usetheme{Rochester}
115 | \usecolortheme{whale}
116 | }
117 | \else
118 | \usetheme{Rochester}
119 | \usecolortheme{whale}
120 | \fi
121 | \fi
122 |
--------------------------------------------------------------------------------
/chezbase.sty:
--------------------------------------------------------------------------------
1 | \ProvidesPackage{chezbase}
2 |
3 | \RequirePackage{xparse}
4 | \RequirePackage{etoolbox}
5 |
6 | \RequirePackage[T1]{fontenc}
7 | \RequirePackage[frak=boondox, frakscaled=0.98, scr=boondoxo]{mathalpha}
8 |
9 | \RequirePackage{mathtools, amssymb, amsthm}
10 | \RequirePackage{nccmath}
11 | \RequirePackage{chezint} % More integrals (e.g. \oiint)
12 |
13 | \RequirePackage{xcolor}
14 | \RequirePackage{graphicx}
15 | \RequirePackage{booktabs} % Better table commands
16 | \RequirePackage{array}
17 |
18 | % Make \bfseries include \boldmath
19 | \g@addto@macro\bfseries{\boldmath}
20 |
21 | %% Make cases environment use \lbrack instead of \lbrace
22 | %\patchcmd{\env@cases}{\lbrace}{\lbrack}{}{}
23 |
24 | \definecolor{chezred}{rgb}{0.8, 0.05, 0.05}
25 | \definecolor{chezgreen}{rgb}{0.1, 0.4, 0.1}
26 | \definecolor{chezblue}{rgb}{0, 0.3, 0.8}
27 | \definecolor{chezorange}{rgb}{0.86, 0.4, 0}
28 | \definecolor{chezpurple}{rgb}{0.4, 0, 0.7}
29 |
30 | % I use this enough to need this
31 | \definecolor{todocolor}{rgb}{0.8, 0.1, 0.1}
32 | \NewDocumentCommand{\TODO}{o}{\textcolor{todocolor}{TODO\IfNoValueF{#1}{: #1}}}
33 |
34 | % Emphasizing
35 | \definecolor{emphcolor}{rgb}{0, 0.4, 1}
36 | \NewDocumentCommand{\vocab}{m}{\textbf{\textcolor{emphcolor}{#1}}}
37 | \NewDocumentCommand{\answer}{m}{\textcolor{emphcolor}{#1}}
38 | \NewDocumentCommand{\ol}{}{\overline}
39 | \NewDocumentCommand{\ul}{}{\underline}
40 |
41 | % Syntactically-named delimiters
42 | \DeclarePairedDelimiter{\braces}{\lbrace}{\rbrace}
43 | \DeclarePairedDelimiter{\parens}{\lparen}{\rparen}
44 | \DeclarePairedDelimiter{\brackets}{\lbrack}{\rbrack}
45 | \DeclarePairedDelimiter{\bbrackets}{\llbracket}{\rrbracket}
46 | \DeclarePairedDelimiter{\angles}{\langle}{\rangle}
47 | \DeclarePairedDelimiter{\verts}{\lvert}{\rvert}
48 | \DeclarePairedDelimiter{\Verts}{\lVert}{\rVert}
49 | \DeclarePairedDelimiter{\floor}{\lfloor}{\rfloor}
50 | \DeclarePairedDelimiter{\ceil}{\lceil}{\rceil}
51 |
52 | % Semantically-named delimiters
53 | \NewDocumentCommand{\abs}{}{\verts}
54 | \NewDocumentCommand{\size}{}{\verts}
55 | \NewDocumentCommand{\norm}{}{\Verts}
56 | \NewDocumentCommand{\tuple}{}{\angles}
57 | \NewDocumentCommand{\gen}{}{\angles}
58 | \NewDocumentCommand{\fgen}{}{\braces} %free
59 | \DeclarePairedDelimiterX{\set}[1]{\lbrace}{\rbrace}{
60 | \RenewDocumentCommand{\mid}{}{\;\delimsize\vert\;}%
61 | #1%
62 | }
63 |
64 | % Symbols
65 | \NewDocumentCommand{\eps}{}{\varepsilon}
66 | \NewDocumentCommand{\nullset}{}{\varnothing}
67 | \NewDocumentCommand{\bigand}{}{\bigwedge}
68 | \NewDocumentCommand{\bigor}{}{\bigvee}
69 |
70 | % Common Math
71 | \NewDocumentCommand{\half}{}{\frac{1}{2}}
72 | \NewDocumentCommand{\cbrt}{m}{\sqrt[3]{#1}}
73 |
74 | % Sets
75 | \NewDocumentCommand{\FF}{}{\mathbb{F}}
76 | \NewDocumentCommand{\NN}{}{\mathbb{N}}
77 | \NewDocumentCommand{\ZZ}{}{\mathbb{Z}}
78 | \NewDocumentCommand{\QQ}{}{\mathbb{Q}}
79 | \NewDocumentCommand{\RR}{}{\mathbb{R}}
80 | \NewDocumentCommand{\CC}{}{\mathbb{C}}
81 | \NewDocumentCommand{\HH}{}{\mathbb{H}}
82 |
83 | \newcommand{\intersect}{\DOTSB\cap} % can't use xparse because it protects \DOTSB
84 | \NewDocumentCommand{\bigintersect}{}{\bigcap}
85 | \newcommand{\union}{\DOTSB\cup} % can't use xparse because it protects \DOTSB
86 | \NewDocumentCommand{\bigunion}{}{\bigcup}
87 |
88 | % General
89 | \DeclareMathOperator*{\argmax}{argmax}
90 | \DeclareMathOperator*{\argmin}{argmin}
91 | \RenewDocumentCommand{\Re}{}{\operatorname{Re}}
92 | \RenewDocumentCommand{\Im}{}{\operatorname{Im}}
93 | \DeclareMathOperator{\cis}{cis}
94 | \DeclareMathOperator{\arccosh}{arccosh}
95 | \DeclareMathOperator{\arcsinh}{arcsinh}
96 | \DeclareMathOperator{\arctanh}{arctanh}
97 | \DeclareMathOperator{\sign}{sign}
98 |
99 | % Combinatorics / Statistics
100 | \NewDocumentCommand{\EExp}{}{\operatorname*{\mathbb{E}}}
101 | \NewDocumentCommand{\PProb}{}{\operatorname*{\mathbb{P}}}
102 | \DeclareMathOperator{\Var}{Var}
103 | \DeclareMathOperator{\Cov}{Cov}
104 |
105 | % Geometry
106 | \NewDocumentCommand{\dg}{}{^\circ}
107 | \NewDocumentCommand{\seg}{m}{\overrightarrow{#1}}
108 | \NewDocumentCommand{\ray}{m}{\overrightarrow{#1}}
109 | \NewDocumentCommand{\dang}{}{\measuredangle}
110 |
111 | % Number Theory
112 | \RenewDocumentCommand{\mod}{m}{\ \mathrm{mod}\ #1}
113 | \DeclareMathOperator*{\lcm}{lcm}
114 |
115 | % Calculus
116 | \NewDocumentCommand{\dv}{s m m}{
117 | \IfBooleanTF{#1}
118 | {d#2/d#3}
119 | {\frac{d #2}{d #3}}
120 | }
121 | \NewDocumentCommand{\dnv}{s m m m}{
122 | \IfBooleanTF{#1}
123 | {d^{#4}#2/d{#3}^{#4}}
124 | {\frac{d^{#4} #2}{d {#3}^{#4}}}
125 | }
126 | \NewDocumentCommand{\ddv}{s m m}{
127 | \IfBooleanTF{#1}
128 | {\dnv*{#2}{#3}{2}}
129 | {\dnv{#2}{#3}{2}}
130 | }
131 | \NewDocumentCommand{\pdv}{s m m}{
132 | \IfBooleanTF{#1}
133 | {\partial{#2}/\partial{#3}}
134 | {\frac{\partial{#2}}{\partial{#3}}}
135 | }
136 | \NewDocumentCommand{\pdnv}{s m m m}{
137 | \IfBooleanTF{#1}
138 | {\partial^{#4}#2/\partial{#3}^{#4}}
139 | {\frac{\partial^{#4} #2}{\partial{#3}^{#4}}}
140 | }
141 | \NewDocumentCommand{\pddv}{s m m}{
142 | \IfBooleanTF{#1}
143 | {\pdnv*{#2}{#3}{2}}
144 | {\pdnv{#2}{#3}{2}}
145 | }
146 |
147 | \let\obelus\div%
148 | \let\div\relax % was originally the division symbol
149 | \DeclareMathOperator{\grad}{grad}
150 | \DeclareMathOperator{\div}{div}
151 | \DeclareMathOperator{\curl}{curl}
152 |
153 | % Algebra
154 | \DeclareMathOperator{\ord}{ord}
155 | \newcommand{\iso}{\DOTSB\cong} % can't use xparse because it protects \DOTSB
156 | \NewDocumentCommand{\inv}{}{^{-1}}
157 |
158 | \DeclareMathOperator{\rank}{rank}
159 | \DeclareMathOperator{\tr}{tr}
160 | \DeclareMathOperator{\id}{id}
161 | \DeclareMathOperator{\Char}{char} % characteristic of a ring; \char already exists
162 | \DeclareMathOperator{\img}{im} % \im is already defined for imaginary part
163 | \DeclareMathOperator{\Ker}{Ker}
164 | \DeclareMathOperator{\Img}{Im}
165 | \DeclareMathOperator{\Aut}{Aut}
166 | \DeclareMathOperator{\Tor}{Tor}
167 | \DeclareMathOperator{\Ext}{Ext}
168 |
169 | \NewDocumentCommand{\RP}{}{\mathbb{RP}}
170 | \NewDocumentCommand{\CP}{}{\mathbb{CP}}
171 | \DeclareMathOperator{\GL}{GL}
172 | \DeclareMathOperator{\SL}{SL}
173 | \DeclareMathOperator{\SO}{SO}
174 | \DeclareMathOperator{\SU}{SU}
175 | \DeclareMathOperator{\Orth}{O}
176 |
177 | \DeclareMathOperator{\Gal}{Gal}
178 |
179 | % Algebraic Geometry
180 | \NewDocumentCommand{\PP}{}{\mathbb{P}}
181 | \NewDocumentCommand{\VV}{}{\mathcal{V}}
182 | \NewDocumentCommand{\II}{}{\mathcal{I}}
183 | \DeclareMathOperator{\Spec}{Spec}
184 |
185 | % Category Theory
186 | \DeclareMathOperator{\Obj}{Obj}
187 | \DeclareMathOperator{\Hom}{Hom}
188 | \NewDocumentCommand{\cat}{}{\mathsf}
189 |
190 | \endinput
191 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # chez-sty
2 |
3 | This is a repository containing an up-to-date version of
4 | my LaTeX classes and style files, which I use for almost all my documents.
5 |
6 |
7 |
8 |
9 | Currently, only the document styles are functional.
10 | The beamer style is extremely bare bones.
11 |
12 | ## Installation
13 | There are two main use cases.
14 | You can try out the document style for a single document,
15 | or you can install the styles for usage in all documents.
16 |
17 | ### Single document
18 | Clone the repository and copy all of the files into
19 | the same directory as the `.tex` file being compiled.
20 | The compiler should automatically detect the style files when compiling
21 | the main `.tex` file.
22 |
23 | #### Overleaf
24 | Currently, the version of TeX on Overleaf (2021) does not support
25 | tcolorbox v5.0.0, so use [this commit](https://github.com/chezbgone/chez-sty/tree/4e6dbf5bcdb9cf9992bdbc31cd731ffd6843164c).
26 | Download the package `.cls`, `.sty`, and `.tex` files
27 | and upload them into the document.
28 |
29 | ### Global usage
30 | It is also possible to install the styles globally
31 | so that all documents have access to them.
32 | To do this, clone this repository into
33 | the corresponding location within the TEXMF root directory.
34 | Compiler-dependent instructions are below.
35 |
36 | #### TeXLive
37 | Clone the repository into `~/texmf/tex/latex`,
38 | so that the repository files are in `~/texmf/tex/latex/chez-sty`.
39 | You may need to create intermediate directories.
40 |
41 | For Windows, the repository to put the files in can be found by
42 | opening Windows Powershell (in the Win-X menu), and running
43 | `kpsewhich -var-value=TEXMFLOCAL` or
44 | `kpsewhich -var-value=TEXMFHOME`.
45 |
46 | You can also modify the environment variable `$TEXMFHOME`
47 | to declare another location for the local TEXMF directory.
48 | In that case, the repository should be cloned into `$TEXMFHOME/tex/latex`.
49 |
50 | #### MacTeX
51 | Clone the repository into `~/Library/texmf/tex/latex`,
52 | so that the repository files are in `~/Library/texmf/tex/latex/chez-sty`.
53 | You may need to create intermediate directories.
54 |
55 | #### MiKTeX
56 | Find the `UserInstall` directory corresponding to your system
57 | [here](https://miktex.org/kb/texmf-roots).
58 | Clone the repository into `/tex/latex`,
59 | so that the repository files are in `/tex/latex/chez-sty`.
60 | You may need to create intermediate directories.
61 |
62 | For example, on Windows, the repository should be cloned to
63 | `%USERPROFILE%\Roaming\MiKTeX\2.9\tex\latex\chez-sty`,
64 | where `%USERPROFILE%` is probably something like `C:\Users\Jason`
65 |
66 | You can also register an additional TEXMF root directory,
67 | as described at the end of https://miktex.org/kb/texmf-roots.
68 |
69 |
70 | ## Usage
71 | Use the documentclass `chezarticle` or the documentclass `chezreport`
72 | in place of the standard `article` and `report` classes respectively.
73 |
74 | Here is an example document:
75 | ```tex
76 | \documentclass{chezreport}
77 | \title{Sample document}
78 |
79 | \begin{document}
80 | \maketitle
81 | This is some content.
82 | \end{document}
83 | ```
84 |
85 |
86 | ### Features
87 |
88 | #### Commands
89 | There are many commands defined for convenience and code readability.
90 | Notable ones are:
91 | - `\vocab{text}` to bold and color text blue, to indicate an important term.
92 |
93 | - `\ol{text}` and `\ul{text}` for overline and underline.
94 |
95 | - `\FF`,
96 | `\NN`,
97 | `\ZZ`,
98 | `\QQ`,
99 | `\RR`,
100 | `\CC`, and
101 | `\HH`
102 | for `\mathbb` versions of the corresponding letter.
103 |
104 | - `\intersect` and `\union` for code-readable versions of `\cap` and `\cup`
105 | `\bigintersect` and `\bigunion` also exist for `\bigcap` and `\bigcup`.
106 |
107 | - `\dv{y}{x}` gives the derivative fraction `\frac{dy}{dx}`.
108 | `\ddv{y}{x}` gives the derivative fraction `\frac{d^2y}{dx^2}`.
109 | `\dnv{y}{x}{n}` gives the derivative fraction `\frac{d^ny}{dx^n}`.
110 |
111 | Similarly
112 | `\pdv{y}{x}` gives the partial derivative fraction
113 | `\frac{\partial y}{\partial x}`.
114 | `\pddv{y}{x}` gives the partial derivative fraction
115 | `\frac{\partial^2 y}{\partial x^2}`.
116 | `\pdnv{y}{x}{n}` gives the partial derivative fraction
117 | `\frac{\partial^n y}{\partial x^n}`.
118 |
119 | There exists starred versions of all of these commands
120 | that produce inline versions.
121 |
122 | #### Delimiters
123 | In math mode, we often use `\left` and `\right` to get
124 | correctly sized delimiters.
125 | There are typically two approaches people take when doing so:
126 | - typing `\left(\right)`,
127 | typing in between the delimiters,
128 | and then moving the cursor to the end; and
129 | - typing `\left(`,
130 | then the content in between the delimiters,
131 | and then `\right)`.
132 |
133 | The first method is inconvenient as we have to move the cursor back and forth,
134 | and the second method is error prone as we have to remember the `\right`,
135 | which becomes increasingly easy to forget in the case of nested brackets.
136 |
137 | In this package we present a solution to this.
138 | We define commands for each delimiter pair, e.g. `\parens*{content}`,
139 | where the star indicates that the delimiters should be automatically sized.
140 | Omitting the star will give the normal sized delimiters.
141 | For manual sizing, you can use `\parens[\big]{content}`.
142 |
143 | The delimiters provided are:
144 | - `\braces`
145 | - `\parens`
146 | - `\brackets`
147 | - `\angles`
148 | - `\verts`
149 | - `\Verts`
150 | - `\floor`
151 | - `\ceil`
152 |
153 | There are also semantically-named delimiters to allow for more readable code:
154 | - `\abs` (for `\verts`)
155 | - `\size` (for `\verts`)
156 | - `\norm` (for `\Verts`)
157 | - `\tuple` (for `\angles`)
158 | - `\gen` (for `\angles`; use in the context of generators)
159 | - `\fgen` (for `\braces`; f here stands for free)
160 | - `\set` (for `\braces`; this also smartly resizes a `\mid` inside the set)
161 |
162 | #### Boxes
163 | One main feature of the style is colored boxes environments
164 | for definitions, examples, and theorems.
165 | These can be used with, e.g.:
166 | ```tex
167 | \begin{example}[Title]