From b90e3e485b70dd9bb00e0e9dc240a6b83321620e Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Fri, 26 Jun 2020 03:01:27 +0000
Subject: CTAN sync 202006260301

---
 macros/latex/contrib/thesis-ekf/thesis-ekf.dtx | 625 ++++++++++++++++++-------
 1 file changed, 451 insertions(+), 174 deletions(-)

(limited to 'macros/latex/contrib/thesis-ekf/thesis-ekf.dtx')

diff --git a/macros/latex/contrib/thesis-ekf/thesis-ekf.dtx b/macros/latex/contrib/thesis-ekf/thesis-ekf.dtx
index 0329897941..38b84f7e18 100644
--- a/macros/latex/contrib/thesis-ekf/thesis-ekf.dtx
+++ b/macros/latex/contrib/thesis-ekf/thesis-ekf.dtx
@@ -20,16 +20,18 @@
 \ProvidesFile{thesis-ekf.dtx}
 %</driver>
 %<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<class>\ProvidesClass{thesis-ekf}[2020/02/05 v3.3 Thesis class for Eszterhazy Karoly University (Eger, Hungary)]
+%<class>\ProvidesClass{thesis-ekf}[2020/06/25 v4.0 Thesis class for Eszterhazy Karoly University (Eger, Hungary)]
 %<class>
 %<*driver>
 \documentclass{ltxdoc}
 \OnlyDescription
 \usepackage[utf8]{inputenc}
 \usepackage[T1]{fontenc}
-\usepackage[a4paper,left=2in]{geometry}
 \PassOptionsToPackage{active=onlycs}{magyar.ldf}
 \usepackage[english,magyar]{babel}
+\usepackage[unicode,pdfstartview=FitH,bookmarksopen]{hyperref}
+\usepackage{bookmark}
+\usepackage[a4paper,left=2in,top=1.5in,bottom=1.5in]{geometry}
 \frenchspacing
 \usepackage{lmodern,paralist,textcomp,fancyvrb}
 \setlength{\MacroTopsep}{0pt}
@@ -59,15 +61,15 @@
 %     Right brace         \}     Tilde           \~}
 %
 % \GetFileInfo{thesis-ekf.cls}
-% \title{Thesis class for\\ Eszterházy Károly University\\\textsf{thesis-ekf.cls}\\[2mm]{\normalsize Version 3.3\\2020/02/05\\}}
+% \title{Thesis class for\\ Eszterházy Károly University\\\textsf{thesis-ekf.cls}\\[2mm]{\normalsize Version 4.0\\2020/06/25\\}}
 % \author{Tibor Tómács\\{\small\ttfamily tomacs.tibor@uni-eszterhazy.hu}}
 % \date{}
 % \maketitle
