%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% ulisboa/fmv/ulisboa-fmv-defaults.clo
%% NOVA thesis configuration file
%%
%% Customization for ULISBOA-FMV (strings and cover)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\typeout{NT FILE ulisboa/fmv/ulisboa-fmv-defaults.clo}%


%%=======================================================================
%% METADATA & GLOBAL PROPERTIES
%%=======================================================================

% Only XeLaTeX/LuaLaTeX are accepted (uses an OpenType-only font)
\AddValidProcessor{ulisboa/fmv}{lua,xe}
\AddValidDegree{ulisboa/fmv}{phd,msc}

% ULISBOA/FMV
\NTOptNewChoice{ulisboa/fmv/scientificarea}{C, MF, PASA, SA}{C}
\NTOptNewChoice{ulisboa/fmv/embargo/period}{I, 6, 12}{I}
\NTOptNewValue{ulisboa/fmv/embargo/justification}{Justification for the temporary embargo.}
\NTOptNewChoice{ulisboa/fmv/reproduction}{I, P, N}{I}

\ntsetup{style/font=calibri}
\ntsetup{style/chapter=fmv}
\ntsetup{lang/cover=pt}
\ntsetup{print/frontpage=true}
\ifdocworking{}{\ntsetup{color/links=black}}
\ntsetup{print/statement=true}
\ntsetup{numbering/floats=sequential}

\ntaddfile{statement}[en]{ulisboa-fmv/ulisboa-fmv-statement-en}
\ntaddfile{statement}[pt]{ulisboa-fmv/ulisboa-fmv-statement-pt}

\ntbibsetup{style=biblatex-cse}

\IfStrEq{\@LANG@MAIN}{en}{%
  \SetAbstractOrder*(en)={pt,pt-ext,en}
  \SetBkmString*(abstract,pt-ext)={Resumo Alargado}
}

\setcounter{lofdepth}{2}
\linespread{1.30}
\captionnamefont{\fontsize{10}{10}\selectfont\bfseries}
\captiontitlefont{\fontsize{10}{10}\selectfont\bfseries}
\openany


%%=======================================================================
%% COLORS
%%=======================================================================

\definecolor{fmvyellow}{RGB}{253,241,81}
\definecolor{lightyellow}{RGB}{254,254,230}


%%=======================================================================
%% STRINGS (UNIVERSITY & SCHOOL)
%%=======================================================================

% Faculty / School
\SetSchool*(pt)={Faculdade de Medicina Veterinária}
\SetSchool*(en)={Faculty of Veterinary Medicine}
\SetSchool*(fr)={Faculty of Veterinary Medicine}
\SetSchool*(it)={Faculty of Veterinary Medicine}

\NewMemStore{DoctypeStr}
\SetDoctypeStr*(pt,phd)={Tese especialmente elaborada para obtenção do grau de Doutor em}
\SetDoctypeStr*(en,phd)={Thesis specially designed to earn the degree of Doctor in}
\SetDoctypeStr*(pt,msc)={Dissertação de Mestrado em}
\SetDoctypeStr*(en,msc)={Master Thesis in}

\SetSpecializationString*(pt)={, na especialidade de}
\SetSpecializationString*(en)={, with specialization in}

\@for\myi:={a,1,m,en},{a,1,f,en},{a,2,m,en},{a,2,f,en},{c,1,m,en},{c,1,f,en},{c,2,m,en},{c,2,f,en},{ca,1,m,en},{ca,1,f,en},{ca,2,m,en},{ca,2,f,en},{t,1,m,en},{t,1,f,en},{t,2,m,en},{t,2,f,en},{a,1,m,pt},{a,1,f,pt},{a,2,m,pt},{a,2,f,pt},{c,1,m,pt},{c,1,f,pt},{c,2,m,pt},{c,2,f,pt},{ca,1,m,pt},{ca,1,f,pt},{ca,2,m,pt},{ca,2,f,pt},{t,1,m,pt},{t,1,f,pt},{t,2,m,pt},{t,2,f,pt}\do{%
  \SetAdviserString*(\myi)={\MakeUppercase{\GetAdviserString(\myi)}}
}

\@for\myi:={c,r,a,ca,m,g}\do{%
  \@for\myj:={1,2}\do{%
    \@for\myk:={m,f}\do{%
      \@for\myl:={en,pt}\do{%
        \SetCommitteeString*(\myi,\myj,\myk,\myl)={\MakeUppercase{\GetCommitteeString(\myi,\myj,\myk,\myl)}}%
      }%
    }%
  }%
}

