\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{style}[2019/06/27 Custom LaTeX style] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PACKAGES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Silence warning about obsolete package \RequirePackage{silence} \WarningFilter{remreset}{The remreset package} %% Standalone \RequirePackage{standalone} %% Encoding \RequirePackage[utf8]{inputenx} \RequirePackage[T1]{fontenc} %% Fonts and typography \RequirePackage{lmodern} % Latin Modern \renewcommand{\sfdefault}{phv} % Helvetica \RequirePackage[scaled]{beramono} % Bera Mono (Bitstream Vera Sans Mono) \RequirePackage[final]{microtype} % Improved typography \pretolerance = 1000 % Relaxes parameters for line breaks \tolerance = 2000 % Relaxes parameters for line breaks \setlength{\emergencystretch}{1em} % Relaxes parameters for line breaks \RequirePackage{siunitx} % Typesetting units \RequirePackage{listings} % Typesetting code \lstset { basicstyle = \ttfamily\footnotesize, commentstyle = \color{gray}, stringstyle = \itshape, showstringspaces = false, frame = tb } \RequirePackage[obeyspaces, spaces, hyphens]{url} % Typesetting URLs \urlstyle{sf} %% Mathematics \RequirePackage{amssymb} % Extra symbols \RequirePackage{amsthm} % Theorem-like environments \RequirePackage{thmtools} % Theorem-like environments, extends amsthm \RequirePackage{mathtools} % Fonts and environments for mathematical formulae \RequirePackage{mathrsfs} % Script font with \mathscr{} \RequirePackage{dsfont} % Double stroke font with \mathds{} \RequirePackage{cancel} % Cancel terms with \cancel, \bcancel or \xcancel \RequirePackage{stmaryrd} % Brackets \everymath { \ifodd\value{page} % Allow multiline equations \allowdisplaybreaks[1] % to break across two pages: \else % - Breaks from odd to even pages are allowed, \allowdisplaybreaks[4] % but discouraged. \fi % - Breaks from even to odd pages are allowed. } %% Language \RequirePackage{babel} \RequirePackage{csquotes} %% Graphics \RequirePackage[dvipsnames, svgnames, cmyk]{xcolor} % Pre-defined colors \RequirePackage{graphicx} % Tool for importing images \graphicspath{{figures/}} \RequirePackage{tikz} % Drawing tool \usetikzlibrary{calc} \usetikzlibrary{intersections} \usetikzlibrary{decorations.markings} %% Organising tools \RequirePackage{etoolbox} % Hooks \RequirePackage{pgffor} % For-loops \RequirePackage{comment} % Multiline comments \RequirePackage[notref, notcite]{showkeys} % Labels in margins \renewcommand{\showkeyslabelformat}[1] { \fbox { \parbox[t]{0.6\marginparwidth} { \centering\normalfont\footnotesize\ttfamily \path{#1} } } } \RequirePackage[obeyFinal, color = LightGray, bordercolor = LightGray, textsize = footnotesize, figwidth = 0.99\linewidth]{todonotes} % Marginal notes %% Lists \RequirePackage{enumitem} \setlist[itemize] {font = \upshape, before = \leavevmode} \setlist[enumerate] {font = \upshape, before = \leavevmode} \setlist[description]{font = \bfseries\sffamily, before = \leavevmode} \foreach \env in {theorem, corollary, lemma, proposition, observation, conjecture, definition, example, notation, remark} { \AtBeginEnvironment{\env} { \setlist[enumerate, 1]{wide, label = \thetheorem.\arabic{*}., ref = \thetheorem.\arabic{*}} } } %% Miscellaneous \RequirePackage{xspace} % Clever space \RequirePackage{textcomp} % Extra symbols \RequirePackage{multirow} % Rows spanning multiple lines in tables \RequirePackage{tablefootnote} % Footnotes for tables %% Bibliography \RequirePackage{mathscinet} \RequirePackage[backend = biber, sortcites = true, giveninits = true, doi = false, isbn = false, url = false, style = alphabetic]{biblatex} \DeclareNameAlias{sortname}{family-given} \DeclareNameAlias{default}{family-given} \DeclareFieldFormat[article]{volume}{\bibstring{jourvol}\addnbspace#1} \DeclareFieldFormat[article]{number}{\bibstring{number}\addnbspace#1} \renewbibmacro*{volume+number+eid} { \printfield{volume} \setunit{\addcomma\space} \printfield{number} \setunit{\addcomma\space} \printfield{eid} } \addbibresource{bibliography.bib} %% Cross references \RequirePackage{varioref} \RequirePackage[pdfusetitle]{hyperref} \RequirePackage[nameinlink, capitalize, noabbrev]{cleveref} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% MEMOIR SETTINGS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Title page \pretitle{\begin{center}\huge\sffamily\bfseries\boldmath} %% Book \renewcommand*{\printbooktitle}[1] { \hrule\vskip\onelineskip \centering\booktitlefont #1 \vskip\onelineskip\hrule } \renewcommand*{\afterbookskip}{\par} \renewcommand*{\booktitlefont}{\Huge\bfseries\boldmath\sffamily} \renewcommand*{\booknamefont}{\normalfont\huge\bfseries\MakeUppercase} %% Part \renewcommand*{\printparttitle}[1] { \hrule\vskip\onelineskip \centering\parttitlefont #1 \vskip\onelineskip\hrule } \renewcommand*{\afterpartskip}{\par} \renewcommand*{\parttitlefont}{\Huge\bfseries\boldmath\sffamily} \renewcommand*{\partnamefont}{\normalfont\huge\bfseries\MakeUppercase} %% Chapter \chapterstyle{demo2} \renewcommand*{\printchaptername} { \centering\chapnamefont\MakeUppercase{\@chapapp} } \renewcommand*{\printchapternum}{\chapnumfont\thechapter\space} \renewcommand*{\chaptitlefont}{\Huge\bfseries\boldmath\sffamily\center} %% Lower level sections \setsecheadstyle{\Large\bfseries\boldmath\sffamily\raggedright} \setsubsecheadstyle{\large\bfseries\boldmath\sffamily\raggedright} \setsubsubsecheadstyle{\normalsize\bfseries\boldmath\sffamily\raggedright} \setparaheadstyle{\normalsize\bfseries\boldmath\sffamily\raggedright} \setsubparaheadstyle{\normalsize\bfseries\boldmath\sffamily\raggedright} %% Abstract \renewcommand{\abstractnamefont}{\sffamily\bfseries} \renewcommand{\abstracttextfont}{\normalfont\small\noindent\ignorespaces} %% Table of contents \setrmarg{3em} \setpnumwidth{2em} \addtolength{\cftbooknumwidth}{0.5em} \addtolength{\cftpartnumwidth}{0.5em} \addtolength{\cftchapternumwidth}{0.5em} \addtolength{\cftsectionindent}{0.5em} \addtolength{\cftsubsectionindent}{0.5em} \addtolength{\cftsubsubsectionindent}{0.5em} \addtolength{\cftparagraphindent}{0.5em} \addtolength{\cftsubparagraphindent}{0.5em} \renewcommand{\cftchapteraftersnumb}{\bfseries\boldmath} %% Header and footer \pagestyle{ruled} \makeevenhead{ruled}{\sffamily\leftmark}{}{} \makeoddhead {ruled}{}{}{\sffamily\rightmark} \makeevenfoot{ruled}{\sffamily\thepage}{}{} \makeoddfoot{ruled}{}{}{\sffamily\thepage} \makepagestyle{chapter} \makeevenfoot{chapter}{\sffamily\thepage}{}{} \makeoddfoot{chapter}{}{}{\sffamily\thepage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%% USER-DEFINED MACROS %%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Environments \declaretheoremstyle[headfont = \bfseries\sffamily, notefont = \normalfont, bodyfont = \itshape, spaceabove = 6pt, spacebelow = 6pt]{plain} \declaretheoremstyle[headfont = \bfseries\sffamily, notefont = \normalfont, spaceabove = 6pt, spacebelow = 6pt]{definition} \declaretheorem[style = plain, numberwithin = section]{theorem} \declaretheorem[style = plain, sibling = theorem]{corollary} \declaretheorem[style = plain, sibling = theorem]{lemma} \declaretheorem[style = plain, sibling = theorem]{proposition} \declaretheorem[style = plain, sibling = theorem]{observation} \declaretheorem[style = plain, sibling = theorem]{conjecture} \declaretheorem[style = definition, sibling = theorem]{definition} \declaretheorem[style = definition, sibling = theorem]{example} \declaretheorem[style = definition, sibling = theorem]{notation} \declaretheorem[style = remark, sibling = theorem]{remark} \crefname{observation}{Observation}{Observations} \Crefname{observation}{Observation}{Observations} \crefname{conjecture}{Conjecture}{Conjectures} \Crefname{conjecture}{Conjecture}{Conjectures} \crefname{notation}{Notation}{Notations} \Crefname{notation}{Notation}{Notations} %% Operators \newcommand{\diff}{\mathop{}\!\mathrm{d}} \renewcommand{\Re}{\operatorname{Re}} \renewcommand{\Im}{\operatorname{Im}} \DeclareMathOperator{\im}{im} \DeclareMathOperator{\rank}{rank} %% Delimiters \DeclarePairedDelimiter{\p}{\lparen}{\rparen} % Parenthesis \DeclarePairedDelimiter{\set}{\lbrace}{\rbrace} % Set \DeclarePairedDelimiter{\abs}{\lvert}{\rvert} % Absolute value \DeclarePairedDelimiter{\norm}{\lVert}{\rVert} % Norm \DeclarePairedDelimiter{\ip}{\langle}{\rangle} % Inner product, ideal \DeclarePairedDelimiter{\sqb}{\lbrack}{\rbrack} % Square brackets \DeclarePairedDelimiter{\ssqb}{\llbracket}{\rrbracket} % Double brackets \DeclarePairedDelimiter{\ceil}{\lceil}{\rceil} % Ceiling \DeclarePairedDelimiter{\floor}{\lfloor}{\rfloor} % Floor %% Blackboard bold \newcommand{\N}{\mathbb{N}} % Natural numbers \newcommand{\Z}{\mathbb{Z}} % Integers \newcommand{\Q}{\mathbb{Q}} % Rational numbers \newcommand{\R}{\mathbb{R}} % Real numbers \newcommand{\C}{\mathbb{C}} % Complex numbers \newcommand{\A}{\mathbb{A}} % Affine space \renewcommand{\P}{\mathbb{P}} % Projective space %% Bold face \renewcommand{\a}{\mathbf{a}} \renewcommand{\b}{\mathbf{b}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \newcommand{\0}{\mathbf{0}} \newcommand{\1}{\mathbf{1}} %% Miscellaneous \renewcommand{\qedsymbol}{\(\blacksquare\)} \newcommand{\ie}{\leavevmode\unskip, i.e.,\xspace} \newcommand{\eg}{\leavevmode\unskip, e.g.,\xspace} \newcommand{\dash}{\textthreequartersemdash\xspace} \newcommand{\TikZ}{Ti\textit{k}Z\xspace} \newcommand{\matlab}{\textsc{Matlab}\xspace} \endinput