├── 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]