\NewMemStore{AdvisersLabel}
\SetAdvisersLabel*(phd,pt)={Tese orientada por:}
\SetAdvisersLabel*(phd,en)={Thesis supervised by:}
\SetAdvisersLabel*(phdprop,pt)={Tese orientada por:}
\SetAdvisersLabel*(phdprop,en)={Thesis supervised by:}
\SetAdvisersLabel*(phdplan,pt)={Tese orientada por:}
\SetAdvisersLabel*(phdplan,en)={Thesis supervised by:}
\SetAdvisersLabel*(msc,pt)={Dissertação orientada por:}
\SetAdvisersLabel*(msc,en)={Dissertation supervised by:}
\SetAdvisersLabel*(mscplan,pt)={Dissertação orientada por:}
\SetAdvisersLabel*(mscplan,en)={Dissertation supervised by:}
\SetAdvisersLabel*(de)={TBD}
\SetAdvisersLabel*(es)={TBD}
\SetAdvisersLabel*(fr)={TBD}
\SetAdvisersLabel*(it)={TBD}

\NewMemStore{ProvisionalString}
\SetProvisionalString*(pt)={Documento Provisório}
\SetProvisionalString*(en)={Provisional Document}
\SetProvisionalString*(de)={TBD}
\SetProvisionalString*(es)={TBD}
\SetProvisionalString*(fr)={TBD}
\SetProvisionalString*(it)={TBD}


%%=======================================================================
%% COMMITTEE
%%=======================================================================

\SetCommitteeOrder*()={c,m}%


%%=======================================================================
%% FONTS
%%=======================================================================

\AtEndPreamble{%
  \renewcommand\familydefault{\sfdefault}%
  \sffamily%
}


%%=======================================================================
%% LAYOUT (MARGINS)
%%=======================================================================

% Set margins for "normal" pages
\SetMargin*(screen,top)={2.5cm}
\SetMargin*(screen,bottom)={2.5cm}
\SetMargin*(screen,left)={2.5cm}
\SetMargin*(screen,right)={2.5cm}
\SetMargin*(paper,top)={2.5cm}
\SetMargin*(paper,bottom)={2.5cm}
\SetMargin*(paper,left)={2.5cm}
\SetMargin*(paper,right)={2.5cm}

%% Set margins for cover pages
\SetMargin*(cover,top)={2.5cm}
\SetMargin*(cover,bottom)={2.5cm}
\SetMargin*(cover,left)={2.5cm}
\SetMargin*(cover,right)={2.5cm}

\RequirePackage{indentfirst}
\setlength{\parindent}{1.25cm}


%%=======================================================================
%% SPINE
%%=======================================================================

\SpineSetup[%
]{%
  box/logo/bg/image           = {ulisboa-fmv-insignia-color},
  box/logo/bg/image/angle     = {-90},
  box/date/len                = {2.0cm},
  box/title/len               = {18.9cm},
  box/author/len              = {4.0cm},
  box/logo/len                = {1.5cm},
  % debug,
}


%%=======================================================================
%% UTILITIES & HOOKS
%%=======================================================================

\NTAddToHook{printbib/pre}{\begin{SingleSpacing}}
\NTAddToHook{printbib/post}{\end{SingleSpacing}}

\AtEndPreamble{
  \makeheadrule{novathesis@mainmatter}{0pt}{0pt}
  \makeevenhead{novathesis@mainmatter}{}{}{}
  \makeoddhead{novathesis@mainmatter}{}{}{}
}

\NTAddToHook{frontmatter/pre}{%
  \renewcommand\familydefault{\sfdefault}%
  \sffamily%
}

\SetThesisCover(textfont)={\sffamily}
% \NTAddToHook{cover/text/pre}{\sffamily}

\NTAddToHook{ntquote/pre}{\vspace*{3cm}}

\ifdocfinal{}{
  \PassOptionsToPackage{pagewise}{lineno}
  \AtEndPreamble{\RequirePackage{lineno}}
  \NTAddToHook{acknowledgements/pre}{\linenumbers}
  \NTAddToHook{acknowledgements/post}{\nolinenumbers}
  \NTAddToHook{abstract/pre}{\linenumbers}
  \NTAddToHook{abstract/post}{\nolinenumbers}
  \NTAddToHook{mainmatter/pre}{\linenumbers}
  \NTAddToHook{cover/N-1/pre}{\nolinenumbers}
  \NTAddToHook{cover/N-2/pre}{\nolinenumbers}
}

\ntsetup{abstract/title=before}

\NTAddToHook{abstract/title/before}{%
  \begin{center}
    \noindent\Large\bfseries
    \MakeTextUppercase{\GetDocTitle(\@LSHORT,main)}%
  \end{center}
  \bigskip
}


%%=======================================================================
%% FRONT MATTER CONFIGURATION
%%=======================================================================

