summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/fithesis/fithesis3.cls
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/fithesis/fithesis3.cls')
-rw-r--r--Master/texmf-dist/tex/latex/fithesis/fithesis3.cls545
1 files changed, 11 insertions, 534 deletions
diff --git a/Master/texmf-dist/tex/latex/fithesis/fithesis3.cls b/Master/texmf-dist/tex/latex/fithesis/fithesis3.cls
index 3d157e19d51..e1a6de36e7d 100644
--- a/Master/texmf-dist/tex/latex/fithesis/fithesis3.cls
+++ b/Master/texmf-dist/tex/latex/fithesis/fithesis3.cls
@@ -4,10 +4,11 @@
%%
%% The original source files were:
%%
-%% fithesis.dtx (with options: `class')
+%% fithesis.dtx (with options: `oldclass3')
%%
-%% Copyright 1998--2018 Daniel Marek (DM), Jan Pavlovič (JP),
-%% Vít Novotný (VN), Petr Sojka (PS)
+%% Copyright 1998--2021 Daniel Marek (DM), Jan Pavlovič (JP),
+%% Vít Novotný (VN), Tereza Vrabcová (TV),
+%% Petr Sojka (PS)
%% http://www.fi.muni.cz/tech/unix/tex/fithesis.xhtml
%% Faculty of Informatics, Masaryk University (Brno, Czech Republic)
%%
@@ -49,540 +50,16 @@
%%
%% The names of the source files used are shown above.
%%
-\NeedsTeXFormat{LaTeX2e}
-{\def\thesis@versiondef#1#2{
- \gdef\thesis@version@number{#1}
- \gdef\thesis@version@date{#2}
- \gdef\thesis@version{#2 #1 fithesis3 MU thesis class}}
-\thesis@versiondef{v0.3.51}{2020/03/09}}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesClass{fithesis3}[\thesis@version]
-\ifx\thesis@backend\undefined
- \def\thesis@backend{[a4paper]{rapport3}}
-\fi\expandafter\LoadClass\thesis@backend
-\RequirePackage{keyval}
-\RequirePackage{etoolbox}
-\RequirePackage{ltxcmds}
-\RequirePackage{ifxetex}
-\RequirePackage{ifluatex}
-\ifxetex\else\ifluatex\else
- \RequirePackage[utf8]{inputenc}
-\fi\fi
-\long\def\thesissetup#1{%
- \setkeys{thesis}{#1}}
-\def\thesis@basepath{fithesis/}
-\define@key{thesis}{basePath}{%
- \ifx\thesis@empty#1\thesis@empty
- \def\thesis@basepath{}%
- \else
- \def\thesis@basepath{#1/}%
- \fi}
-\def\thesis@logopath{\thesis@basepath logo/\thesis@university/}
-\define@key{thesis}{logoPath}{%
- \def\thesis@logopath{\thesis@subdir#1%
- \empty\empty\empty\empty}}
-\def\thesis@stylepath{\thesis@basepath style/}
-\define@key{thesis}{stylePath}{%
- \def\thesis@stylepath{\thesis@subdir#1%
- \empty\empty\empty\empty}}
-\def\thesis@localepath{\thesis@basepath locale/}
-\define@key{thesis}{localePath}{%
- \def\thesis@localepath{\thesis@subdir#1%
- \empty\empty\empty\empty}}
-\def\thesis@subdir#1#2#3#4\empty{%
- \ifx#1\empty% <empty> -> <basepath>
- \thesis@basepath
- \else
- \if#1/%
- \ifx#2\empty% / -> /
- /%
- \else% /<path> -> /<path>/
- #1#2#3#4/%
- \fi
- \else
- \if#1.%
- \ifx#2\empty% . -> ./
- ./%
- \else
- \if#2.%
- \ifx#3\empty% .. -> ../
- ../%
- \else
- \if#3/% ../<path> -> ../<path>/
- ../#4/%
- \else
- \thesis@basepath#1#2#3#4/%
- \fi
- \fi
- \else
- \if#2/% ./<path> -> ./<path>/
- ./#3#4/%
- \else
- \thesis@basepath#1#2#3#4/%
- \fi
- \fi
- \fi
- \else
- \thesis@basepath#1#2#3#4/%
- \fi
- \fi
- \fi}
-\newcommand{\thesis@def}[2][]{%
- \expandafter\def\csname thesis@#2\endcsname{%
- <<\ifx\thesis@empty#1\thesis@empty#2\else#1\fi>>}}
-\def\thesis@declaration{\thesis@@{declaration}}
-\long\def\KV@thesis@declaration#1{%
- \long\def\thesis@declaration{#1}}
-\newif\ifthesis@woman\thesis@womanfalse
-\define@key{thesis}{gender}{%
- \def\thesis@male{m}%
- \def\thesis@arg{#1}%
- \ifx\thesis@male\thesis@arg
- \thesis@womanfalse
- \else
- \thesis@womantrue
- \fi}
-\def\thesis@parseAuthor#1{%
- \def\thesis@author{#1}%
- \def\thesis@author@head{\expandafter\expandafter\expandafter
- \@gobble\thesis@head#1 \relax}%
- \def\thesis@author@tail{\thesis@tail#1 \relax}}
-\thesis@def{author}%
-\thesis@def[author]{author@head}%
-\thesis@def[author]{author@tail}%
-\define@key{thesis}{author}{%
- \thesis@parseAuthor{#1}}
-\let\author\thesis@parseAuthor
-\thesis@def{id}
-\define@key{thesis}{id}{%
- \def\thesis@id{#1}}
-\def\thesis@sempaper{sem}
-\def\thesis@bachelors{bc}
-\def\thesis@masters{mgr}
-\def\thesis@proposal{prop}
-\def\thesis@doctoral{d}
-\def\thesis@rigorous{r}
-\let\thesis@type\thesis@bachelors
-\define@key{thesis}{type}{%
- \def\thesis@type{#1}}
-\def\thesis@university{mu}
-\define@key{thesis}{university}{%
- \def\thesis@university{#1}}
-\def\thesis@faculty{fi}
-\define@key{thesis}{faculty}{%
- \def\thesis@faculty{#1}}
-\thesis@def{department}
-\define@key{thesis}{department}{%
- \def\thesis@department{#1}}
-\thesis@def{departmentEn}
-\define@key{thesis}{departmentEn}{%
- \def\thesis@departmentEn{#1}}
-\thesis@def{programme}
-\define@key{thesis}{programme}{%
- \def\thesis@programme{#1}}
-\thesis@def{programmeEn}
-\define@key{thesis}{programmeEn}{%
- \def\thesis@programmeEn{#1}}
-\thesis@def{field}
-\define@key{thesis}{field}{%
- \def\thesis@field{#1}}
-\thesis@def{fieldEn}
-\define@key{thesis}{fieldEn}{%
- \def\thesis@fieldEn{#1}}
-\def\thesis@universityLogo{fithesis-base}
-\define@key{thesis}{universityLogo}{%
- \def\thesis@universityLogo{#1}}
-\def\thesis@facultyLogo{fithesis-\thesis@faculty}
-\define@key{thesis}{facultyLogo}{%
- \def\thesis@facultyLogo{#1}}
-\def\thesis@style{\thesis@university/fithesis-\thesis@faculty}
-\define@key{thesis}{style}{%
- \def\thesis@style{#1}}
-\newif\ifthesis@style@inheritance\thesis@style@inheritancetrue
-\define@key{thesis}{styleInheritance}[true]{%
- \begingroup
- \def\@true{true}%
- \def\@arg{#1}%
- \ifx\@true\@arg
- \endgroup\thesis@style@inheritancetrue
- \else
- \endgroup\thesis@style@inheritancefalse
- \fi}
-\def\thesis@locale{%
- % Babel / polyglossia detection
- \ifx\languagename\undefined
- english\else\languagename\fi}
-\define@key{thesis}{locale}{%
- \def\thesis@locale{#1}}
-\def\ifthesis@english{
- \expandafter\def\expandafter\@english\expandafter{\string
- \english}%
- \expandafter\expandafter\expandafter\def\expandafter
- \expandafter\expandafter\@locale\expandafter\expandafter
- \expandafter{\expandafter\string\csname\thesis@locale\endcsname}%
- \expandafter\csname\expandafter i\expandafter f\ifx\@locale
- \@english
- true%
- \else
- false%
- \fi\endcsname}
-\newif\ifthesis@locale@inheritance\thesis@locale@inheritancetrue
-\define@key{thesis}{localeInheritance}[true]{%
- \begingroup
- \def\@true{true}%
- \def\@arg{#1}%
- \ifx\@true\@arg
- \endgroup\thesis@locale@inheritancetrue
- \else
- \endgroup\thesis@locale@inheritancefalse
- \fi}
-\def\thesis@parseDate#1/#2/#3|{{
- % Set the basic macros
- \gdef\thesis@date{#1/#2/#3}%
- \gdef\thesis@year{#1}%
- \gdef\thesis@month{#2}%
- \gdef\thesis@day{#3}%
-
- % Set the season
- \newcount\@month\expandafter\@month\thesis@month\relax
- \ifnum\@month>8\gdef\thesis@season{fall}
- \else\ifnum\@month<3\gdef\thesis@season{fall}
- \else \gdef\thesis@season{spring}
- \fi\fi
-
- % Set the academic year
- \newcount\@year\expandafter\@year\thesis@year\relax
- \ifnum\@month>8%
- \edef\@yearA{\the\@year}%
- \advance\@year 1\edef\@yearB{\the\@year}%
- \advance\@year-1
- \else
- \advance\@year-1\edef\@yearA{\the\@year}%
- \advance\@year 1\edef\@yearB{\the\@year}%
- \fi
- \global\edef\thesis@academicYear{\@yearA/\@yearB}
- % Set the season year
- \ifnum\@month>2\else
- \advance\@year-1
- \fi
- \global\edef\thesis@seasonYear{\the\@year}}}
-
-\edef\thesis@date{\the\year/\the\month/\the\day}%
-\expandafter\thesis@parseDate\thesis@date|%
-
-\define@key{thesis}{date}{{%
- \edef\@date{#1}%
- \expandafter\thesis@parseDate\@date|}}
-\def\thesis@place{Brno}
-\define@key{thesis}{place}{%
- \def\thesis@place{#1}}
-\thesis@def{title}
-\define@key{thesis}{title}{%
- \def\thesis@title{#1}}
-\def\title#1{\def\thesis@title{#1}}
-\let\maketitle\relax
-\def\thesis@TeXtitle{\thesis@title}
-\define@key{thesis}{TeXtitle}{%
- \def\thesis@TeXtitle{#1}}
-\thesis@def{titleEn}
-\define@key{thesis}{titleEn}{%
- \def\thesis@titleEn{#1}}
-\def\thesis@TeXtitleEn{\thesis@titleEn}
-\define@key{thesis}{TeXtitleEn}{%
- \def\thesis@TeXtitleEn{#1}}
-\thesis@def{keywords}
-\define@key{thesis}{keywords}{%
- \def\thesis@keywords{#1}}
-\def\thesis@TeXkeywords{\thesis@keywords}
-\define@key{thesis}{TeXkeywords}{%
- \def\thesis@TeXkeywords{#1}}
-\thesis@def{keywordsEn}
-\define@key{thesis}{keywordsEn}{%
- \def\thesis@keywordsEn{#1}}
-\def\thesis@TeXkeywordsEn{\thesis@keywordsEn}
-\define@key{thesis}{TeXkeywordsEn}{%
- \def\thesis@TeXkeywordsEn{#1}}
-\thesis@def{abstract}
-\long\def\KV@thesis@abstract#1{%
- \long\def\thesis@abstract{#1}}
-\thesis@def{abstractEn}
-\long\def\KV@thesis@abstractEn#1{%
- \long\def\thesis@abstractEn{#1}}
-\thesis@def{advisor}
-\define@key{thesis}{advisor}{\def\thesis@advisor{#1}}
-\long\def\KV@thesis@thanks#1{%
- \long\def\thesis@thanks{#1}}
-\define@key{thesis}{assignment}{%
- \def\thesis@assignmentFiles{#1}}
-\define@key{thesis}{bib}{%
- \def\thesis@bibFiles{#1}}
-\newif\ifthesis@auto\thesis@autotrue
-\define@key{thesis}{autoLayout}[true]{%
- \def\@true{true}%
- \def\@arg{#1}%
- \ifx\@true\@arg
- \thesis@autotrue
- \else
- \thesis@autofalse
- \fi}
-\ifx\thesis@pages@preamble\undefined
- \def\thesis@pages@preamble{??}\fi
-\ifx\thesis@pages@postamble\undefined
- \def\thesis@pages@postamble{??}\fi
-\def\thesis@preamble{%
- {\thesis@selectLocale{\thesis@locale}%
- \thesis@blocks@preamble
- \gdef\thesis@pages@preamble{\thepage}
- \write\@auxout{\noexpand\gdef\noexpand
- \thesis@pages@preamble{\thepage}}
- \clearpage}
- \thesis@blocks@mainMatter}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{oldfithesis3}[2018/11/17 old fithesis3 will load fithesis4 MU thesis class]
-\let\thesis@blocks@preamble\relax
-\let\thesis@blocks@mainMatter\relax
-\def\thesis@postamble{%
- \gdef\thesis@pages@postamble{\thepage}
- \immediate\write\@auxout{\noexpand\gdef\noexpand
- \thesis@pages@postamble{\thepage}}
- {\thesis@selectLocale{\thesis@locale}%
- \thesis@blocks@postamble}}
+\ClassWarning{oldfithesis3}{%
+ You are using the fithesis3 class, which has been deprecated.
+ The fithesis4 class will be used instead.
+ For more information, see <http://www.fi.muni.cz/tech/unix/tex/fithesis.xhtml>%
+}\LoadClass{fithesis4}
-\let\thesis@blocks@postamble\relax
-\def\thesis@extra@KV@prefix{KV@thesis@extra@}
-\def\thesis@extra@XKV@fams{thesis@extra}
-\long\def\KV@thesis@extra#1{%
- \long\def\XKV@s@tk@ys##1=##2=##3\@nil{%
- \XKV@g@tkeyname##1=\@nil\XKV@tkey
- \expandafter\KV@@sp@def\expandafter\XKV@tkey\expandafter{\XKV@tkey}%
- \ifx\XKV@tkey\@empty
- \XKV@toks{##2}%
- \ifcat$\the\XKV@toks$\else
- \XKV@err{no key specified for value `\the\XKV@toks'}%
- \fi
- \else
- \@expandtwoargs\in@{,\XKV@tkey,}{,\XKV@na,}%
- \ifin@\else
- \XKV@knftrue
- \KV@@sp@def\XKV@tempa{##2}%
- \ifXKV@preset\XKV@s@tk@ys@{##3}\else
- \ifXKV@pl
- \XKV@for@eo\XKV@fams\XKV@tfam{%
- \XKV@makehd\XKV@tfam
- \XKV@s@tk@ys@{##3}%
- }%
- \else
- \XKV@whilist\XKV@fams\XKV@tfam\ifXKV@knf\fi{%
- \XKV@makehd\XKV@tfam
- \XKV@s@tk@ys@{##3}%
- }%
- \fi
- \fi
- \ifXKV@knf
- \ifXKV@inpox
- \ifx\XKV@doxs\relax
- \ifx\@currext\@clsextension\else
- \let\CurrentOption\XKV@tkey\@unknownoptionerror
- \fi
- \else\XKV@doxs\fi
- \else
- \ifXKV@st
- \XKV@addtolist@o\XKV@rm\CurrentOption
- \else
- \ifx\XKV@fams\thesis@extra@XKV@fams
- \expandafter\long\expandafter\def\csname%
- thesis@extra@\XKV@tkey\endcsname{##2}%
- \else
- \XKV@err{`\XKV@tkey' undefined in families
- `\XKV@fams'}%
- \fi
- \fi
- \fi
- \else
- \ifXKV@inpox\ifx\XKV@testclass\XKV@documentclass
- \expandafter\XKV@useoption\expandafter{\CurrentOption}%
- \fi\fi
- \fi
- \fi
- \fi
- }%
- \setkeys{thesis@extra}{#1}%
- \def\KV@prefix{KV@thesis@}}
-\long\def\KV@split#1=#2=#3\relax{%
- \KV@@sp@def\@tempa{#1}%
- \ifx\@tempa\@empty\else
- \expandafter\let\expandafter\@tempc
- \csname\KV@prefix\@tempa\endcsname
- \ifx\@tempc\relax
- \ifx\KV@prefix\thesis@extra@KV@prefix
- \KV@@sp@def\@tempb{#2}%
- \expandafter\let\csname thesis@extra@\@tempa\endcsname
- \@tempb%
- \else
- \KV@errx
- {\@tempa\space undefined}%
- \fi
- \else
- \ifx\@empty#3\@empty
- \KV@default
- \else
- \KV@@sp@def\@tempb{#2}%
- \expandafter\@tempc\expandafter{\@tempb}\relax
- \fi
- \fi
- \fi}
-\newcommand{\thesis@def@extra}[2][]{%
- \expandafter\ifx\csname thesis@extra@#2\endcsname\relax
- \def\thesis@placeholder@extra{<<extra@#2>>}%
- \expandafter\let\csname thesis@placeholder@extra@#2\endcsname
- \thesis@placeholder@extra
- \def\thesis@arg{#1}%
- \ifx\empty\thesis@arg
- \expandafter\let\csname thesis@extra@#2\endcsname
- \thesis@placeholder@extra
- \else
- \expandafter\def\csname thesis@extra@#2\endcsname{#1}%
- \fi
- \fi}
-\long\def\thesislong#1#2{%
- \csname KV@thesis@#1\endcsname{#2}}
-\newif\ifthesis@loaded\thesis@loadedfalse
-\BeforeBeginEnvironment{document}{\thesisload}
-\def\thesis@load{\thesisload}
-\def\thesisload{%
- \ifthesis@loaded\else
- \thesis@loadedtrue
- \makeatletter
- \ifx\thesis@locale\empty\else
- \edef\thesis@locale{\thesis@locale}
- \thesis@requireLocale{\thesis@locale}
- \fi
- \ifluatex
- \ltx@ifpackageloaded{babel}{}{
- % See <article.gmane.org/gmane.comp.tex.luatex.user/5680>
- \RequirePackage[base]{babel}}
- \fi
-\ifthesis@english
- \expandafter\expandafter\expandafter\let\expandafter\expandafter
- \csname ifthesis@english\endcsname\csname iftrue\endcsname
-\else
- \expandafter\expandafter\expandafter\let\expandafter\expandafter
- \csname ifthesis@english\endcsname\csname iffalse\endcsname
-\fi
- \ifx\thesis@style\empty\else
- \thesis@requireStyle{\thesis@style}
- \fi
- \ifx\languagename\empty\else
- \begingroup
- \edef\@doclocale{\languagename}%
- \ifx\@doclocale\thesis@locale
- \endgroup
- \AtBeginDocument{%
- \thesis@selectLocale{\thesis@locale}}%
- \else
- \endgroup
- \fi
- \fi
- \thesis@require{hyperref}
- \hypersetup{
- unicode=true,
- pdfencoding=auto,
- pdftitle=\thesis@title,
- pdfauthor=\thesis@author,
- pdfkeywords=\thesis@keywords,
- pdfcreator=\thesis@version}
- \ifthesis@auto
- \AtBeginDocument{\thesis@preamble}
- \AtEndDocument{%
- \thesis@postamble
- \immediate\write\@auxout{%
- \noexpand\gdef\noexpand\thesis@pages{\thepage}}}
- \else
- \AtEndDocument{%
- \immediate\write\@auxout{%
- \noexpand\gdef\noexpand\thesis@pages{\thepage}}}
- \fi
- \makeatother
- \fi}
-\def\thesis@exists#1#2{%
- \IfFileExists{#1}{#2}{%
- \ClassWarning{fithesis3}{File #1 doesn't exist}}}
-\def\thesis@input#1{%
- \thesis@exists{#1}{\input{#1}}}
-\newcommand\thesis@require[2][]{%
- \@ifpackageloaded{#2}{}{\RequirePackage[#1]{#2}}}
-\newcommand\thesis@requireIfExists[2][]{%
- \thesis@exists{#2.sty}{\thesis@require[#1]{#2}}}
-\def\thesis@requireStyle#1{%
- \ifthesis@style@inheritance
- \thesis@requireIfExists{\thesis@stylepath fithesis-base}%
- \thesis@requireIfExists{\thesis@stylepath\thesis@university
- /fithesis-base}
- \fi
- \thesis@requireIfExists{\thesis@stylepath#1}}
-\def\thesis@requireLocale#1{%
- % Ignore redundant requests
- \expandafter\ifx\csname thesis@#1@required\endcsname\relax
- \expandafter\def\csname thesis@#1@required\endcsname{}%
- \@ifpackageloaded{polyglossia}{\setotherlanguage{#1}}{}
- \thesis@input{\thesis@localepath fithesis-#1.def}%
- \ifthesis@locale@inheritance
- \thesis@input{\thesis@localepath\thesis@university/%
- fithesis-#1.def}%
- \thesis@input{\thesis@localepath\thesis@university/%
- \thesis@faculty/fithesis-#1.def}%
- \fi
- \fi}
-\def\thesis@#1{\csname thesis@#1\endcsname}
-\def\thesis@@#1{\thesis@{\thesis@locale @#1}}
-\def\thesis@lower#1{{%
- \let\ea\expandafter
- \ea\MakeLowercase\ea{\csname thesis@#1\endcsname}}}
-\def\thesis@upper#1{{%
- \let\ea\expandafter
- \ea\MakeUppercase\ea{\csname thesis@#1\endcsname}}}
-\def\thesis@@lower#1{\thesis@lower{\thesis@locale @#1}}
-\def\thesis@@upper#1{\thesis@upper{\thesis@locale @#1}}
-\def\thesis@head#1 #2{%
- \ifx\relax#2%
- \expandafter\@gobbletwo
- \else
- \ #1%
- \fi
- \thesis@head#2}%
-\def\thesis@tail#1 #2{%
- \ifx\relax#2%
- #1%
- \expandafter\@gobbletwo
- \fi
- \thesis@tail#2}%
-\ifx\thesis@pages\undefined\def\thesis@pages{??}\fi
-\def\thesis@selectLocale#1{%
- \edef\thesis@locale{#1}%
- \ltx@ifpackageloaded{csquotes}{%
- \csq@setstyle{\thesis@@{csquotesStyle}}%
- }{}%
- \ltx@ifpackageloaded{polyglossia}{%
- \selectlanguage{\thesis@locale}
- }{%
- \language\csname l@\thesis@locale\endcsname
- }}
-\def\thesis@patch#1#2{%
- \def\thesis@patch@versions{#1}%
- \def\thesis@patch@action{#2}%
- \def\thesis@patch@next##1,{%
- \def\thesis@patch@arg{##1}%
- \def\thesis@patch@relax{\relax}%
- \ifx\thesis@patch@arg\thesis@version@number
- \def\thesis@patch@next####1\relax,{}%
- \expandafter\thesis@patch@action
- \expandafter\thesis@patch@next
- \else\ifx\thesis@patch@arg\thesis@patch@relax\else
- \expandafter\expandafter\expandafter\thesis@patch@next
- \fi\fi}%
- \expandafter\expandafter\expandafter\thesis@patch@next
- \expandafter\thesis@patch@versions\expandafter,\relax,}
\endinput
%%
%% End of file `fithesis3.cls'.