+% \def\abstractname{}
+%\begin{abstract}
+% \selectlanguage{english}\noindent This is a class file for theses and dissertations at Eszterházy Károly University, Eger, Hungary (website: \texttt{https://uni-eszterhazy.hu}). The documentation is in Hungarian.
+%\end{abstract}
 %
-% \selectlanguage{english}
-% This is a class file for theses and dissertations at Eszterházy Károly University, Eger, Hungary (website: \texttt{https://uni-eszterhazy.hu}). The documentation is in Hungarian.
-%
-% \selectlanguage{magyar}
 % \section{Bevezető}
 %
 % A \texttt{thesis-ekf} dokumentumosztály segítségével az Eszterházy Károly Egyetem szabályzatának megfelelő szakdolgozatokat lehet készíteni. A névben szereplő \texttt{ekf} az Eszterházy Károly Főiskola rövidítése, ugyanis ez a dokumentumosztály 2014-től létezik, amikor az intézmény még főiskola volt. A formai követelmények a következők:
@@ -85,11 +87,31 @@
 % \medskip\noindent
 % A \texttt{thesis-ekf} ezeket a paramétereket automatikusan beállítja, továbbá a megfelelő címoldal elkészítését is elvégzi.
 %
-% \section{A dokumentumosztály betöltése}
-%
-% A \texttt{thesis-ekf} dokumentumosztály a \texttt{report} osztályt használja alapként, továbbá a következő csomagokat tölti be: \texttt{cmap}, \texttt{lmodern}, \texttt{fixcmex}, \texttt{kvoptions}, \texttt{etoolbox}, \texttt{ifpdf}, \texttt{setspace}, \texttt{hyperref}, \texttt{geometry}, \texttt{graphicx}, \texttt{upqute}.
+% \section{A dokumentumosztály által betöltött csomagok}
+%
+% A |thesis-ekf| dokumentumosztály a |report| osztályt használja alapként, továbbá rendre a következő csomagokat tölti be:
+%
+%\medskip
+%\begin{compactdesc}
+%\item[|kvoptions|] (opciók definiálásához)
+%\item[|iftex|] (|pdflatex| fordító detektálásához)
+%\item[|cmap|] (|pdflatex| fordítóval készült pdf-ben a keresés és ,,kopizás'' ezzel minden ékezetes betűre jól működik; csak |pdflatex| fordító használata esetén töltődik be)
+%\item[|hyperref|] (elektronikus verzióhoz; opciók: |unicode|, |allcolors=blue|, |linktocpage|, |pdfstartview=FitH|, |bookmarksnumbered|, |pdfborder={0 0 0}|)
+%\item[|geometry|] (oldalméretek beállításához; opciók: |a4paper|, |top=25mm|, |bottom=25mm|, |inner=30mm|, |outer=25mm|)
+%\item[|lmodern|] (Latin Modern fontkészlethez; |times| opció esetén nem töltődik be)
+%\item[|fixcmex|] (Latin Modern fontkészlet esetén a nagy operátor jeleket méretezhetővé teszi; |times| opció esetén nem töltődik be)
+%\item[|cmupint|] (Latin Modern fontkészlet esetén az integráljelek álló alakúak; csak az |upint| és |times=false| opciók esetén töltődik be)
+%\item[|etoolbox|] (dokumentum horgonyokhoz)
+%\item[|setspace|] (sortávolság beállításához)
+%\item[|graphicx|] (képek betöltéséhez)
+%\item[|newtxtext|] (Times fontkészlethez; |times| opció esetén töltődik be)
+%\item[|newtxmath|] (Times matematikai fontkészlethez; |times| opció esetén töltődik be)
+%\item[|fontsize|] (|fontsize=|\meta{méret} opcióhoz; csak akkor töltődik be, ha a \meta{méret} különbözik a |10pt|, |11pt| és |12pt| értékektől.)
+%\item[|upquote|] (verbatimban \textquotesingle\ és \textasciigrave\ jelekért)
+%\end{compactdesc}
+%
+% \section{A dokumentumosztály betöltése és legfontosabb opciói}
 %
-% \medskip
 % \begin{macro}{\documentclass}\param{\oarg{opciók}\texttt{\{thesis-ekf\}}}
 % A dokumentumosztályt a preambulum elején ezzel a paranccsal lehet betölteni.
 % \end{macro}
@@ -110,6 +132,18 @@
 % A tartalomjegyzéknek nem lesz oldalszámozása. Ha közvetlenül a címoldalt követően van elhelyezve a tartalomjegyzék, akkor az első számozott oldal csak ezután következik.
 % \end{macro}
 %
+% \begin{macro}{reverseorder}
+% Alapbeállítás esetén a címoldalon a szerző bal, a témavezető pedig a jobb oldalon helyezkedik el. Ezzel az opcióval fordított lesz a sorrend.
+% \end{macro}
+%
+% \begin{macro}{times}
+% Alapbeállítás esetén a Latin Modern fontkészletet használja a dokumentumosztály. Ezzel az opcióval áttérhet a Times fontkészletre, amely nagyon hasonló a közismert Times New Roman-hoz. Ne használja \texttt{xelatex} és \texttt{lualatex} fordítók esetén!
+% \end{macro}
+%
+% \begin{macro}{upint}
+% Alapbeállítás esetén a dokumentumban található integráljelek dőltek. Ezzel az opcióval álló alakúak lesznek és kiemelt képletekben a határok az integráljel alatt és fölött helyezkednek el (hasonlóan az |amsmath| csomag |intlimits| opciójához). Ezt főleg magyar nyelvű dokumentumok esetén használja.
+% \end{macro}
+%
 % \section{Címoldal létrehozása}
 %
 % \begin{macro}{\institute}\param{\marg{intézmény neve}}
@@ -128,6 +162,18 @@
 % Ezzel kell megadni a szakdolgozat témavezetőjének a nevét és beosztását.
 % \end{macro}
 %
+% \begin{macro}{\collaborator}\param{\oarg{felirat}}
+% Ha több szerzőt vagy témavezetőt akar beírni, akkor azokat ezzel kell elválasztani. A \meta{felirat} opció használatával ez a felirat jelenik meg a soronkövetkező név felett. Például
+%\begin{Verbatim}
+%\author{Kiss István\\matematika BSc
+%        \collaborator
+%        Nagy János\\matematika BSc}
+%\supervisor{Dr. Szabó Gábor\\egyetemi docens
+%            \collaborator[Külső konzulens]
+%            Dr. Takács Tamás\\adjunktus\\ELTE}
+%\end{Verbatim}
+% \end{macro}
+%
 % \begin{macro}{\city}\param{\marg{város}}
 % Ezzel kell megadni annak a városnak a nevét, ahol az intézmény található.
 % \end{macro}
@@ -177,7 +223,7 @@
 %
 % \subsection{A dokumentumosztály opciói}
 %
-% A |twoside|, |colorlinks| és |tocnopagenum| opciókról már volt szó. További opciók:
+% A |twoside|, |colorlinks|, |tocnopagenum|, |reverseorder|, |times| és |upint| opciókról már volt szó. További opciók:
 %
 % \medskip
 % \begin{macro}{centeredchapter}\param{\texttt{=false}}
@@ -188,8 +234,20 @@
 % A dokumentumosztály figyelmeztetéseinek kikapcsolása.
 % \end{macro}
 %
+% \begin{macro}{10pt}
+% Az alapbetűméret 10\,pt.
+% \end{macro}
+%
+% \begin{macro}{11pt}
+% Az alapbetűméret 11\,pt.
+% \end{macro}
+%
+% \begin{macro}{12pt}
+% Az alapbetűméret 12\,pt (alapopció).
+% \end{macro}
+%
 % \begin{macro}{fontsize}\param{\texttt{=}\meta{betűméret}}
-% A \meta{betűméret} lehetséges értékei |10pt|, |11pt| és |12pt| (alapérték |12pt|). Ez adja meg az alapbetűméretet.
+% A \meta{betűméret} adja meg az alapbetűméretet, amely bármilyen méret lehet. Ha a \meta{betűméret} különbözik a |10pt|, |11pt| és |12pt| értékektől, akkor  ez az opció a beállításhoz betölti a |fontsize| csomagot. Ennek az opciónak a használata felülbírálja a |10pt|, |11pt| és |12pt| opciókat.
 % \end{macro}
 %
 % \begin{macro}{logodown}
@@ -197,7 +255,7 @@
 % \end{macro}
 %
 % \begin{macro}{logofont}\param{\texttt{=}\meta{betűtípus}}
-% Ha a logó helyén szöveg van -- lásd a |\logo| parancsot --, akkor annak a betűtípusa (alapérték |\large\scshape|).
+% Ha a logó helyén szöveg van (lásd a |\logo| parancsot), akkor annak a betűtípusa (alapérték |\large\scshape|).
 % \end{macro}
 %
 % \begin{macro}{logosep}\param{\texttt{=}\meta{méret}}
@@ -217,7 +275,7 @@
 % \end{macro}
 %
 % \begin{macro}{titlesep}\param{\texttt{=}\meta{méret}}
-% A cím feletti térköz mérete |\stretch{1}|. Ezzel a cím alatti térközt lehet beállítani a normál sortávolságon felül (alapérték |\stretch{1.5}|).
+% A cím feletti térköz mérete |\stretch{1}|. Ezzel a cím alatti térközt lehet beállítani a normál sortávolságon felül (alapérték |\stretch{1.4}|).
 % \end{macro}
 %
 % \begin{macro}{captionfont}\param{\texttt{=}\meta{betűtípus}}
@@ -225,7 +283,11 @@
 % \end{macro}
 %
 % \begin{macro}{captionsep}\param{\texttt{=}\meta{méret}}
-% Az előbbi feliratok alatti térköz a normál sortávolságon felül (alapérték |0mm|).
+% Az előbbi feliratok alatti térköz a normál sortávolságon felül, amennyiben nem használja a |\collaborator| parancsot több szerző vagy témavezető megadásához (alapérték |0mm|).
+% \end{macro}
+%
+% \begin{macro}{collcaptionsep}\param{\texttt{=}\meta{méret}}
+% Az előbbi feliratok alatti térköz a normál sortávolságon felül, amennyiben használja az |\collaborator| parancsot több szerző vagy témavezető megadásához (alapérték |2mm|). Ahol az |collcaptionsep| értékét fel kell használni, ott még nem lehet tudni, hogy lesz-e |\collaborator| kifejtve. Ezért ennek érzékeléséhez kereszthivatkozást alkalmaz a kód, így csak a második fordításnál alakulnak ki a helyes térközök. Mivel például a tartalomjegyzék miatt úgyis többször kell fordítani, ezért ez nem okoz gondot. Ha |latexmk|-val vagy valamilyen hasonló programmal fordít, akkor természetesen azt csak egyszer kell futtatni.
 % \end{macro}
 %
 % \begin{macro}{authorfont}\param{\texttt{=}\meta{betűtípus}}
@@ -241,11 +303,15 @@
 % \end{macro}
 %
 % \begin{macro}{authorxmargin}\param{\texttt{=}\meta{méret}}
-% Ezzel a szerzőnél és a témavezetőnél egy extra margóméret adható meg, azaz a normál margó ennyivel nő (alapérték |10mm|).
+% Ezzel a szerző és témavezető dobozának sorában a normál margóméret ennyivel nő meg (alapérték |10mm|).
 % \end{macro}
 %
 % \begin{macro}{authorsep}\param{\texttt{=}\meta{méret}}
-% A szerző illetve témavezető alatti térköz a normál sortávolságon felül (alapérték |15mm|).
+% A szerző és témavezető dobozait tartalmazó sor alatti térköz a normál sortávolságon felül (alapérték |15mm|).
+% \end{macro}
+%
+% \begin{macro}{hminsep}\param{\texttt{=}\meta{méret}}
+% A szerző és témavezető dobozai közötti minimális vízszintes térköz (alapérték |5mm|).
 % \end{macro}
 %
 % \begin{macro}{cityfont}\param{\texttt{=}\meta{betűtípus}}
@@ -263,7 +329,7 @@
 % \subsection{Parancsok}
 %
 % \begin{macro}{\setkeys}\param{\texttt{\{thesis-ekf\}}\marg{opciók}}
-% A \texttt{thesis-ekf} opciói a |fontsize| kivételével, ezzel is beállíthatók. Például |\setkeys{thesis-ekf}{logodown,tocnopagenum}|. Ha a |\setkeys| parancsot a konfigurációs fájlba írja (lásd később), akkor abba a |fontsize| opció is beírható. Azok az opciók, melyekben parancs van, mint például a betűtípusra vonatkozók, csak a |\setkeys| parancsba írhatók!
+% A \texttt{thesis-ekf} opciói az alapbetűméretet beállító (|10pt|, |11pt|, |12pt|, |fontsize=|\meta{méret}) opciók kivételével ezzel is beállíthatók. Ha a |\setkeys| parancsot a konfigurációs fájlba írja (lásd később), akkor abba az alapbetűméretet beállító opciók is beírhatók. Azok az opciók, melyekben parancs van, mint például a betűtípusra vonatkozók, csak a |\setkeys| parancsba írhatók! Például |\setkeys{thesis-ekf}{logodown,tocnopagenum}|.
 % \end{macro}
 %
 % \begin{macro}{\hypersetup}\param{\marg{hyperref opciók}}
@@ -305,7 +371,11 @@
 % A következőket írja be a \texttt{thesis-ekf.cfg} fájlba, majd tegye a \texttt{tex} forrásfájl mellé.
 %
 %\begin{Verbatim}
-%\setkeys{thesis-ekf}{fontsize=11pt,centeredchapter=false,titlefont=\Huge\sffamily}
+%\setkeys{thesis-ekf}{
+%  11pt,
+%  centeredchapter=false,
+%  titlefont=\Huge\sffamily
+%}
 %\AtEndOfClass{
 %  \hypersetup{allcolors=red}
 %  \geometry{b5paper,top=20mm,bottom=20mm,inner=25mm,outer=20mm}
@@ -316,23 +386,29 @@
 %
 % \StopEventually{}
 %    \begin{macrocode}
-\@ifundefined{pdffontattr}{}{\ifnum\pdfoutput>0\RequirePackage{cmap}\fi}
-\RequirePackage{lmodern,fixcmex,kvoptions,etoolbox,ifpdf,setspace,graphicx}
-
+\RequirePackage{kvoptions}
 \SetupKeyvalOptions{family=thesis-ekf,prefix=thesisekf@}
 \DeclareVoidOption{twoside}{\PassOptionsToClass{twoside}{report}}
 \DeclareVoidOption{colorlinks}{\PassOptionsToPackage{colorlinks}{hyperref}}
+\DeclareBoolOption{times}
+\DeclareBoolOption{upint}
 \DeclareBoolOption{logodown}
 \DeclareBoolOption{tocnopagenum}
+\DeclareBoolOption{reverseorder}
 \DeclareBoolOption[true]{centeredchapter}
 \DeclareBoolOption[true]{warning}
-\DeclareStringOption[12pt]{fontsize}
+\DeclareVoidOption{10pt}{\def\thesisekf@fontsize@{10pt}}
+\DeclareVoidOption{11pt}{\def\thesisekf@fontsize@{11pt}}
+\DeclareVoidOption{12pt}{\def\thesisekf@fontsize@{12pt}}
+\DeclareStringOption{fontsize}
 \DeclareStringOption[10mm]{institutesep}
 \DeclareStringOption[0mm]{logosep}
-\DeclareStringOption[\stretch{1.5}]{titlesep}
+\DeclareStringOption[\stretch{1.4}]{titlesep}
 \DeclareStringOption[15mm]{authorsep}
+\DeclareStringOption[5mm]{hminsep}
 \DeclareStringOption[10mm]{authorxmargin}
 \DeclareStringOption[0mm]{captionsep}
+\DeclareStringOption[2mm]{collcaptionsep}
 \DeclareStringOption[left]{authoralign}
 \DeclareStringOption[left]{supervisoralign}
 \DeclareStringOption[\large\scshape]{institutefont}
@@ -343,6 +419,7 @@
 \DeclareStringOption[\large\scshape]{cityfont}
 \DeclareStringOption[\large\scshape]{datefont}
 \DeclareStringOption[,~]{datesep}
+\def\thesisekf@fontsize@{12pt}
 \ProcessKeyvalOptions{thesis-ekf}
 
 \InputIfFileExists{thesis-ekf.cfg}{}{}
@@ -350,226 +427,426 @@
 \def\thesisekf@ten{10pt}
 \def\thesisekf@eleven{11pt}
 \def\thesisekf@twelve{12pt}
+\ifx\thesisekf@fontsize\thesisekf@ten
+    \def\thesisekf@fontsize@{10pt}
+\fi
+\ifx\thesisekf@fontsize\thesisekf@eleven
+    \def\thesisekf@fontsize@{11pt}
+\fi
+\ifx\thesisekf@fontsize\thesisekf@twelve
+    \def\thesisekf@fontsize@{12pt}
+\fi
 
-\ifx\thesisekf@fontsize\thesisekf@ten\else
-\ifx\thesisekf@fontsize\thesisekf@eleven\else
-\ifx\thesisekf@fontsize\thesisekf@twelve\else
-\ClassWarning{thesis-ekf}{Unused option: fontsize=\thesisekf@fontsize. Use fontsize=10pt, fontsize=11pt or fontsize=12pt!}
-\def\thesisekf@fontsize{12pt}
-\fi\fi\fi
-
-\PassOptionsToClass{\thesisekf@fontsize}{report}
-\LoadClass{report}
-
+\LoadClass[\thesisekf@fontsize@]{report}
+\RequirePackage{iftex}
+\ifpdf
+    \RequirePackage{cmap}
+\fi
 \RequirePackage[unicode,linktocpage,allcolors=blue,pdfstartview=FitH,bookmarksnumbered,pdfborder={0 0 0}]{hyperref}
 \RequirePackage[a4paper,top=25mm,bottom=25mm,inner=30mm,outer=25mm]{geometry}
+\ifthesisekf@times
+    \ifthesisekf@upint
+        \PassOptionsToPackage{upint}{newtxmath}
+        \PassOptionsToPackage{intlimits}{amsmath}
+    \fi
+\else
+    \RequirePackage{lmodern,fixcmex}
+    \ifthesisekf@upint
+        \RequirePackage{cmupint}
+    \fi
+\fi
+\RequirePackage{etoolbox,setspace,graphicx}
 
 \onehalfspacing
 
-\AtEndPreamble{\RequirePackage{upquote}}
+\AtEndPreamble{
+\ifthesisekf@times
+    \RequirePackage{newtxtext,newtxmath}
+\fi
+\ifx\thesisekf@fontsize\@empty
+\else
+    \ifx\thesisekf@fontsize\thesisekf@ten
+    \else
+        \ifx\thesisekf@fontsize\thesisekf@eleven
+        \else
+            \ifx\thesisekf@fontsize\thesisekf@twelve
+            \else
+                \RequirePackage[fontsize=\thesisekf@fontsize]{fontsize}
+            \fi
+        \fi
+    \fi
+\fi
+\RequirePackage{upquote}
+}
 
 \AfterEndPreamble{
 
 \ifthesisekf@tocnopagenum
-  \hypersetup{pageanchor=false}
-  \let\thesisekf@tableofcontents\tableofcontents
-  \def\tableofcontents{%
-     \global\let\thesisekf@thepage\thepage%
-     \global\let\thepage\empty%
-     \thesisekf@tableofcontents%
-     \clearpage%
-     \global\c@page\@ne%
-     \global\let\thepage\thesisekf@thepage%
-     \hypersetup{pageanchor}}
+    \hypersetup{pageanchor=false}
+    \let\thesisekf@tableofcontents\tableofcontents
+    \def\tableofcontents{%
+        \global\let\thesisekf@thepage\thepage%
+        \global\let\thepage\empty%
+        \thesisekf@tableofcontents%
+        \clearpage%
+        \global\c@page\@ne%
+        \global\let\thepage\thesisekf@thepage%
+        \hypersetup{pageanchor}}
 \fi
 
 \ifthesisekf@centeredchapter
-  \let\thesisekf@makechapterhead\@makechapterhead
-  \let\thesisekf@makeschapterhead\@makeschapterhead
-  \let\thesisekf@raggedright\raggedright
-  \def\@makechapterhead#1{
-    \let\raggedright\centering
-    \thesisekf@makechapterhead{#1}
-    \let\raggedright\thesisekf@raggedright}
-  \def\@makeschapterhead#1{
-    \let\raggedright\centering
-    \thesisekf@makeschapterhead{#1}
-    \let\raggedright\thesisekf@raggedright}
+    \let\thesisekf@makechapterhead\@makechapterhead
+    \let\thesisekf@makeschapterhead\@makeschapterhead
+    \let\thesisekf@raggedright\raggedright
+    \def\@makechapterhead#1{
+        \let\raggedright\centering
+        \thesisekf@makechapterhead{#1}
+        \let\raggedright\thesisekf@raggedright}
+    \def\@makeschapterhead#1{
+        \let\raggedright\centering
+        \thesisekf@makeschapterhead{#1}
+        \let\raggedright\thesisekf@raggedright}
 \fi
 
 \def\@dottedtocline#1#2#3#4#5{%
-  \ifnum #1>\c@tocdepth \else
-    \vskip \z@ \@plus.2\p@
-    {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
-     \parindent #2\relax\@afterindenttrue
-     \interlinepenalty\@M
-     \leavevmode
-     \@tempdima #3\relax
-     \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
-     {#4}\nobreak
-     \leaders\hbox{$\m@th
-        \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
-        mu$}\hfill
-     \nobreak
-     \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}%
-     \par}%
-  \fi}
+    \ifnum #1>\c@tocdepth \else
+        \vskip \z@ \@plus.2\p@
+        {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
+         \parindent #2\relax\@afterindenttrue
+         \interlinepenalty\@M
+         \leavevmode
+         \@tempdima #3\relax
+         \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
+         {#4}\nobreak
+         \leaders\hbox{$\m@th
+            \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
+            mu$}\hfill
+         \nobreak
+         \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}%
+         \par}%
+    \fi}
 
 \renewcommand*\l@chapter[2]{%
-  \ifnum \c@tocdepth >\z@
-    \addpenalty\@secpenalty
-    \addvspace{1.0em \@plus\p@}%
-    \setlength\@tempdima{1.8em}%
-    \begingroup
-      \parindent \z@ \rightskip \@pnumwidth
-      \parfillskip -\@pnumwidth
-      \leavevmode \bfseries
-      \advance\leftskip\@tempdima
-      \hskip -\leftskip
-      #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
-    \endgroup
-  \fi}
+    \ifnum \c@tocdepth >\z@
+      \addpenalty\@secpenalty
+      \addvspace{1.0em \@plus\p@}%
+      \setlength\@tempdima{1.8em}%
+      \begingroup
+          \parindent \z@ \rightskip \@pnumwidth
+          \parfillskip -\@pnumwidth
+          \leavevmode \bfseries
+          \advance\leftskip\@tempdima
+          \hskip -\leftskip
+          #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
+      \endgroup
+    \fi}
 \renewcommand*\l@section{\@dottedtocline{1}{1.8em}{2.5em}}
 \renewcommand*\l@subsection{\@dottedtocline{2}{4.3em}{3.2em}}
 
 \if@thesisekf@nochanged@authorcaption@%
     \@ifundefined{l@magyar}{}{%
-    \iflanguage{magyar}{\gdef\thesisekf@authorcaption{K\'{e}sz\'{\i}tette}}{}}%
+        \iflanguage{magyar}{\gdef\thesisekf@authorcaption{K\'{e}sz\'{\i}tette}}{}}%
     \@ifundefined{l@ngerman}{}{%
-    \iflanguage{ngerman}{\gdef\thesisekf@authorcaption{Autor}}{}}%
+        \iflanguage{ngerman}{\gdef\thesisekf@authorcaption{Autor}}{}}%
     \@ifundefined{l@german}{}{%
-    \iflanguage{german}{\gdef\thesisekf@authorcaption{Autor}}{}}\fi
+        \iflanguage{german}{\gdef\thesisekf@authorcaption{Autor}}{}}%
+\fi
 
 \if@thesisekf@nochanged@supervisorcaption@%
     \@ifundefined{l@magyar}{}{%
-    \iflanguage{magyar}{\gdef\thesisekf@supervisorcaption{T\'{e}mavezet\H{o}}}{}}%
+        \iflanguage{magyar}{\gdef\thesisekf@supervisorcaption{T\'{e}mavezet\H{o}}}{}}%
     \@ifundefined{l@ngerman}{}{%
-    \iflanguage{ngerman}{\gdef\thesisekf@supervisorcaption{Betreuer}}{}}%
+        \iflanguage{ngerman}{\gdef\thesisekf@supervisorcaption{Betreuer}}{}}%
     \@ifundefined{l@german}{}{%
-    \iflanguage{german}{\gdef\thesisekf@supervisorcaption{Betreuer}}{}}\fi
+        \iflanguage{german}{\gdef\thesisekf@supervisorcaption{Betreuer}}{}}%
+\fi
 
 \if@thesisekf@nochanged@logo@%
     \@ifundefined{l@magyar}{}{%
-    \iflanguage{magyar}{\if@thesisekf@exists@logo@hu@\gdef\thesisekf@logo{\includegraphics{eszterhazy-logo-hu}}\fi}{}}%
+        \iflanguage{magyar}{\if@thesisekf@exists@logo@hu@\gdef\thesisekf@logo{\includegraphics{eszterhazy-logo-hu}}\fi}{}}%
     \@ifundefined{l@ngerman}{}{%
-    \iflanguage{ngerman}{\if@thesisekf@exists@logo@de@\gdef\thesisekf@logo{\includegraphics{eszterhazy-logo-de}}\fi}{}}%
+        \iflanguage{ngerman}{\if@thesisekf@exists@logo@de@\gdef\thesisekf@logo{\includegraphics{eszterhazy-logo-de}}\fi}{}}%
     \@ifundefined{l@german}{}{%
-    \iflanguage{german}{\if@thesisekf@exists@logo@de@\gdef\thesisekf@logo{\includegraphics{eszterhazy-logo-de}}\fi}{}}\fi
+        \iflanguage{german}{\if@thesisekf@exists@logo@de@\gdef\thesisekf@logo{\includegraphics{eszterhazy-logo-de}}\fi}{}}%
+\fi
 
 }
 
-\newif\if@thesisekf@nochanged@logo@\@thesisekf@nochanged@logo@true
+\newif\if@thesisekf@nochanged@logo@
+\@thesisekf@nochanged@logo@true
 \def\logo#1{\@thesisekf@nochanged@logo@false\gdef\thesisekf@logo{#1}}
 \def\thesisekf@logo{}
 \newif\if@thesisekf@exists@logo@en@
-\ifpdf\IfFileExists{eszterhazy-logo-en.pdf}{\@thesisekf@exists@logo@en@true}{}
-    \else\IfFileExists{eszterhazy-logo-en.eps}{\@thesisekf@exists@logo@en@true}{}\fi
+\ifpdf
+    \IfFileExists{eszterhazy-logo-en.pdf}{\@thesisekf@exists@logo@en@true}{}
+\else
+    \IfFileExists{eszterhazy-logo-en.eps}{\@thesisekf@exists@logo@en@true}{}
+\fi
 \newif\if@thesisekf@exists@logo@hu@
-\ifpdf\IfFileExists{eszterhazy-logo-hu.pdf}{\@thesisekf@exists@logo@hu@true}{}
-    \else\IfFileExists{eszterhazy-logo-hu.eps}{\@thesisekf@exists@logo@hu@true}{}\fi
+\ifpdf
+    \IfFileExists{eszterhazy-logo-hu.pdf}{\@thesisekf@exists@logo@hu@true}{}
+\else
+    \IfFileExists{eszterhazy-logo-hu.eps}{\@thesisekf@exists@logo@hu@true}{}
+\fi
 \newif\if@thesisekf@exists@logo@de@
-\ifpdf\IfFileExists{eszterhazy-logo-de.pdf}{\@thesisekf@exists@logo@de@true}{}
-    \else\IfFileExists{eszterhazy-logo-de.eps}{\@thesisekf@exists@logo@de@true}{}\fi
-\if@thesisekf@exists@logo@en@\def\thesisekf@logo{\includegraphics{eszterhazy-logo-en}}\fi
-\def\thesisekf@logo@{\thesisekf@logo%
-    \ifx\thesisekf@logo\@empty\ifthesisekf@warning\ClassWarning{thesis-ekf}{There isn't logo!}\fi\fi}
+\ifpdf
+    \IfFileExists{eszterhazy-logo-de.pdf}{\@thesisekf@exists@logo@de@true}{}
+\else
+    \IfFileExists{eszterhazy-logo-de.eps}{\@thesisekf@exists@logo@de@true}{}
+\fi
+\if@thesisekf@exists@logo@en@
+    \def\thesisekf@logo{\includegraphics{eszterhazy-logo-en}}
+\fi
+\def\thesisekf@logo@{%
+    \thesisekf@logo%
+    \ifx\thesisekf@logo\@empty%
+        \ifthesisekf@warning%
+            \ClassWarning{thesis-ekf}{logo is missing}%
+        \fi%
+    \fi}
 
 \def\institute#1{\gdef\thesisekf@institute{#1}}
 \institute{}
-\def\thesisekf@institute@{\thesisekf@institute%
-    \ifx\thesisekf@institute\@empty\ifthesisekf@warning\ClassWarning{thesis-ekf}{There isn't institute!}\fi\fi}
+\def\thesisekf@institute@{%
+    \thesisekf@institute%
+    \ifx\thesisekf@institute\@empty%
+        \ifthesisekf@warning%
+            \ClassWarning{thesis-ekf}{institute is missing}%
+        \fi%
+    \fi}
 
 \def\title#1{\gdef\thesisekf@title{#1}}
 \title{}
-\def\thesisekf@title@{\thesisekf@title%
-    \ifx\thesisekf@title\@empty\ifthesisekf@warning\ClassWarning{thesis-ekf}{There isn't title!}\fi\fi}
+\def\thesisekf@title@{%
+    \thesisekf@title%
+    \ifx\thesisekf@title\@empty%
+        \ifthesisekf@warning%
+            \ClassWarning{thesis-ekf}{title is missing}%
+        \fi%
+    \fi}
 
 \def\author#1{\gdef\thesisekf@author{#1}}
 \author{}
-\def\thesisekf@author@{\thesisekf@author%
-    \ifx\thesisekf@author\@empty\ifthesisekf@warning\ClassWarning{thesis-ekf}{There isn't author!}\fi\fi}
+\def\thesisekf@author@{%
+    \ifx\thesisekf@authorcaption\@empty%
+    \else%
+        \ifx\thesisekf@author\@empty%
+            \ifthesisekf@warning%
+                \ClassWarning{thesis-ekf}{author is missing}%
+            \fi%
+        \else%
+            \thesisekf@author%
+        \fi%
+    \fi}
 
-\newif\if@thesisekf@nochanged@authorcaption@\@thesisekf@nochanged@authorcaption@true
-\def\authorcaption#1{\@thesisekf@nochanged@authorcaption@false\gdef\thesisekf@authorcaption{#1}}
+\newif\if@thesisekf@nochanged@authorcaption@
+\@thesisekf@nochanged@authorcaption@true
+\def\authorcaption#1{%
+    \@thesisekf@nochanged@authorcaption@false%
+    \gdef\thesisekf@authorcaption{#1}}
 \def\thesisekf@authorcaption{Author}
 \def\thesisekf@authorcaption@{%
-    \ifx\thesisekf@author\@empty\else
-    \ifx\thesisekf@authorcaption\@empty\ifthesisekf@warning\ClassWarning{thesis-ekf}{There isn't authorcaption!}\fi
-    \else\thesisekf@authorcaption\fi\fi}
+    \ifx\thesisekf@author\@empty%
+    \else%
+        \ifx\thesisekf@authorcaption\@empty%
+            \ifthesisekf@warning%
+                \ClassWarning{thesis-ekf}{authorcaption is missing}%
+            \fi%
+        \else%
+            \thesisekf@authorcaption%
+        \fi%
+    \fi}
 
 \def\supervisor#1{\gdef\thesisekf@supervisor{#1}}
 \supervisor{}
-\def\thesisekf@supervisor@{\thesisekf@supervisor%
-    \ifx\thesisekf@supervisor\@empty\ifthesisekf@warning\ClassWarning{thesis-ekf}{There isn't supervisor!}\fi\fi}
+\def\thesisekf@supervisor@{%
+    \ifx\thesisekf@supervisorcaption\@empty
+    \else
+        \ifx\thesisekf@supervisor\@empty
+            \ifthesisekf@warning
+                \ClassWarning{thesis-ekf}{supervisor is missing}
+            \fi
+        \else
+            \thesisekf@supervisor
+        \fi
+    \fi}
 
-\newif\if@thesisekf@nochanged@supervisorcaption@\@thesisekf@nochanged@supervisorcaption@true
-\def\supervisorcaption#1{\@thesisekf@nochanged@supervisorcaption@false\gdef\thesisekf@supervisorcaption{#1}}
+\newif\if@thesisekf@nochanged@supervisorcaption@
+\@thesisekf@nochanged@supervisorcaption@true
+\def\supervisorcaption#1{%
+    \@thesisekf@nochanged@supervisorcaption@false%
+    \gdef\thesisekf@supervisorcaption{#1}}
 \def\thesisekf@supervisorcaption{Supervisor}
 \def\thesisekf@supervisorcaption@{%
-    \ifx\thesisekf@supervisor\@empty\else
-    \ifx\thesisekf@supervisorcaption\@empty\ifthesisekf@warning\ClassWarning{thesis-ekf}{There isn't supervisorcaption!}\fi
-    \else\thesisekf@supervisorcaption\fi\fi}
+    \ifx\thesisekf@supervisor\@empty%
+    \else%
+        \ifx\thesisekf@supervisorcaption\@empty%
+            \ifthesisekf@warning%
+                \ClassWarning{thesis-ekf}{supervisorcaption is missing}%
+            \fi%
+        \else%
+            \thesisekf@supervisorcaption%
+        \fi%
+    \fi}
 
 \def\city#1{\gdef\thesisekf@city{#1}}
 \city{}
-\def\thesisekf@city@{\thesisekf@city%
-    \ifx\thesisekf@city\@empty\ifthesisekf@warning\ClassWarning{thesis-ekf}{There isn't city!}\fi\fi}
+\def\thesisekf@city@{%
+    \thesisekf@city%
+    \ifx\thesisekf@city\@empty%
+        \ifthesisekf@warning%
+            \ClassWarning{thesis-ekf}{city is missing}%
+        \fi%
+    \fi}
 
 \def\date#1{\gdef\thesisekf@date{#1}}
 \date{\number\year}
-\def\thesisekf@date@{\thesisekf@date%
-    \ifx\thesisekf@date\@empty\ifthesisekf@warning\ClassWarning{thesis-ekf}{There isn't date!}\fi\fi}
+\def\thesisekf@date@{%
+    \thesisekf@date%
+    \ifx\thesisekf@date\@empty%
+        \ifthesisekf@warning%
+            \ClassWarning{thesis-ekf}{date is missing}%
+        \fi%
+    \fi}
+
+\def\thesisekf@datesep@{%
+    \ifx\thesisekf@city\@empty
+    \else
+        \ifx\thesisekf@date\@empty
+        \else
+            \thesisekf@datesep
+        \fi
+    \fi}
+
+\def\thesisekf@box@logo{%
+    \ifthesisekf@logodown%
+        {\normalfont\normalsize\thesisekf@institutefont\thesisekf@institute@%
+         \ifx\thesisekf@institute\@empty%
+         \else%
+             \\%
+             \ifx\thesisekf@logo\@empty%
+             \else%
+                 \vspace{\thesisekf@institutesep}%
+             \fi%
+         \fi}%
+        {\normalfont\normalsize\thesisekf@logofont\thesisekf@logo@%
+         \ifx\thesisekf@logo\@empty%
+         \else%
+             \\%
+         \fi}%
+    \else%
+        {\normalfont\normalsize\thesisekf@logofont\thesisekf@logo@%
+         \ifx\thesisekf@logo\@empty%
+         \else%
+             \\%
+             \ifx\thesisekf@institute\@empty%
+             \else%
+                 \vspace{\thesisekf@logosep}%
+             \fi%
+         \fi}%
+        {\normalfont\normalsize\thesisekf@institutefont\thesisekf@institute@%
+         \ifx\thesisekf@institute\@empty%
+         \else%
+             \\%
+         \fi}%
+    \fi%
+    \vspace*{\fill}}
+
+\def\thesisekf@box@title{%
+    {\normalfont\normalsize\thesisekf@titlefont\thesisekf@title@%
+     \ifx\thesisekf@title\@empty%
+     \else%
+         \par\vspace{\thesisekf@titlesep}%
+     \fi}}
+
+\def\thesisekf@align@center{center}
+\def\thesisekf@align@left{left}
+\def\thesisekf@align@right{right}
+
+\def\thesisekf@box@author{%
+    {\normalfont\normalsize\thesisekf@authorfont%
+     \ifx\thesisekf@authoralign\thesisekf@align@center%
+         \begin{tabular}[t]{@{}c@{}}%
+     \fi%
+     \ifx\thesisekf@authoralign\thesisekf@align@left%
+         \begin{tabular}[t]{@{}l@{}}%
+     \fi%
+     \ifx\thesisekf@authoralign\thesisekf@align@right%
+         \begin{tabular}[t]{@{}r@{}}%
+     \fi%
+     {\normalfont\normalsize\thesisekf@captionfont\thesisekf@authorcaption@}\\[\thesisekf@captionsep]%
+     \thesisekf@author@%
+     \end{tabular}}}
+
+\def\thesisekf@box@supervisor{%
+    {\normalfont\normalsize\thesisekf@authorfont%
+     \ifx\thesisekf@supervisoralign\thesisekf@align@center%
+         \begin{tabular}[t]{@{}c@{}}%
+     \fi%
+     \ifx\thesisekf@supervisoralign\thesisekf@align@left%
+         \begin{tabular}[t]{@{}l@{}}%
+     \fi%
+     \ifx\thesisekf@supervisoralign\thesisekf@align@right%
+         \begin{tabular}[t]{@{}r@{}}%
+     \fi%
+     {\normalfont\normalsize\thesisekf@captionfont\thesisekf@supervisorcaption@}\\[\thesisekf@captionsep]%
+     \thesisekf@supervisor@%
+     \end{tabular}}}
 
-\def\thesisekf@datesep@{\ifx\thesisekf@city\@empty\else\ifx\thesisekf@date\@empty\else\thesisekf@datesep\fi\fi}
+\def\thesisekf@box@author@supervisor@{%
+    \hbox{}\nobreak\hspace*{\thesisekf@authorxmargin}%
+    \ifthesisekf@reverseorder%
+        \thesisekf@box@supervisor%
+        \nobreak\hspace{\thesisekf@hminsep}\hfill%
+        \thesisekf@box@author%
+    \else%
+        \thesisekf@box@author%
+        \nobreak\hspace{\thesisekf@hminsep}\hfill%
+        \thesisekf@box@supervisor%
+    \fi%
+    \nobreak\hspace{\thesisekf@authorxmargin}\hbox{}%
+    \par\vspace{\thesisekf@authorsep}}
 
-\newif\if@thesisekf@noempty@author@supervisor@\@thesisekf@noempty@author@supervisor@true
+\def\thesisekf@box@author@supervisor{%
+    \if\getrefnumber{@thesisekf@collaborator@}%
+        \gdef\thesisekf@captionsep{\thesisekf@collcaptionsep}%
+    \fi%
+    \thesisekf@box@author@supervisor@%
+    \gdef\@currentlabel{10}%
+    \if@thesisekf@collaborator@%
+        \gdef\@currentlabel{11}%
+    \fi%
+    \label{@thesisekf@collaborator@}}
+
+\def\thesisekf@box@city@date{%
+    {\normalfont\normalsize\thesisekf@cityfont\thesisekf@city@\thesisekf@datesep@}%
+    {\normalfont\normalsize\thesisekf@datefont\thesisekf@date@}}
+
+\newif\if@thesisekf@collaborator@
+
+\newcommand{\collaborator}[1][]{%
+    \global\@thesisekf@collaborator@true%
+    \\[\thesisekf@captionsep]
+    \def\thesisekf@temp{#1}%
+    \ifx\thesisekf@temp\@empty%
+    \else%
+        {\normalfont\normalsize\thesisekf@captionfont#1}\\[\thesisekf@captionsep]%
+    \fi}
 
 \def\maketitle{
-\thispagestyle{empty}
-{\centering
-\ifthesisekf@logodown
-    {\normalfont\normalsize\thesisekf@institutefont\thesisekf@institute@%
-    \ifx\thesisekf@institute\@empty\else\\
-        \ifx\thesisekf@logo\@empty\else\vspace{\thesisekf@institutesep}\fi\fi}
-    {\normalfont\normalsize\thesisekf@logofont\thesisekf@logo@%
-    \ifx\thesisekf@logo\@empty\else\\\fi}
-\else
-    {\normalfont\normalsize\thesisekf@logofont\thesisekf@logo@%
-    \ifx\thesisekf@logo\@empty\else\\
-        \ifx\thesisekf@institute\@empty\else\vspace{\thesisekf@logosep}\fi\fi}
-    {\normalfont\normalsize\thesisekf@institutefont\thesisekf@institute@%
-    \ifx\thesisekf@institute\@empty\else\\\fi}
-\fi
-\vspace*{\fill}
-{\normalfont\normalsize\thesisekf@titlefont\thesisekf@title@%
-\ifx\thesisekf@title\@empty\else\\\vspace{\thesisekf@titlesep}\fi}
-\ifx\thesisekf@supervisor\@empty\ifx\thesisekf@author\@empty\@thesisekf@noempty@author@supervisor@false\fi\fi
-\if@thesisekf@noempty@author@supervisor@
-{\normalfont\normalsize\thesisekf@authorfont
-\def\thesisekf@align@center{center}%
-\def\thesisekf@align@left{left}%
-\def\thesisekf@align@right{right}%
-\ifx\thesisekf@authoralign\thesisekf@align@center\begin{tabular}[t]{@{\hspace{\thesisekf@authorxmargin}}c@{}}\fi
-\ifx\thesisekf@authoralign\thesisekf@align@left\begin{tabular}[t]{@{\hspace{\thesisekf@authorxmargin}}l@{}}\fi
-\ifx\thesisekf@authoralign\thesisekf@align@right\begin{tabular}[t]{@{\hspace{\thesisekf@authorxmargin}}r@{}}\fi
-{\normalfont\normalsize\thesisekf@captionfont\thesisekf@authorcaption@}\\[\thesisekf@captionsep]
-\thesisekf@author@
-\end{tabular}
-\hfill
-\ifx\thesisekf@supervisoralign\thesisekf@align@center\begin{tabular}[t]{@{}c@{\hspace{\thesisekf@authorxmargin}}}\fi
-\ifx\thesisekf@supervisoralign\thesisekf@align@left\begin{tabular}[t]{@{}l@{\hspace{\thesisekf@authorxmargin}}}\fi
-\ifx\thesisekf@supervisoralign\thesisekf@align@right\begin{tabular}[t]{@{}r@{\hspace{\thesisekf@authorxmargin}}}\fi
-{\normalfont\normalsize\thesisekf@captionfont\thesisekf@supervisorcaption@}\\[\thesisekf@captionsep]
-\thesisekf@supervisor@
-\end{tabular}
-\\\vspace{\thesisekf@authorsep}}
-\fi
-{\normalfont\normalsize\thesisekf@cityfont\thesisekf@city@\thesisekf@datesep@}%
-{\normalfont\normalsize\thesisekf@datefont\thesisekf@date@}
-\par
-}
-\newpage
-\if@twoside\thispagestyle{empty}\hbox{}\newpage\fi}
+    \thispagestyle{empty}
+    {\centering
+     \thesisekf@box@logo%
+     \thesisekf@box@title%
+     \thesisekf@box@author@supervisor%
+     \thesisekf@box@city@date%
+     \par}
+    \newpage
+    \if@twoside
+        \thispagestyle{empty}
+        \hbox{}
+        \newpage
+    \fi}
 
 %    \end{macrocode}
 % \Finale
-- 
cgit v1.2.3

