diff --git a/.gitignore b/.gitignore index 7c23ccb..5cc89fa 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,5 @@ *.log *.run.xml *.tdo +*.bbl +*.blg diff --git a/York-Thesis/Bibfiles/firstbib.bib b/York-Thesis/Bibfiles/firstbib.bib index b7013f6..6559739 100644 --- a/York-Thesis/Bibfiles/firstbib.bib +++ b/York-Thesis/Bibfiles/firstbib.bib @@ -2,5 +2,25 @@ author = {Donald E. Knuth}, year = {1986}, title = {The {\TeX} Book}, - publisher = {Addison-Wesley Professional} -} \ No newline at end of file + publisher = {Addison-Wesley Professional}, + arXivId = {2307.11596} +}, +@article{FalseGGJ, + author = {Victoria Gould and Ambroise Grau and Marianne Johnson}, + journal = {Trying}, + title = {The structure of {E}nd({E}nd($\mathcal{T}_n$))}, + year = {2024}, + month = jul, + arXivId = {2307.11596} +}, +@article{GGJ23, + author = {Victoria Gould and Ambroise Grau and Marianne Johnson}, + journal = {Submitted}, + title = {The structure of {E}nd($\mathcal{T}_n$)}, + year = {2023}, + month = jul, + archiveprefix = {arXiv}, + creationdate = {2023-08-05T16:13:02}, + eprint = {2307.11596} +} + diff --git a/York-Thesis/main.pdf b/York-Thesis/main.pdf index 5623230..1e72711 100644 Binary files a/York-Thesis/main.pdf and b/York-Thesis/main.pdf differ diff --git a/York-Thesis/main.tex b/York-Thesis/main.tex index 0087278..12f3cdb 100644 --- a/York-Thesis/main.tex +++ b/York-Thesis/main.tex @@ -27,7 +27,7 @@ %%% ==== Begin file % FORMAT: Font size must be at least 11pt, 12pt is set as default % TODO: Change `draft` to `final` for the published version. -\documentclass[draft,8pt]{uoythesis} +\documentclass[foredge=*,margins={spine=3cm,foredge=2cm},draft,pagenb=foot,hyperoptions={colorlinks=true}]{uoythesis} % Import the personal options for the class \usepackage{thesisoptions} @@ -44,6 +44,9 @@ % \submitdate{September 2020} % FORMAT: [month] [year]. % % Defaults to current month if unset. +\makeatletter +\newcommand{\displaysize}{Size: \f@size} +\makeatother \begin{document} % FORMAT: All pages should be numbered continuously. @@ -107,6 +110,15 @@ I hope this will be useful to many others.}\todo[color=red!60, inline, size=foot This section is where you thank your funding body, the department, your supervisor, your most loved campus geese, or whoever else you think is necessary and contributed to your achievement. +\displaysize\\ +options: \makeatletter \@classoptionslist \makeatother\\ +\showmargins +\uoythsetup{margins={spine=1cm}} +\showmargins + +\xkvview{family=uoythesis} +\xkvview{family=uoythesis.cls} + \medskip As for myself, I want to thank Alessandro for his template which makes the perfectionist inside me happy to pick up a well done job and to augment it at my wish. @@ -129,6 +141,7 @@ This section should include a text similar to: \end{verbatim} If you have submitted a paper (either already published or currently under review), this should be explicitly mentioned in this section with a reference to its bibliography entry. +This is a test \cite{FalseGGJ,GGJ23}. % WARNING: Any material included in the thesis that has been presented before % should be mentioned here, with full references for papers published % or under review. diff --git a/York-Thesis/mypreamble.tex b/York-Thesis/mypreamble.tex index 73f9055..eee6975 100644 --- a/York-Thesis/mypreamble.tex +++ b/York-Thesis/mypreamble.tex @@ -87,6 +87,7 @@ %%% ===== Bibliography setup \usepackage[eprint, % Include information for pre-prints. doi=false, + eprint=true, url=false, maxnames=10, % Truncate lists of more than 10 authors. giveninits=true, % Only output the initials of an author's given @@ -97,7 +98,15 @@ ]{biblatex} \addbibresource{\subfix{Bibfiles/firstbib.bib}} - +\DeclareSourcemap{ + \maps[datatype=bibtex]{ + \map{ + \pertype{article} + \step[fieldsource=arXivId, fieldtarget=eprint, final] + \step[fieldset=archiveprefix, fieldvalue={arXiv}] + } + } +} %%% ===== Styling for my theorems \theoremstyle{plain} % the style for theorem, propositions and lemmas diff --git a/York-Thesis/uoythesis.cls b/York-Thesis/uoythesis.cls index ab4e3fe..3bfdd1d 100644 --- a/York-Thesis/uoythesis.cls +++ b/York-Thesis/uoythesis.cls @@ -20,8 +20,8 @@ % https://git.tigrau.ovh/Ambroise/LaTeX-Templates/. -% Comments starting with FORMAT highlight requirements from the UoY thesis -% regulations, as of November 2023. +% Comments starting with `FORMAT` highlight requirements from the +% University of York thesis regulations, as of November 2023. % See https://www.york.ac.uk/research/graduate-school/academic/thesis/format/#tab-2 \NeedsTeXFormat{LaTeX2e} @@ -29,73 +29,134 @@ \providecommand{\is@uoyth@classloaded}{true} \RequirePackage{xkeyval} +\RequirePackage{etoolbox} +\RequirePackage{xstring} + +% To be able to check which keys are set +\RequirePackage{xkvview} +\let\tablename=\undefined % reset this which is defined in memoir %%% Set class options +\newcommand{\uoyth@tmp@classoptionslist}{} +\newcommand{\AddToClassOptionList}[1]{\csappto{uoyth@tmp@classoptionslist}{, #1}} +%\newcommand{\changeoptions}[1]{\cspreto{@classoptionslist}{#1,}} \newcommand{\RaiseBooleanValueWarning}[1]{ \ClassError{uoythesis}{The option {#1} must be set with either true or false}{Option #1 only accepts a boolean value} } \newcommand{\RaiseFontSizeValueWarning}[1]{ - \ClassWarning{uoythesis}{You gave size '#1' which is too small according to the guidelines. Automatically changing to the smallest value accepted: 11pt} + \ClassWarning{uoythesis}{You gave size '#1' which is too small according to the guidelines. Automatically changing to the smallest value accepted: 11pt. (Classoptions:\@classoptionslist )} +} +\newcommand{\uoyth@fontsize}{12pt} +\newcommand{\uoyth@SetFontSize}[1]{ + \AddToClassOptionList{#1} + \renewcommand{\uoyth@fontsize}{#1} + \PassOptionsToClass{#1}{memoir} } % options passed onto memoir: draft, final, oneside, twoside + \newif\ifuoyth@draft \uoyth@draftfalse \DeclareOptionX{draft}{\uoyth@drafttrue \PassOptionsToClass{draft}{memoir}} +\DeclareOptionX{final}{\uoyth@draftfalse \PassOptionsToClass{final}{memoir}} \newif\ifuoyth@onesided \uoyth@onesidedfalse - \PassOptionsToClass{twoside}{memoir} \DeclareOptionX{oneside}{\uoyth@onesidedtrue \PassOptionsToClass{oneside}{memoir}} +\DeclareOptionX{twoside}{\uoyth@onesidedfalse \PassOptionsToClass{twoside}{memoir}} -% new available options: pagenbhead, pagenbfoot, noxr, nohyperref, hyperfinal, margins +% new available options: pagenb (head or foot), noxr, nohyperref, hyperfinal, margins \newif\ifuoyth@pgnbhead \uoyth@pgnbheadtrue -\define@choicekey*{uoythesis.cls}{pagenb}[\userval\choiceval]{head,foot}[head]{ +\define@choicekey*+{uoythesis.cls}{pagenb}[\userval\choiceval]{head,foot}[head]{ \ifcase\choiceval\relax \uoyth@pgnbheadtrue \or \uoyth@pgnbheadfalse \fi -} + }{ + \ClassWarning{uoythesis}{The \texttt{pagenb} option must be set to either `head' or `foot', but you gave `#1'} + } \ExecuteOptionsX{pagenb=head} \define@boolkey+{uoythesis.cls}[uoyth@]{noxr}[true]{}{\RaiseBooleanValueWarning{noxr}} \ExecuteOptionsX{noxr=false} \define@boolkey+{uoythesis.cls}[uoyth@]{nohyperref}[true]{}{\RaiseBooleanValueWarning{nohyperref}} \ExecuteOptionsX{nohyperref=false} -\define@boolkey+{uoythesis.cls}[uoyth@]{hyperfinal}[true]{}{\RaiseBooleanValueWarning{nohyperref}} +\define@boolkey+{uoythesis.cls}[uoyth@]{hyperfinal}[true]{}{\RaiseBooleanValueWarning{hyperfinal}} \ExecuteOptionsX{hyperfinal} \DeclareOptionX{hyperoptions}{ - \ClassInfo{uoythesis.cls}{Passing options '#1' to package hyperref} + \ClassInfo{uoythesis}{Passing options '#1' to package hyperref} \PassOptionsToPackage{#1}{hyperref} } -%\ExecuteOptionsX{hyperoptions={}} +\ExecuteOptionsX{hyperoptions={}} -% FORMAT: Font size must be at least 11pt, with 12pt recommended -\newcommand{\uoyth@fontsize}{12pt} -\newcommand{\uoyth@setsmallfontsize}{ - \renewcommand{\uoyth@fontsize}{11pt} - \PassOptionsToClass{11pt}{memoir} +\define@cmdkey{uoythesis.cls}[uoyth@]{spine}{} +\define@cmdkey{uoythesis.cls}[uoyth@]{foredge}{} +\define@cmdkey{uoythesis.cls}[uoyth@]{hratio}{} +\define@cmdkey{uoythesis.cls}[uoyth@]{top}{} +\define@cmdkey{uoythesis.cls}[uoyth@]{bottom}{} +\define@cmdkey{uoythesis.cls}[uoyth@]{vratio}{} +\define@cmdkey{uoythesis.cls}[uoyth@]{margins}{\setkeys{uoythesis.cls}{#1}} + +\newcommand{\showmargins}{ + all margins=\key@ifundefined{uoythesis.cls}{margins}{undef}{`\uoyth@margins '}; + spine=\key@ifundefined{uoythesis.cls}{spine}{undef}{`\uoyth@spine '}; + foredge=\key@ifundefined{uoythesis.cls}{foredge}{undef}{\@ifundefined{uoyth@foredge}{unset}{`\uoyth@foredge'}} } -\DeclareOptionX{8pt}{\uoyth@setsmallfontsize \RaiseFontSizeValueWarning{\CurrentOption}} -\DeclareOptionX{9pt}{\uoyth@setsmallfontsize \RaiseFontSizeValueWarning{\CurrentOption}} -\DeclareOptionX{10pt}{\uoyth@setsmallfontsize \RaiseFontSizeValueWarning{\CurrentOption}} - +\newcommand{\uoythsetup}[1]{\setkeys{uoythesis.cls}{#1}} +% FORMAT: Font size must be at least 11pt, so we disable small values +%\DeclareOptionX{8pt}{ +% \RaiseFontSizeValueWarning{\CurrentOption} +% \changeoptions{11pt} +% \ChangeSizeToSmallest +% \ClassWarning{uoythesis}{Options passed are KV:\XKV@classoptionslist; and normal:\@classoptionslist} +%} +%\DeclareOptionX{9pt}{ +% \RaiseFontSizeValueWarning{\CurrentOption} \ChangeSizeToSmallest +%} +%\DeclareOptionX{10pt}{ +% \RaiseFontSizeValueWarning{\CurrentOption} \ChangeSizeToSmallest +%} +%\DeclareOptionX{13pt}{ +% \ClassInfo{uoythesis}{Font size 13pt not available, downsizing to 12pt} +% \uoyth@SetFontSize{12pt} +%} % Pass all remaining unknown options to memoir to deal with them \DeclareOptionX*{% - \PassOptionsToClass{\CurrentOption}{memoir} + \IfEndWith{\CurrentOption}{pt}{ % this is possibly a font size + \StrGobbleRight{\CurrentOption}{2}[\val] + \IfInteger{\val}{ % as a font size verifies if at least 11 + \ifnum\val<12 % if too small, set to 11 and raise warning + \RaiseFontSizeValueWarning{\CurrentOption} + \uoyth@SetFontSize{11pt} + \else + \uoyth@SetFontSize{\CurrentOption} + \fi + }{ + \PassOptionsToClass{\CurrentOption}{memoir} + } + }{ + \PassOptionsToClass{\CurrentOption}{memoir} + } } -% FORMAT: Avoid blank pages. -\PassOptionsToClass{openany}{memoir} - -% FORMAT: The document must be on A4 paper. -\PassOptionsToClass{a4paper}{memoir} - \ProcessOptionsX -\LoadClass[\uoyth@fontsize]{memoir} +\ifuoyth@draft + \AddToClassOptionList{draft} + \else + \AddToClassOptionList{final} +\fi +\ifuoyth@onesided + \AddToClassOptionList{oneside} + \else + \AddToClassOptionList{twoside} +\fi -\disable@keys{uoythesis.cls}{draft,oneside,8pt,9pt,10pt} +\renewcommand{\@classoptionslist}{\uoyth@tmp@classoptionslist} +% FORMAT: Document must be on A4 paper and avoid blank pages when starting new chapters +\LoadClass[a4paper,openany,\uoyth@fontsize]{memoir} + +\disable@keys{uoythesis.cls}{draft,oneside} \ifuoyth@hyperfinal