\@nt@printorder@set{frontmatter_final}{%
    statement,        % The statement page
    dedication,       % (*) Print the dedication
    acknowledgements, % (*) Print the acknowledgments
    quote,            % (*) Print the quote
    abstracts,        % Print abstracts in multiple languages.
    aidisclose,       % AI disclosure statement
    alllistof,        % Print all the listof defined in “6_list_of.tex”
    % myprintglossaries, % Print the Glossary, Acronyms, Symbols, etc…
}

\@nt@printorder@set{frontmatter_provisional}{%
    dedication,      % (*) Print the dedication
    acknowledgements,% (*) Print the acknowledgments
    quote,           % (*) Print the quote
    abstracts,       % Print abstracts in multiple languages.
    alllistof,       % Print all the listof defined in “6_list_of.tex”
    % myprintglossaries, % Print the Glossary, Acronyms, Symbols, etc…
}


%%=======================================================================
%% COVER 1 & 2 ELEMENTS
%%=======================================================================

% School
\ntaddtocover[vspace=2mm, height=2.0cm, valign=c]{1-1}{%
  \fontsize{12}{12}\selectfont%
  {\MakeTextUppercase{\GetUniversity(\@LANG@COVER)}}\\[4mm]%
  {\MakeTextUppercase{\GetSchool(\@LANG@COVER)}}%
}
\ntaddtocover[vspace=0mm, height=2.0cm, valign=t]{2-1}{%
  \fontsize{12}{12}\selectfont%
  {\MakeTextUppercase{\GetUniversity(\@LANG@COVER)}}\\[4mm]%
  {\MakeTextUppercase{\GetSchool(\@LANG@COVER)}}%
}

% Logo
\ntaddtocover[vspace=0.25cm, height=2.95cm, valign=t]{1-1,2-1}{%
  \includegraphics[height=1.6cm,align=c]{ulisboa-logo-color}%
  \hspace{16mm}%
  \includegraphics[height=2.5cm,align=c]{ulisboa-fmv-insignia-color}%
  \hspace{2mm}
}

% Title of Dissertation
\ntaddtocover[vspace=18mm, height=2.35cm, valign=c]{1-1,2-1}{%
  \fontsize{12}{12}\selectfont%
  \textbf{{\MakeTextUppercase{\GetDocTitle(\@LANG@MAIN,main)}}}%
}

% Doc Status
\ntaddtocover[vspace=0cm, height=1.5cm, valign=c]{1-1,2-1}{%
  \ifdocworking{Draft: \today}{}%
  \ifdocprovisional{\emph{\GetProvisionalString(\@LANG@COVER)}}{}%
  \ifdocfinal{~}{}%
}

% Author name
\ntaddtocover[vspace=0mm, height=1.8cm, valign=c]{1-1,2-1}{%
  \fontsize{12}{12}\selectfont%
  {\MakeTextUppercase{\GetDocAuthor(name)}}%
}

% Degree
% In this position only if it is a phd doc;
\ntaddtocover[vspace=21mm, height=0.5cm]{2-1}{%
         \fontsize{12}{12}\selectfont%
         {\MakeTextUppercase{\GetDoctypeStr(\@LANG@COVER,\option{/novathesis/doctype})}}
         {\MakeTextUppercase{\GetMajorField(\@LANG@COVER)}}%
         \ifphddoc{%
           \IfMemVoidTF{Specialization}{\@LANG@COVER}{~}{% \thebarheight(\@LANG@COVER)
                       \MakeTextUppercase{\GetSpecialization(\@LANG@COVER)}}}%
          {~}%
}%

% Committee and Advisers
\ntaddtocover[vspace=15mm, height=45mm, valign=c]{1-1,2-1}{%
  \fontsize{10}{10}\selectfont%
  \MemSet{committeestringfont}{}{\bfseries}%
  % \advisertitlestringfont():={\bfseries}%
  \MemSet{adviserstringfont}{}{\bfseries}%
  \begin{minipage}[t]{0.48\textwidth}
    \ifcovernum{2-1}%
      {\ifdocfinal{\ntprintpersons[name]{1}{1}{committee}{\GetCommitteeOrder()}\mbox{}}{\mbox{}}}%
      {\mbox{}}
  \end{minipage}%
  \hfill%
  \begin{minipage}[t]{0.465\textwidth}
    \ntprintpersons[name]{1}{1}{adviser}{a,c,t}
  \end{minipage}%
}

% Date
\ntaddtocover[vfill=1]{1-1,2-1}{%
  % \fontseries{mc}
  \fontsize{14}{14}\selectfont%
    \PrintDateISO{\GetDocDate(submission,year)}%
}

% Extra vspace for conver 1-1
\ntaddtocover[vspace=2.6ex]{1-1}{%
  % \fontseries{mc}
  \null
}
