420 lines
12 KiB
Plaintext
420 lines
12 KiB
Plaintext
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%
|
|
% Basic configuration
|
|
%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
% Use 'KOMA-Script Book' as the document class
|
|
\documentclass[toc=bibliography,toc=indentunnumbered,listof=totoc]{scrbook}
|
|
|
|
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%
|
|
% Preload essentials
|
|
%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
% Load some required packages
|
|
\usepackage{etoolbox} % Modding standard environments
|
|
\usepackage[fleqn,intlimits]{amsmath} % Common mathematical environments
|
|
\usepackage[svgnames]{xcolor} % Enables coloring of text and pages
|
|
\usepackage{hyperref} % Enables hyperlink generation
|
|
|
|
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%
|
|
% Page design
|
|
%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
% Font size
|
|
\KOMAoptions{fontsize=11pt}
|
|
|
|
% Line spacing
|
|
\linespread{1.04}
|
|
|
|
% Paper format
|
|
\KOMAoptions{paper=B5}
|
|
|
|
% Duplex layout
|
|
\KOMAoptions{twoside}
|
|
|
|
% Page layout [1/sqrt(3)]
|
|
\usepackage[text={108.25mm,187.50mm},hmarginratio=1:1,vmarginratio=1:2]{geometry}
|
|
|
|
% Page layout [1/sqrt(2)]
|
|
%\KOMAoptions{BCOR=15mm}
|
|
%\KOMAoptions{DIV=11}
|
|
|
|
% Page layout [Classic circle]
|
|
%\KOMAoptions{BCOR=15mm}
|
|
%\KOMAoptions{DIV=classic}
|
|
|
|
% Disable headers
|
|
\pagestyle{plain}
|
|
|
|
% Font used for page numbers
|
|
\addtokomafont{pagenumber}{\lining\scshape}
|
|
|
|
% Use spacing instead of indentation to separate paragraphs
|
|
%\KOMAoptions{parskip=half+}
|
|
|
|
% Don't stretch the content to fill entire pages
|
|
\raggedbottom
|
|
|
|
% Don't break paragraphs because of a single line
|
|
\PassOptionsToPackage{defaultlines=2,all}{nowidow}
|
|
|
|
% Permit some hyphenation in ragged-right blocks
|
|
\PassOptionsToPackage{newcommands}{ragged2e}
|
|
|
|
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%
|
|
% Document fonts
|
|
%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
% Load font management packages
|
|
\usepackage[no-math]{fontspec}
|
|
\usepackage{unicode-math}
|
|
\usepackage{realscripts}
|
|
\usepackage{microtype}
|
|
|
|
% Where to look for fonts
|
|
\defaultfontfeatures{Path={fonts/}}
|
|
|
|
% Scale all fonts to the same x-height
|
|
\defaultfontfeatures{Scale=MatchLowercase}
|
|
|
|
% Use italics for all math letters
|
|
\unimathsetup%
|
|
{
|
|
math-style=ISO,
|
|
nabla=upright,
|
|
partial=upright
|
|
}
|
|
|
|
% Turn on "contextual alternates"
|
|
\defaultfontfeatures{RawFeature={+calt}}
|
|
|
|
% Define commands to switch number style
|
|
\newcommand{\lining}{\addfontfeature{Numbers={Lining}}}
|
|
\newcommand{\oldstyle}{\addfontfeature{Numbers={OldStyle}}}
|
|
|
|
% Serif font (used for body text)
|
|
\setmainfont{Libertinus Serif}%
|
|
[
|
|
UprightFont = {*-Regular},
|
|
ItalicFont = {*-Italic},
|
|
BoldFont = {*-Semibold},
|
|
BoldItalicFont = {*-SemiboldItalic},
|
|
Numbers = {OldStyle},
|
|
PunctuationSpace = 1.125
|
|
]
|
|
|
|
% Sans font (used for titling)
|
|
\setsansfont{URW Classico}%
|
|
[
|
|
UprightFont = {*-Regular},
|
|
ItalicFont = {*-Italic},
|
|
BoldFont = {*-Bold},
|
|
Numbers = {Proportional,Lining},
|
|
Scale = MatchUppercase
|
|
]
|
|
|
|
% Math font (used for equations)
|
|
\setmathfont{Libertinus Math}
|
|
|
|
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%
|
|
% Table of contents
|
|
%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
% Load a package for styling the table of contents
|
|
\usepackage{tocbasic}
|
|
|
|
% Do not include subsections in the table of contents
|
|
\setcounter{tocdepth}{1}
|
|
|
|
% Fix vertical spacing after table of contents title
|
|
\BeforeTOCHead[toc]{\RedeclareSectionCommand[beforeskip=1sp,afterskip=1sp]{chapter}}
|
|
|
|
% Place page numbers right after the section entries
|
|
% Use tabular lining figures for the sections, but oldstyle figures for the pages
|
|
\DeclareTOCStyleEntry[
|
|
entryformat=\lining\bfseries,
|
|
linefill=\quad,
|
|
pagenumberbox={},
|
|
raggedpagenumber,
|
|
pagenumberformat=\bfseries,
|
|
]{tocline}{chapter}
|
|
\DeclareTOCStyleEntry[
|
|
entryformat=\lining,
|
|
linefill=\quad,
|
|
pagenumberbox={},
|
|
raggedpagenumber,
|
|
pagenumberformat=,
|
|
]{tocline}{section}
|
|
|
|
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%
|
|
% Headings
|
|
%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
% Change the font used for headings
|
|
\addtokomafont{disposition}{\sffamily}
|
|
|
|
% Change the sizes of chapters and sections
|
|
\addtokomafont{chapter}{\LARGE}
|
|
\addtokomafont{section}{\large}
|
|
|
|
% Change spacing around chapters and sections
|
|
\RedeclareSectionCommand[beforeskip=-0.0\baselineskip,afterskip=0.5\baselineskip]{chapter}
|
|
\RedeclareSectionCommand[beforeskip=-1.0\baselineskip,afterskip=0.5\baselineskip]{section}
|
|
|
|
% Bringhurst-style chapter numbers in the margin
|
|
\makeatletter
|
|
\newsavebox{\feline@chapter}
|
|
\newcommand{\feline@chapter@marker}[1][4cm]{\sbox\feline@chapter{\resizebox{!}{#1}{\setlength{\fboxsep}{0pt}\color{gray}\thechapter}}\parbox[b][0.5cm]{1.5cm}{\usebox{\feline@chapter}\vspace*{-1.325cm}}}
|
|
\renewcommand*{\chapterformat}{\sbox\feline@chapter{\feline@chapter@marker[1.6cm]}\makebox[0pt][l]{\makebox[\dimexpr\textwidth+2.0\marginparsep+\wd\feline@chapter\relax][r]{\usebox\feline@chapter}}}
|
|
\makeatother
|
|
|
|
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%
|
|
% Captions
|
|
%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
% Change the font used for captions
|
|
\addtokomafont{caption}{\small}
|
|
|
|
% Change the font used for labels
|
|
\addtokomafont{captionlabel}{\bfseries\lining}
|
|
|
|
% Add 2em margins on each side of the caption. (Since the default
|
|
% \parindent is 1em, this implies that the left end of the caption
|
|
% will always look one \parindent indented if it comes right before
|
|
% or after a new paragraph, and can thus prevent weird indentation.)
|
|
\setcapdynwidth{\dimexpr\textwidth-4em\relax}
|
|
|
|
% Disable extra indentation of subsequent lines in a multiline caption
|
|
\setcapindent{0em}
|
|
|
|
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%
|
|
% Footnotes
|
|
%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
% Make sure footnote marks are separated by commas and kerned properly
|
|
\usepackage[multiple=true,mult-fn-sep=${}^{,\kern-0.07em}$]{fnpct}
|
|
|
|
% Change the font used for footnotes
|
|
%\addtokomafont{footnote}{\sffamily}
|
|
|
|
% Change the footnote marks to lining numbers
|
|
\renewcommand{\thefootnote}{\lining{\arabic{footnote}}}
|
|
|
|
% Change the footnote marks to Latin letters
|
|
%\renewcommand{\thefootnote}{\textit{\alph{footnote}}}
|
|
|
|
% Change the footnote marks to symbols
|
|
%\usepackage[wiley]{footmisc}
|
|
%\renewcommand{\thefootnote}{\fnsymbol{footnote}}
|
|
|
|
% Set the footnote rule length to the text width
|
|
\setfootnoterule{\textwidth}
|
|
|
|
% Remove the footnote rule entirely
|
|
%\setfootnoterule{0pt}
|
|
|
|
% Adjust the footnote formatting and spacing
|
|
\deffootnote{2.15em}{2.15em}{\thefootnotemark.\kern0.75em}
|
|
|
|
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%
|
|
% Hyperlinks
|
|
%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
% Table of contents links
|
|
\hypersetup{linktoc=page}
|
|
|
|
% Color the hyperlinks
|
|
\hypersetup{colorlinks}
|
|
\hypersetup{allcolors=Navy}
|
|
|
|
% Font used for hyperlinks
|
|
\urlstyle{rm}
|
|
|
|
% Fix kerning problems for backslashes and redefine underscores in hyperlinks
|
|
\makeatletter
|
|
\let\UrlSpecialsOld\UrlSpecials
|
|
\def\UrlSpecials{\UrlSpecialsOld\do\/{\Url@slash}\do\_{\Url@underscore}}%
|
|
\def\Url@slash{\@ifnextchar/{\kern+0.05em\mathchar47\kern-0.10em}%
|
|
{\kern0.08em\mathchar47\penalty\UrlBigBreakPenalty}}
|
|
\def\Url@underscore{\nfss@text{\leavevmode \kern.06em\vbox{\hrule height 0.12ex width 0.4em}}}
|
|
\makeatother
|
|
|
|
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%
|
|
% References
|
|
%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
% Bibliography backend (e.g. 'biber' or 'bibtex')
|
|
\PassOptionsToPackage{backend=biber}{biblatex}
|
|
|
|
% Bibliography style (e.g. 'phys' or 'nature')
|
|
\PassOptionsToPackage{style=bababib}{biblatex}
|
|
|
|
% Citation style (e.g. 'plain' or 'superscript')
|
|
\PassOptionsToPackage{autocite=plain}{biblatex}
|
|
|
|
% Enable multiple bibliographies with separate numbering
|
|
\PassOptionsToPackage{defernumbers=true}{biblatex}
|
|
|
|
% Format for cross-references with \cref
|
|
\PassOptionsToPackage{noabbrev}{cleveref}
|
|
\newcommand{\crefrangeconjunction}{--}
|
|
|
|
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%
|
|
% Postload packages
|
|
%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
% Load the required packages
|
|
\usepackage{biblatex} % Produces the bibliography
|
|
\usepackage{ragged2e} % Permits ragged-right with hyphenation
|
|
\usepackage{nowidow} % Prevents widows and orphans in text
|
|
\usepackage{cleveref} % Easy and consistent cross-references
|
|
\usepackage{graphicx} % Loads and displays figures
|
|
\usepackage{pdfpages} % Enables embedding of documents
|
|
\usepackage{booktabs} % Proper formatting of tables
|
|
\usepackage{siunitx} % Proper formatting of units
|
|
\usepackage{mhchem} % Proper formatting of chemicals
|
|
\usepackage{lipsum} % Insertion of arbitrary content
|
|
|
|
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%
|
|
% Miscellaneous
|
|
%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
% Enforce a consistent Greek style
|
|
%\AtBeginDocument{\let\nabla=𝛁}
|
|
\AtBeginDocument%
|
|
{
|
|
\let\epsilon=\varepsilon
|
|
\let\phi=\varphi
|
|
}
|
|
|
|
% Change the font used for tables
|
|
\AtBeginEnvironment{tabular}{\small}
|
|
\AtBeginEnvironment{tabular*}{\small}
|
|
|
|
% Use lining numbers for chemistry and physics
|
|
\mhchemoptions{textfontcommand=\lining}
|
|
\sisetup{text-rm=\lining}
|
|
|
|
% Format for typesetting physical units
|
|
\sisetup{range-units=single}
|
|
\sisetup{range-phrase=--}
|
|
\sisetup{detect-all=true}
|
|
|
|
% Use 2em equation indentation
|
|
\makeatletter
|
|
\setlength\@mathmargin{2em}
|
|
\makeatother
|
|
|
|
% Replace \cite with the more flexible \autocite
|
|
\let\cite=\autocite
|
|
|
|
% Define a custom color palette
|
|
\definecolor{whiteish}{rgb}{1.000, 0.964, 0.859}
|
|
\definecolor{rosewood}{rgb}{0.396, 0.000, 0.043}
|
|
|
|
% Declare a custom article format for my papers
|
|
\DeclareBibliographyAlias{customa}{article}
|
|
\DeclareFieldFormat[customa]{labelnumber}{\textsc{\Rn{#1}}}
|
|
|
|
% Where to look for figure files
|
|
\graphicspath{{./figures/}}
|
|
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%
|
|
% Custom macros
|
|
%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
% Abbreviations
|
|
\newcommand{\eg}{e.g.\ }
|
|
\newcommand{\ie}{i.e.\ }
|
|
\newcommand{\cf}{c.f.\ }
|
|
\newcommand{\etal}{et al.\ }
|
|
|
|
% Common notation
|
|
\renewcommand{\d}[1]{\mathop{\textrm{d}\kern0em#1\kern0.1em}}
|
|
\newcommand{\up}{\uparrow}
|
|
\newcommand{\dn}{\downarrow}
|
|
\newcommand{\trans}{{\symsfup{T}}}
|
|
|
|
% Common functions
|
|
\DeclareMathOperator{\tr}{Tr}
|
|
\DeclareMathOperator{\re}{Re}
|
|
\DeclareMathOperator{\im}{Im}
|
|
\DeclareMathOperator{\atan}{atan}
|
|
\DeclareMathOperator{\atanh}{atanh}
|
|
\DeclareMathOperator{\asin}{asin}
|
|
\DeclareMathOperator{\asinh}{asinh}
|
|
\DeclareMathOperator{\acos}{acos}
|
|
\DeclareMathOperator{\acosh}{acosh}
|
|
|
|
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%
|
|
% Document itself
|
|
%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
% Import bibliographies
|
|
\addbibresource{references.bib}
|
|
|
|
\begin{document}
|
|
\frontmatter
|
|
\include{chapters/abstract}
|
|
\include{chapters/preface}
|
|
\tableofcontents
|
|
\mainmatter
|
|
\include{chapters/introduction}
|
|
\include{chapters/test}
|
|
\include{chapters/conclusion}
|
|
\backmatter
|
|
\printbibliography
|
|
\end{document}
|