%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%
%   Basic configuration
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Use 'KOMA-Script Book' as the document class
\documentclass[openany,toc=bibliography,toc=indentunnumbered,listof=totoc]{scrbook}

% Use Spanish as language
\usepackage[spanish]{babel}



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%   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   = {*-Semibold Italic},
  Numbers          = {OldStyle},
  PunctuationSpace = 1.125
]

% Sans font (used for titling)
\setsansfont{URW Classico}%
[
  UprightFont    = {*-Regular},
  ItalicFont     = {*-Italic 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}



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%   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

% 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=phys}{biblatex}

% Citation style (e.g. 'plain' or 'superscript')
\PassOptionsToPackage{autocite=plain}{biblatex} 

% Enable multiple bibliographies with separate numbering
\PassOptionsToPackage{defernumbers=true}{biblatex}

% Pandoc references
% Format for cross-references with \cref
\PassOptionsToPackage{noabbrev}{cleveref}
\newcommand{\crefrangeconjunction}{--}

\newlength{\cslhangindent}
\setlength{\cslhangindent}{1.5em}
\newlength{\csllabelwidth}
\setlength{\csllabelwidth}{3em}
\newenvironment{CSLReferences}[2] % #1 hanging-ident, #2 entry spacing
 {% don't indent paragraphs
  \setlength{\parindent}{0pt}
  % turn on hanging indent if param 1 is 1
  \ifodd #1 \everypar{\setlength{\hangindent}{\cslhangindent}}\ignorespaces\fi
  % set entry spacing
  \ifnum #2 > 0
  \setlength{\parskip}{#2\baselineskip}
  \fi
 }%
 {}
\usepackage{calc}
\newcommand{\CSLBlock}[1]{#1\hfill\break}
\newcommand{\CSLLeftMargin}[1]{\parbox[t]{\csllabelwidth}{#1}}
\newcommand{\CSLRightInline}[1]{\parbox[t]{\linewidth - \csllabelwidth}{#1}\break}
\newcommand{\CSLIndent}[1]{\hspace{\cslhangindent}#1}



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%   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{bibliography.bib}

\begin{document}
  % UGR titlepage
  \begin{titlepage}
  \newlength{\centeroffset}
  \setlength{\centeroffset}{-0.5\oddsidemargin}
  \addtolength{\centeroffset}{0.5\evensidemargin}
  \thispagestyle{empty}

  \noindent\hspace*{\centeroffset}
  \begin{minipage}{\textwidth}
    \centering
    \includegraphics[width=0.9\textwidth]{assets/logo_ugr}\\[1cm]

    \textsc{ \Large TRABAJO FIN DE GRADO\\[0.2cm]}
    \textsc{ GRADO DE INGENIERÍA EN INFORMÁTICA}\\[1cm]
    % Upper part of the page
    %
    % Title
    {\huge\bfseries $title$\\}
    \noindent\rule[-1ex]{\textwidth}{3pt}\\[3.5ex]

    {\large\bfseries }
  \end{minipage}

  \vspace{0.3cm}
  \noindent\hspace*{\centeroffset}\begin{minipage}{\textwidth}
  \centering

  \textbf{Autor}\\ {$author$}\\[2.5ex]
  \textbf{Directores}\\
  {Carlos Cano Gutiérrez}\\
  {María Soledad Benítez Cantos}\\[2cm]
  \includegraphics[width=0.3\textwidth]{assets/logo-ceuta.jpg}\\[0.1cm]
  \textsc{Facultad de Educación, Tecnología y Economía de Ceuta}\\
  \textsc{---}\\
  Ceuta, $date$
  \end{minipage}
  \end{titlepage}

  \frontmatter
    \tableofcontents
    \listoftables{}
    \listoffigures{}
  \mainmatter{}
    $body$
  \backmatter{}
    \printbibliography{}
\end{document}
