
% \iffalse meta-comment
%
% Copyright (C) 2014-2024 by Tibor Tomacs
%
% This file may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.2
% of this license or (at your option) any later version.
% The latest version of this license is in:
%
% http://www.latex-project.org/lppl.txt
%
% and version 1.2 or later is part of all distributions of LaTeX
% version 1999/12/01 or later.
%
% \fi
%
% \iffalse
%<*driver>
\ProvidesFile{thesis-ekf.dtx}
%</driver>
%<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<class>\ProvidesClass{thesis-ekf}[2024/04/13 v4.3 Thesis class for Eszterhazy Karoly Catholic University (Eger, Hungary)]
%<class>
%<*driver>
\documentclass{ltxdoc}
\OnlyDescription
\usepackage[T1]{fontenc}
\AddToHook{begindocument/before}[doc/hyperref]{\hypersetup{pdfstartview=FitH,bookmarksnumbered=false,allcolors=black}}
\PassOptionsToPackage{active=onlycs}{magyar.ldf}
\usepackage[english,magyar]{babel}
\usepackage[numbered=false]{bookmark}
\usepackage[a4paper,left=2in,top=1.5in,bottom=1.5in]{geometry}
\frenchspacing
\usepackage{lmodern,paralist,textcomp,fancyvrb}
\setlength{\MacroTopsep}{0pt}
\fvset{gobble=1,fontsize=\footnotesize,commandchars=+<>}
\newcommand{\param}[1]{\hspace*{-4.5pt}{\small#1}}
\renewcommand{\bfdefault}{b}
\providecommand\narg[1]{\ttfamily\char`\{#1\char`\}}
\begin{document}
	\DocInput{./thesis-ekf.dtx}
\end{document}
%</driver>
% \fi
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%     Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%     Digits \0\1\2\3\4\5\6\7\8\9
%     Exclamation         \!     Double quote    \"     Hash (number)   \#
%     Dollar              \$     Percent         \%     Ampersand       \&
%     Acute accent        \'     Left paren      \(     Right paren     \)
%     Asterisk            \*     Plus            \+     Comma           \,
%     Minus               \-     Point           \.     Solidus         \/
%     Colon               \:     Semicolon       \;     Less than       \<
%     Equals              \=     Greater than    \>     Question mark   \?
%     Commercial at       \@     Left bracket    \[     Backslash       \\
%     Right bracket       \]     Circumflex      \^     Underscore      \_
%     Grave accent        \`     Left brace      \{     Vertical bar    \|
%     Right brace         \}     Tilde           \~}
%
% \GetFileInfo{thesis-ekf.cls}
% \title{Thesis class for\\ Eszterházy Károly Catholic University\\\textsf{thesis-ekf.cls}\\[2mm]{\normalsize Version 4.3 (2024/04/13)}}
% \author{Tibor Tómács\\{\normalsize\href{mailto:tomacs.tibor@gmail.com}{\texttt{tomacs.tibor@gmail.com}}}}
% \date{}
% \maketitle
% \def\abstractname{}
%\begin{abstract}
% \selectlanguage{english}\noindent This is a class file for theses and dissertations at Eszterházy Károly Catholic University, Eger, Hungary (website: \texttt{https://uni-eszterhazy.hu/en}). The documentation is in Hungarian.
%\end{abstract}
%
% \section{Bevezető}
%
% A |thesis-ekf| dokumentumosztály segítségével az Eszterházy Károly Katolikus Egyetem szabályzatának megfelelő szakdolgozatokat lehet készíteni. Ez a dokumentumosztály 2014-től létezik, amikor az intézmény neve még Eszterházy Károly Főiskola volt. Ennek rövidítése a dokumentumosztály nevében szereplő |ekf|. A formai követelmények a következők:
%
% \medskip
% \begin{compactitem}
% \item A4-es lap- és 12\,pt betűméret,
% \item a margó a kötés oldalon 30\,mm, a többi 25\,mm,
% \item oldalszámozás a láblécben arab számozással,
% \item a fejezetcímek középre, a további szintek címei balra igazítva,
% \item a főszöveg antikva betűcsaláddal kiszedve,
% \item sorkizárt igazítás, másfeles sortávolság.
% \end{compactitem}
%
% \medskip\noindent
% A |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 á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|] (pdf/dvi kimenet detektálásához)
% \item[|hyperref|] (elektronikus verzióhoz; opciók: |pdfstartview=FitH|, |allcolors=blue|, |linktocpage|, |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|] (dokumentumkapcsokhoz)
% \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}
%
% \begin{macro}{\documentclass}\param{\oarg{opciók}\narg{thesis-ekf}}
% A dokumentumosztályt a preambulum elején ezzel a paranccsal lehet betölteni.
% \end{macro}
%
% \medskip\noindent
% Opciók nélkül akkor használja, ha a szakdolgozatot egyoldalasan szeretné kinyomtatni, vagy ha olyan elektronikus verziót akar, amelyben a linkek nem színes karakterrel jelennek meg. A fontosabb \meta{opciók} a következők:
%
% \medskip
% \begin{macro}{twoside}
% Ha a szakdolgozatot kétoldalasan szeretné kinyomtatni, akkor ezt az opciót alkalmazza! Ne használja egyoldalas nyomtatáshoz illetve elektronikus verzióhoz!
% \end{macro}
%
% \begin{macro}{colorlinks}
% A linkek színes karakterekkel jelennek meg. Ezt csak a szakdolgozat elektronikus verziójához használja, a nyomtatott verzióhoz nem kell!
% \end{macro}
%
% \begin{macro}{tocnopagenum}
% 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}}
% Ezzel kell megadni annak az intézménynek a nevét, ahol a szakdolgozat készült. Az Eszterházy Károly Egyetem esetében az egyetem nevét nem kell kiírni, mert azt tartalmazza a logója. Ekkor elég csak az intézet nevét feltüntetni.
% \end{macro}
%
% \begin{macro}{\title}\param{\marg{szakdolgozat címe}}
% Ezzel kell megadni a szakdolgozat címét.
% \end{macro}
%
% \begin{macro}{\author}\param{\texttt{\{}\meta{szerző neve}\texttt{\textbackslash\textbackslash}\meta{szak}\texttt{\}}}
% Ezzel kell megadni a szakdolgozat szerzőjének a nevét és a szakot.
% \end{macro}
%
% \begin{macro}{\supervisor}\param{\texttt{\{}\meta{témavezető neve}\texttt{\textbackslash\textbackslash}\meta{beosztás}\texttt{\}}}
% 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}
%
% \begin{macro}{\date}\param{\marg{dolgozat leadásának éve}}
% Ezzel kell megadni a szakdolgozat leadásának az évét. Ha nem adja meg, akkor az aktuális évszám fog megjelenni.
% \end{macro}
%
% \begin{macro}{\maketitle}
% A standard dokumentumosztályokhoz hasonlóan a címoldal itt is ezzel a paranccsal hozható létre.
% \end{macro}
%
% \section{Példa a használatra}
%
% A következő sablon akkor működik helyesen, ha UTF-8 kódolású fájlban van.
%
%\begin{Verbatim}
%\documentclass{thesis-ekf}
%\usepackage[T1]{fontenc}
%\PassOptionsToPackage{defaults=hu-min}{magyar.ldf}
%\usepackage[magyar]{babel}
%
%\begin{document}
%
%\institute{Matematikai és Informatikai Intézet}
%\title{Szakdolgozat címe}
%\author{Hallgató neve\\szak}
%\supervisor{Konzulens neve\\beosztás}
%\city{Eger}
%\date{2024}
%\maketitle
%
%\tableofcontents
%\chapter{Fejezet címe}
%\section{Szakasz címe}
%\begin{thebibliography}{1}
%\bibitem{cimke} \textsc{Szerző}: Cím, Kiadó, Hely, évszám.
%\end{thebibliography}
%
%\end{document}
%\end{Verbatim}
%
% \section{A dokumentumosztály testreszabása}
%
% A \texttt{thesis-ekf} dokumentumosztály könnyen testreszabható opciókkal és parancsokkal, így más egyetemek is használhatják.
%
% \subsection{A dokumentumosztály opciói}
%
% 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}}
% Ezzel a fejezetcímek nem középre, hanem balra zártan lesznek kiszedve.
% \end{macro}
%
% \begin{macro}{warning}\param{\texttt{=false}}
% 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} 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}
% Alapbeállítás esetén a logó az intézmény neve felett van. Ezzel a logó az intézmény neve alá kerül.
% \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|).
% \end{macro}
%
% \begin{macro}{logosep}\param{\texttt{=}\meta{méret}}
% A logó alatti térköz a normál sortávolságon felül, ha a \texttt{logodown} opció nincs bekapcsolva (alapérték |0mm|).
% \end{macro}
%
% \begin{macro}{institutefont}\param{\texttt{=}\meta{betűtípus}}
% Az intézménynév betűtípusa (alapérték |\large\scshape|).
% \end{macro}
%
% \begin{macro}{institutesep}\param{\texttt{=}\meta{méret}}
%  Az intézmény neve alatti térköz a normál sortávolságon felül, ha a \texttt{logodown} opció be van kapcsolva (alapérték |10mm|).
% \end{macro}
%
% \begin{macro}{titlefont}\param{\texttt{=}\meta{betűtípus}}
% A dolgozat címének betűtípusa (alapérték |\Huge\bfseries|).
% \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.4}|).
% \end{macro}
%
% \begin{macro}{captionfont}\param{\texttt{=}\meta{betűtípus}}
% A szerző és témavezető nevei feletti feliratok betűtípusa (alapérték |\large\bfseries|).
% \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, 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}}
% A szerző nevének és szakjának, illetve a témavezető nevének és beosztásának betűtípusa (alapérték |\large|).
% \end{macro}
%
% \begin{macro}{authoralign}\param{\texttt{=}\meta{igazítás}}
% A szerző adatait tartalmazó doboz tartalmának igazítása. Az \meta{igazítás} lehetséges értékei |left| (balra igazítás, ez az alapérték), |center| (középre igazítás) |right| (jobbra igazítás).
% \end{macro}
%
% \begin{macro}{supervisoralign}\param{\texttt{=}\meta{igazítás}}
% A témavezető adatait tartalmazó doboz tartalmának igazítása. Az \meta{igazítás} lehetséges értékei |left| (balra igazítás, ez az alapérték), |center| (középre igazítás) |right| (jobbra igazítás).
% \end{macro}
%
% \begin{macro}{authorxmargin}\param{\texttt{=}\meta{méret}}
% 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ő é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}}
% A város nevének betűtípusa (alapérték |\large\scshape|).
% \end{macro}
%
% \begin{macro}{datefont}\param{\texttt{=}\meta{betűtípus}}
% Az évszám betűtípusa (alapérték |\large\scshape|).
% \end{macro}
%
% \begin{macro}{datesep}\param{\texttt{=}\meta{elválasztás}}
% A város és az évszám közötti elválasztás (alapérték |{,~}|). Például |datesep=\\| esetén a városnév alá kerül az évszám.
% \end{macro}
%
% \subsection{Parancsok}
%
% \begin{macro}{\setkeys}\param{\texttt{\{thesis-ekf\}}\marg{opció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}}
% A \texttt{hyperref} csomag opciói ezzel állíthatók be. Például, ha a linkek színét pirosra akarja állítani: |\hypersetup{allcolors=red}|.
% \end{macro}
%
% \begin{macro}{\geometry}\param{\marg{geometry opciók}}
% A \texttt{geometry} csomag opciói ezzel állíthatók be. Például, ha B5 lapméretet szeretne, 20\,mm margókkal, kivéve a belső margót, amely 25\,mm:\\ |\geometry{b5paper,top=20mm,bottom=20mm,inner=25mm,outer=20mm}|.
% \end{macro}
%
% \begin{macro}{\singlespacing}
% Alapbeállítás esetén a sortávolság másfeles. A \texttt{setspace} csomag |\singlespacing| parancsával visszaállítható a normál méretű sortávolság.
% \end{macro}
%
% \begin{macro}{\logo}\param{\marg{kép vagy szöveg}}
% Ezt a parancsot a |\maketitle| előtt vagy a konfigurációs fájlban (lásd később) kell használni. Ezzel kell megadni az intézmény logóját. Például |\logo{\includegraphics[width=9cm]{logo}}|. Ha nem adja meg, akkor az Eszterházy Károly Egyetem angol, német vagy magyar logója fog megjelenni aszerint, hogy a \texttt{babel} csomaggal melyik nyelvet töltötte be. Ha nem akar logót, akkor írja be a |\logo{}| parancsot.
% \end{macro}
%
% \begin{macro}{\authorcaption}\param{\marg{szerző neve feletti felirat}}
% Ezt a parancsot a |\maketitle| előtt vagy a konfigurációs fájlban (lásd később) kell használni. Ezzel adhatja meg a szakdolgozat szerzőjének neve feletti feliratot. Alapértéke \texttt{Author}, magyar nyelv esetén \texttt{Készítette}, német nyelv esetén \texttt{Autor}.
% \end{macro}
%
% \begin{macro}{\supervisorcaption}\param{\marg{témavezető neve feletti felirat}}
% Ezt a parancsot a |\maketitle| előtt vagy a konfigurációs fájlban (lásd később) kell használni. Ezzel adhatja meg a szakdolgozat témavezetőjének neve feletti feliratot. Alapértéke \texttt{Supervisor}, magyar nyelv esetén \texttt{Témavezető}, német nyelv esetén \texttt{Betreuer}.
% \end{macro}
%
% \subsection{Konfigurációs fájl}
%
% \begin{macro}{thesis-ekf.cfg}
% Az átparaméterező opciókat és parancsokat célszerű egy \texttt{thesis-ekf.cfg} fájlba írni, amit a \texttt{tex} forrásfájl mellé kell tenni. A dokumentumosztály betöltésekor ez a fájl automatikusan betöltődik. A konfigurációs fájlban az ékezetes betűket repülő ékezettel érdemes beírni, hogy minden kódolású \texttt{tex} fájl esetén működjön.
% \end{macro}
%
% \begin{macro}{\AtEndOfClass}\param{\marg{parancsok}}
% A konfigurációs fájlban minden parancsot a |\setkeys| kivételével ebbe a parancsba kell írni.
% \end{macro}
%
% \subsection{Egy példa az átparaméterezésre}
%
% 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}{
%  11pt,
%  centeredchapter=false,
%  titlefont=\Huge\sffamily
%}
%\AtEndOfClass{
%  \hypersetup{allcolors=red}
%  \geometry{b5paper,top=20mm,bottom=20mm,inner=25mm,outer=20mm}
%  \singlespacing
%  \authorcaption{\+textquotesingle{I}rta}
%}
%\end{Verbatim}
%
% \StopEventually{}
%    \begin{macrocode}
\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}
\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.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}
\DeclareStringOption[\large\scshape]{logofont}
\DeclareStringOption[\Huge\bfseries]{titlefont}
\DeclareStringOption[\large]{authorfont}
\DeclareStringOption[\large\bfseries]{captionfont}
\DeclareStringOption[\large\scshape]{cityfont}
\DeclareStringOption[\large\scshape]{datefont}
\DeclareStringOption[,~]{datesep}
\def\thesisekf@fontsize@{12pt}
\ProcessKeyvalOptions{thesis-ekf}

\InputIfFileExists{thesis-ekf.cfg}{}{}

\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

\LoadClass[\thesisekf@fontsize@]{report}
\RequirePackage{setspace}
\RequirePackage[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,graphicx,iftex}

\onehalfspacing

\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}}
\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}
\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}

\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}
\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}}{}}%
    \@ifundefined{l@ngerman}{}{%
        \iflanguage{ngerman}{\gdef\thesisekf@authorcaption{Autor}}{}}%
    \@ifundefined{l@german}{}{%
        \iflanguage{german}{\gdef\thesisekf@authorcaption{Autor}}{}}%
\fi

\if@thesisekf@nochanged@supervisorcaption@%
    \@ifundefined{l@magyar}{}{%
        \iflanguage{magyar}{\gdef\thesisekf@supervisorcaption{T\'{e}mavezet\H{o}}}{}}%
    \@ifundefined{l@ngerman}{}{%
        \iflanguage{ngerman}{\gdef\thesisekf@supervisorcaption{Betreuer}}{}}%
    \@ifundefined{l@german}{}{%
        \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}{}}%
    \@ifundefined{l@ngerman}{}{%
        \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

}

\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
\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
\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}{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}{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}{title is missing}%
        \fi%
    \fi}

\def\author#1{\gdef\thesisekf@author{#1}}
\author{}
\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}}
\def\thesisekf@authorcaption{Author}
\def\thesisekf@authorcaption@{%
    \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@{%
    \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}}
\def\thesisekf@supervisorcaption{Supervisor}
\def\thesisekf@supervisorcaption@{%
    \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}{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}{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@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}}

\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
     \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
\endinput