% \file{style/mu/fithesis-sci.sty} % This is the style file for the theses written at the Faculty of % Science at the Masaryk University in Brno. It has been % prepared in accordance with the formal requirements published at % the website of the faculty\footnote{See % \url{http://www.sci.muni.cz/NW/predpisy/od/OD-2014-05.pdf}}. % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{fithesis/style/mu/fithesis-sci}[2016/06/06] % \end{macrocode} % The file defines the color scheme of the respective faculty. Note % the the color definitions are in RGB, which makes the resulting % files generally unsuitable for printing. % \begin{macrocode} \thesis@color@setup{ links={HTML}{20E366}, tableEmph={HTML}{8EDEAA}, tableOdd={HTML}{EDF7F1}, tableEven={HTML}{CCEDD8}} % \end{macrocode} % The bibliography support is enabled. The |numeric| citations are % used and the bibliography is sorted in citation order. % \begin{macrocode} \thesis@bibliography@setup{ style=iso-numeric, sorting=none} \thesis@bibliography@load % \end{macrocode} % The file uses Czech locale strings within the macros. % \begin{macrocode} \thesis@requireLocale{czech} % \end{macrocode} % The file loads the following packages: % \begin{itemize} % \item\textsf{tikz} -- Used for dimension arithmetic. % \item\textsf{changepage} -- Used for width adjustments. % \end{itemize} % \begin{macrocode} \thesis@require{tikz} \thesis@require{changepage} % \end{macrocode} % In case of rigorous and doctoral theses, the style file hides the % thesis assignment in accordance with the formal requirements of % the faculty. % \begin{macrocode} \ifx\thesis@type\thesis@bachelors\else \ifx\thesis@type\thesis@masters\else \thesis@blocks@assignment@false \fi\fi % \end{macrocode} % Enable the inclusion of the scanned assignment inside the digital % version of the document. % \begin{macrocode} \thesis@blocks@assignment@hideIfDigital@false % \end{macrocode} % \begin{macro}{\thesis@blocks@bibEntry} % The |\thesis@blocks@bibEntry| macro typesets a % bibliographical entry. Along with the macros required by the % locale file interface, the locale files need to define the % following macros: % \begin{itemize} % \item\DescribeMacro{\thesis@czech@bib@title} % |\thesis@czech@bib@title| -- The title of the entire block % \item\DescribeMacro{\thesis@czech@bib@author} % |\thesis@czech@bib@author| -- The label of the author name % entry % \item\DescribeMacro{\thesis@czech@bib@title} % |\thesis@czech@bib@title| -- The label of the title name % entry % \item\DescribeMacro{\thesis@czech@bib@programme} % |\thesis@czech@bib@programme| -- The label of the programme % name entry % \item\DescribeMacro{\thesis@czech@bib@field} % |\thesis@czech@bib@field| -- The label of the field of study % name entry % \item\DescribeMacro{\thesis@czech@bib@advisor} % |\thesis@czech@bib@advisor| -- The label of the advisor name % entry % \item\DescribeMacro{\thesis@czech@bib@academicYear} % |\thesis@czech@bib@academicYear| -- The label of the academic % year entry % \item\DescribeMacro{\thesis@czech@bib@pages} % |\thesis@czech@bib@pages| -- The label of the number of pages % entry % \item\DescribeMacro{\thesis@czech@bib@keywords} % |\thesis@czech@bib@keywords| -- The label of the keywords % entry % \end{itemize} % \begin{macrocode} \def\thesis@blocks@bibEntry{% \begin{alwayssingle}% {% Start the new chapter without clearing the right page {\def\cleardoublepage{}% \chapter*{\thesis@czech@bib@title}}% % Calculate the width of the columns \let\@A\relax\newlength{\@A}\settowidth{\@A}{{% \bf\thesis@czech@bib@author:}} \let\@B\relax\newlength{\@B}\settowidth{\@B}{{% \bf\thesis@czech@bib@thesisTitle:}} \let\@C\relax\newlength{\@C}\settowidth{\@C}{{% \bf\thesis@czech@bib@programme:}} \let\@D\relax\newlength{\@D}\settowidth{\@D}{{% \bf\thesis@czech@bib@field:}} % Unless this is a rigorous thesis, we will be typesetting the % name of the thesis advisor. \let\@E\relax\newlength{\@E} \ifx\thesis@type\thesis@rigorous \setlength{\@E}{0pt}% \else \settowidth{\@E}{{\bf\thesis@czech@bib@advisor:}} \fi \let\@F\relax\newlength{\@F}\settowidth{\@F}{{% \bf\thesis@czech@bib@academicYear:}} \let\@G\relax\newlength{\@G}\settowidth{\@G}{{% \bf\thesis@czech@bib@pages:}} \let\@H\relax\newlength{\@H}\settowidth{\@H}{{% \bf\thesis@czech@bib@keywords:}} \let\@skip\relax\newlength{\@skip}\setlength{\@skip}{16pt} \let\@left\relax\newlength{\@left}\pgfmathsetlength{\@left}{% max(\@A,\@B,\@C,\@D,\@E,\@F,\@G,\@H)} \let\@right\relax\newlength{\@right}\setlength{\@right}{% \textwidth-\@left-\@skip} % Typeset the table \renewcommand{\arraystretch}{2} \noindent\begin{thesis@newtable@old}% {@{}p{\@left}@{\hskip\@skip}p{\@right}@{}} \textbf{\thesis@czech@bib@author:} & \noindent\parbox[t]{\@right}{ \thesis@author\\ \thesis@czech@facultyName, \thesis@czech@universityName\\ \thesis@department@name }\\ \textbf{\thesis@czech@bib@thesisTitle:} & \thesis@title \\ \textbf{\thesis@czech@bib@programme:} & \thesis@programme \\ \textbf{\thesis@czech@bib@field:} & \thesis@field@name \\ % Unless this is a rigorous thesis, typeset the name of the % thesis advisor. \ifx\thesis@type\thesis@rigorous\else \textbf{\thesis@czech@bib@advisor:} & \thesis@advisor \\ \fi \textbf{\thesis@czech@bib@academicYear:} & \thesis@academicYear \\ \textbf{\thesis@czech@bib@pages:} & \thesis@pages \\ \textbf{\thesis@czech@bib@keywords:} & \thesis@TeXkeywords \\ \end{thesis@newtable@old}} \end{alwayssingle}} % \end{macrocode} % \end{macro}\begin{macro}{\thesis@blocks@bibEntryEn} % The |\thesis@blocks@bibEntryEn| macro typesets a % bibliographical entry in English. Along with the macros % required by the locale file interface, the locale files % need to define the following macros: % \begin{itemize} % \item\DescribeMacro{\thesis@english@bib@title} % |\thesis@english@bib@title| -- The title of the entire block % \item\DescribeMacro{\thesis@english@bib@author} % |\thesis@english@bib@author| -- The label of the author name % entry % \item\DescribeMacro{\thesis@english@bib@title} % |\thesis@english@bib@title| -- The label of the title name % entry % \item\DescribeMacro{\thesis@english@bib@programme} % |\thesis@english@bib@programme| -- The label of the programme % name entry % \item\DescribeMacro{\thesis@english@bib@field} % |\thesis@english@bib@field| -- The label of the field of % study name entry % \item\DescribeMacro{\thesis@english@bib@advisor} % |\thesis@english@bib@advisor| -- The label of the advisor % name entry % \item\DescribeMacro{\thesis@english@bib@academicYear} % |\thesis@english@bib@academicYear| -- The label of the % academic year entry % \item\DescribeMacro{\thesis@english@bib@pages} % |\thesis@english@bib@pages| -- The label of the number of % pages entry % \item\DescribeMacro{\thesis@english@bib@keywords} % |\thesis@english@bib@keywords| -- The label of the keywords % entry % \end{itemize} % \begin{macrocode} \def\thesis@blocks@bibEntryEn{% {\thesis@selectLocale{english} \begin{alwayssingle} % Start the new chapter without clearing the right page {\def\cleardoublepage{}% \chapter*{\thesis@english@bib@title}}% {% Calculate the width of the columns \let\@A\relax\newlength{\@A}\settowidth{\@A}{{% \bf\thesis@english@bib@author:}} \let\@B\relax\newlength{\@B}\settowidth{\@B}{{% \bf\thesis@english@bib@thesisTitle:}} \let\@C\relax\newlength{\@C}\settowidth{\@C}{{% \bf\thesis@english@bib@programme:}} \let\@D\relax\newlength{\@D}\settowidth{\@D}{{% \bf\thesis@english@bib@field:}} % Unless this is a rigorous thesis, we will be typesetting % the name of the thesis advisor. \let\@E\relax\newlength{\@E} \ifx\thesis@type\thesis@rigorous \setlength{\@E}{0pt}% \else \settowidth{\@E}{{\bf\thesis@english@bib@advisor:}} \fi \let\@F\relax\newlength{\@F}\settowidth{\@F}{{% \bf\thesis@english@bib@academicYear:}} \let\@G\relax\newlength{\@G}\settowidth{\@G}{{% \bf\thesis@english@bib@pages:}} \let\@H\relax\newlength{\@H}\settowidth{\@H}{{% \bf\thesis@english@bib@keywords:}} \let\@skip\relax\newlength{\@skip}\setlength{\@skip}{16pt} \let\@left\relax\newlength{\@left}\pgfmathsetlength{\@left}{% max(\@A,\@B,\@C,\@D,\@E,\@F,\@G,\@H)} \let\@right\relax\newlength{\@right}\setlength{\@right}{% \textwidth-\@left-\@skip} % Typeset the table \renewcommand{\arraystretch}{2} \noindent\begin{thesis@newtable@old}% {@{}p{\@left}@{\hskip\@skip}p{\@right}@{}} \textbf{\thesis@english@bib@author:} & \noindent\parbox[t]{\@right}{ \thesis@author\\ \thesis@english@facultyName, \thesis@english@universityName\\ \thesis@departmentEn@name }\\ \textbf{\thesis@english@bib@thesisTitle:} & \thesis@titleEn \\ \textbf{\thesis@english@bib@programme:} & \thesis@programmeEn \\ \textbf{\thesis@english@bib@field:} & \thesis@fieldEn@name \\ % Unless this is a rigorous thesis, typeset the name of the % thesis advisor. \ifx\thesis@type\thesis@rigorous\else \textbf{\thesis@english@bib@advisor:} & \thesis@advisor \\ \fi \textbf{\thesis@english@bib@academicYear:} & \thesis@academicYear \\ \textbf{\thesis@english@bib@pages:} & \thesis@pages \\ \textbf{\thesis@english@bib@keywords:} & \thesis@TeXkeywordsEn \\ \end{thesis@newtable@old}} \end{alwayssingle} }} % \end{macrocode} % \end{macro}\begin{macro}{\thesis@blocks@frontMatter} % The |\thesis@blocks@frontMatter| macro sets up the style % of the front matter front matter of the thesis. The front matter % is typeset without any visible numbering, as mandated by the % formal requirements of the faculty. % \begin{macrocode} \def\thesis@blocks@frontMatter{% \pagestyle{empty} \parindent 1.5em \setcounter{page}{1} \pagenumbering{roman}} % \end{macrocode} % \end{macro}\begin{macro}{\thesis@blocks@cover} % The |\thesis@blocks@cover| macro typesets the thesis % cover. % \begin{macrocode} \def\thesis@blocks@cover{% \ifthesis@cover@ \thesis@blocks@clear \begin{alwayssingle} \thispagestyle{empty} \begin{center} {\sc\thesis@titlePage@LARGE\thesis@czech@universityName\\% \thesis@titlePage@Large\thesis@czech@facultyName\\[0.3em]% \thesis@titlePage@large\thesis@department@name} \vfill {\bf\thesis@titlePage@Huge\thesis@czech@typeName} \vfill {\thesis@titlePage@large\thesis@place \ \thesis@year\hfill\thesis@author} \end{center} \end{alwayssingle} \fi} % \end{macrocode} % \end{macro}\begin{macro}{\thesis@blocks@titlePage} % The |\thesis@blocks@titlePage| macro typesets the thesis % title page. Depending on the value of the |\ifthesis@color@| % conditional, the faculty logo is loaded from either % |\thesis@logopath|, if \texttt{false}, or from % |\thesis@logopath color/|, if \texttt{true}. % \begin{macrocode} \def\thesis@blocks@titlePage{% \thesis@blocks@clear \begin{alwayssingle} \thispagestyle{empty} % The top of the page \begin{adjustwidth}{-12mm}{} \begin{minipage}{30mm} \thesis@blocks@universityLogo@color[width=30mm] \end{minipage}\begin{minipage}{89mm} \begin{center} {\sc\thesis@titlePage@LARGE\thesis@czech@universityName\\% \thesis@titlePage@Large\thesis@czech@facultyName\\[0.3em]% \thesis@titlePage@normalsize\thesis@department@name} \rule{\textwidth}{2pt}\vspace*{2mm} \end{center} \end{minipage}\begin{minipage}{30mm} \thesis@blocks@facultyLogo@color[width=30mm] \end{minipage} \end{adjustwidth} % The middle of the page \vfill \parbox\textwidth{% Prevent vfills from squashing the leading \bf\thesis@titlePage@Huge\thesis@TeXtitle} {\thesis@titlePage@Huge\\[0.8em]} {\thesis@titlePage@large\thesis@czech@typeName\\[1em]} {\bf\thesis@titlePage@LARGE\thesis@author\\} \vfill\noindent % The bottom of the page {\bf\thesis@titlePage@normalsize % Unless this is a rigorous thesis, typeset the name of the % thesis advisor. \ifx\thesis@type\thesis@rigorous\else \thesis@czech@advisorTitle: \thesis@advisor\hfill \fi \thesis@place\ \thesis@year} \end{alwayssingle}} % \end{macrocode} % \end{macro}\begin{macro}{\thesis@blocks@declaration} % The |\thesis@blocks@declaration| macro typesets the declaration % text. Unlike the generic |\thesis@blocks@declaration| macro from % the \texttt{style/mu/fithesis-sci.sty} file, this definition % includes the date and a blank line for the author's signature, as % per the requirements of the faculty. % % Along with the macros required by the locale file interface, the % locale files need to define the following macros: % \begin{itemize} % \item\DescribeMacro{\thesis@czech@authorSignature} % |\thesis@czech@authorSignature| -- The label of the author's % signature field % \item\DescribeMacro{\thesis@czech@formattedDate} % |\thesis@czech@formattedDate| -- A formatted date % \end{itemize} % \begin{macrocode} \def\thesis@blocks@declaration{% \thesis@blocks@clear \begin{alwayssingle}% \chapter*{\thesis@@{declarationTitle}}% \thesis@declaration \vskip 2cm% {\let\@A\relax\newlength{\@A} \settowidth{\@A}{\thesis@@{authorSignature}} \setlength{\@A}{\@A+1cm} \noindent\thesis@place, \thesis@czech@formattedDate\hfill \begin{minipage}[t]{\@A}% \centering\rule{\@A}{1pt}\\ \thesis@@{authorSignature}\par \end{minipage}} \end{alwayssingle}} % \end{macrocode} % \end{macro} % Note that there is no direct support for the seminar paper and % thesis proposal types. If you would like to change the contents % of the preamble and the postamble, you should modify the % |\thesis@blocks@preamble| and |\thesis@blocks@postamble| macros. % % All blocks within the autolayout preamble and postamble that are % not defined within this file are defined in the % \texttt{style/mu/fithesis-base.sty} file. The entire front matter % is typeset as though the locale were Czech in accordance with the % formal requirements of the faculty. % \begin{macrocode} \def\thesis@blocks@preamble{{% \thesis@selectLocale{czech}% \thesis@blocks@coverMatter \thesis@blocks@cover \thesis@blocks@frontMatter \thesis@blocks@titlePage \thesis@blocks@clearRight \thesis@blocks@bibEntry \thesis@blocks@bibEntryEn \thesis@blocks@abstract \thesis@blocks@abstractEn} \thesis@blocks@assignment {\thesis@selectLocale{czech}% \thesis@blocks@thanks \thesis@blocks@declaration \thesis@blocks@tables}} \def\thesis@blocks@postamble{% \thesis@blocks@bibliography} % \end{macrocode}