
% \iffalse meta-comment
%
% Copyright (C) 2014 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}
\newcommand{\eifiledate}{2015/04/19}
\newcommand{\eifilever}{v1.1}
%</driver>
%<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<class>\ProvidesClass{thesis-ekf}[2015/04/19 v1.1 class for EKF thesis]
%
%<*driver>
\documentclass[a4paper]{ltxdoc}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[unicode,pdfstartview=FitH,bookmarksnumbered,urlcolor=blue,pdfborder={0 0 0}]{hyperref}
\usepackage[hungarian]{babel}
\usepackage{xcolor}
\colorlet{pelda}{red!50!black}
\frenchspacing

\begin{document}
	\DocInput{./thesis-ekf.dtx}
\end{document}
%</driver>
% \fi
%
% \CheckSum{276}
%
% \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 the Eszterházy Károly College\\ Osztályfájl szakdolgozat készítéséhez az Eszterházy Károly Főiskola részére\\\textsf{thesis-ekf.cls}\\\eifilever}
% \author{Tómács Tibor\\{\color{blue}\normalsize\href{mailto:tomacs@ektf.hu}{\nolinkurl{tomacs@ektf.hu}}}}
% \date{2015. április 19.}
% \maketitle
%
% Since the Eszterházy Károly College is in Hungary (Eger), the documentation is given in Hungarian only.
%
% \section*{Verziótörténet}
% \begin{description}
% \item[v1.0] (2014/05/21) Ez az első hivatalos verzió.
% \item[v1.1] (2015/04/19) \texttt{centeredchapter} opció létrehozása; új példa hozzáadása; dokumentáció frissítése.
% \end{description}
%
% \section{Bevezető}
% Ez az osztály a \texttt{report} osztályra építve ad lehetőséget olyan szakdolgozatok megírására, amely megfelel az Eszterházy Károly Főiskola szabályzatának. Az oldalparaméterek beállításán túl a címoldal elkészítését is megkönnyíti. A formai követelmények a következők:
%	\begin{itemize}
%		\item A4-es lapméret;
%		\item 12 pontos betűméret;
%		\item Sorkizárt igazítás, másfeles sortávolság;
%		\item Margók:
%			\begin{itemize}
%				\item belső: 30\,mm
%				\item külső: 25\,mm
%				\item alsó: 25\,mm
%				\item felső: 25\,mm
%			\end{itemize}
%		\item Oldalszámozás a láblécben arab számozással.	
%	\end{itemize}
%
% \section{Egy példa a használatra}
% A következő kódhoz szükség van a \texttt{magyar.ldf} 1.5 verziójára. Ha ezt nem tartalmazza a rendszere, akkor töltse le innen: {\color{blue}\url{http://www.math.bme.hu/latex/}}.
%
%{\color{pelda}
%\begin{verbatim}
%\documentclass[colorlinks,centeredchapter]{thesis-ekf}
%\usepackage[T1]{fontenc}
%\usepackage[utf8]{inputenc}
%\PassOptionsToPackage{defaults=hu-min}{magyar.ldf}
%\usepackage[magyar]{babel}
%\usepackage{graphicx}
%
%\logo{\includegraphics[width=8cm]{ekf-logo}}
%\institute{Eszterházy Károly Főiskola\\ Matematikai és Informatikai Intézet}
%\title{A szakdolgozat címe}
%\authorcaption{Készítette:}
%\author{Szerző neve\\ szak}
%\supervisorcaption{Témavezető:}
%\supervisor{Tanár neve\\ beosztás}
%\city{Eger}
%\date{2015}
%
%\begin{document}
%\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}}
%
% \noindent Néhány teljes példa letölthető innen:\\ 
% {\color{blue}\url{http://ektf.hu/tanszek/matematika/tomacs/tananyagok/thesis-ekf.zip}}
%
% \section{A dokumentumosztály betöltése és opciói}
% A dokumentumosztály betöltése a szokásos módon történik:
% \par\bigskip\noindent
% |\documentclass|\oarg{opciók}|{thesis-ekf}|
% \par\bigskip\noindent
% A lehetséges opciók listája:
% \begin{macro}{oneside} 
% (alapopció) Egyoldalas nyomtatáshoz. Ekkor a belső margó mindig a bal oldalon van.
% \end{macro}
% \begin{macro}{twoside}
% Kétoldalas nyomtatáshoz. Ha van módja kétoldalas nyomtatásra alkalmas printert használni, akkor mindenképpen ezt az opciót alkalmazza. Ekkor a belső margó aszerint van a bal illetve jobb oldalon, hogy páratlan, vagy páros oldalszámú.
% \end{macro}
% \begin{macro}{nocolorlinks}
% (alapopció) A linkek működnek a PDF-ben, de nincsenek kiemelve színes karakterrel. Ezt használja a dolgozat nyomtatott verziójához!
% \end{macro}
% \begin{macro}{colorlinks}
% A linkek színes karakterekkel jelennek meg a PDF-ben. Ezt használja a dolgozat elektronikus verziójához!
% \end{macro}
% \begin{macro}{logoup}
% (alapopció) A logó az intézet neve felett van.
% \end{macro}
% \begin{macro}{logodown}
% A logó az intézet neve alatt van.
% \end{macro}
% \begin{macro}{logono}
% Nincs logó.
% \end{macro}
% \begin{macro}{centeredchapter}
% A fejezetek címe középre van igazítva.
% \end{macro}
%
% \section{Címoldal létrehozása}
% A címoldal a szokásos módon, a |\maketitle| paranccsal hozható létre. Ehhez előtte az adatokat a következő parancsokkal lehet megadni:
%
% \begin{macro}{\logo}
% Logó betöltéséhez kell használni.\\ Használata: |\logo|\marg{képbetöltés}.\\ Pl.:  |\logo{\includegraphics[width=8cm]{ekf-logo}}|. (Előtte a \texttt{graphicx} csomagot töltse be.) Ha nem akar logót, akkor használja az osztály \texttt{logono} opcióját. Ilyenkor ennek a parancsnak nincs hatása. Az osztály \texttt{logoup} opciója a logót az intézet neve fölé, míg a \texttt{logodown} opciója a logót az intézet neve alá teszi.
% \end{macro}
%
% \begin{macro}{\institute} 
% Ezzel adjuk meg az intézet nevét.\\ Használata: |\institute|\marg{intézet neve}.\\ Pl.:
% |\institute{Eszterházy Károly Főiskola\\|\\
% |               Matematikai és Informatikai Intézet}|
% \end{macro}
%
% \begin{macro}{\title} 
% Ezzel adjuk meg a dolgozat címét.\\ Használata: |\title|\marg{dolgozat címe}. 
% \end{macro}
%
% \begin{macro}{\authorcaption} 
% Ezzel adjuk meg a szerző neve feletti feliratot.\\ Használata: |\authorcaption|\marg{felirat}.\\ Pl.: |\authorcaption{Készítette:}|
% \end{macro}
%
% \begin{macro}{\author} 
% Ezzel adjuk meg a szerző nevét és a szakot.\\ Használata: |\author|\marg{név és szak}.\\ Pl.: |\author{Tóth István\\ matematika BSc}|
% \end{macro}
%
% \begin{macro}{\supervisorcaption} 
% Ezzel adjuk meg a témavezető neve feletti feliratot.\\ Használata: |\supervisorcaption|\marg{felirat}.\\ Pl.: |\supervisorcaption{Témavezető:}|
% \end{macro}
%
% \begin{macro}{\supervisor} 
% Ezzel adjuk meg a témavezető nevét és beosztását.\\ Használata: |\supervisor|\marg{név és beosztás}.\\ Pl.: |\supervisor{Dr. Nagy János\\ főiskolai docens}|
% \end{macro}
%
% \begin{macro}{\city} 
% Ezzel adjuk meg a város nevét, ahol az intézet található.\\ Használata: |\city|\marg{város}.\\ Pl.: |\city{Eger}|
% \end{macro}
%
% \begin{macro}{\date} 
% Ezzel adjuk meg a dolgozat leadásának évét. Az évszám után ne tegyen pontot!\\ Használata: |\date|\marg{évszám}.\\ Pl.: |\date{2014}|
% \end{macro}
%
% \section{A dokumentumosztály által betöltött csomagok}
% A \texttt{geometry} és \texttt{hyperref} csomagok automatikusan betöltődnek, így ezeket nem szabad ismét betölteni!
%
% \StopEventually{}
%
% \section{Az osztályfájl tartalma}
% A \texttt{report} osztály betöltése A4-es lap- és 12\,pt-os betűmérettel.
%    \begin{macrocode}
\LoadClass[a4paper,12pt]{report}
%    \end{macrocode}
% ~\\Margók beállítása.
%    \begin{macrocode}
\RequirePackage[top=25mm,bottom=25mm,inner=30mm,outer=25mm]{geometry}
%    \end{macrocode}
% ~\\PDF tulajdonságainak beállítása (linkszínek, könyvjelző, indítási nézet).
%    \begin{macrocode}
\RequirePackage[unicode,linktocpage,linkcolor=blue,citecolor=blue,urlcolor=blue,
pdfstartview=FitH,bookmarksnumbered,pdfborder={0 0 0}]{hyperref}
%    \end{macrocode}
% ~\\Másfeles sortávolság.
%    \begin{macrocode}
\linespread{1.24}
%    \end{macrocode}
% ~\\Túlcsordulást a sor végén PDF-ben is jelezze.
%    \begin{macrocode}
\overfullrule10pt
%    \end{macrocode}
% ~\\Telített oldalak alsó igazítása.
%    \begin{macrocode}
\flushbottom
%    \end{macrocode}
% ~\\Fattyúsor tiltása.
%    \begin{macrocode}
\widowpenalty=10000
\clubpenalty=10000

%    \end{macrocode}
% ~\\Egyoldalas dokumentum esetén az oldalszám a láblécben középen van. Kétoldalas dokumentum esetén páros oldalon a láblécben bal oldalon, míg páratlan oldalon a láblécben jobb oldalon van az oldalszám. Kétoldalas dokumentum esetén a címoldal hátoldala üres. A fejléc minden esetben üres.
%    \begin{macrocode}
\if@twoside
\def\ps@plain{}
\def\@oddfoot{\hbox{}\hfill\normalsize\textnormal\thepage}
\def\@evenfoot{\normalsize\textnormal\thepage}
\def\@aftertitlepage{\thispagestyle{empty}\hbox{}\newpage}
\else
\def\@aftertitlepage{}
\fi

%    \end{macrocode}
% ~\\A tartalomjegyzékben a fejezet, szakasz és alszakasz számai után nagyobb helyet hagy, hogy két jegy esetén se tapadjon össze a címmel. 
%    \begin{macrocode}
\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.1em}{3.2em}}

%    \end{macrocode}
% ~\\A \texttt{centeredchapter} opció esetén a |\@makechapterhead| és |\@makeschapterhead| parancsok átdefiniálása.
%    \begin{macrocode}
\def\thesisekf@chapternumber{%
    \@ifundefined{l@magyar}
       {\@chapapp\space \thechapter}
       {\iflanguage{magyar}
          {\magyar@huordinal@chapterheaddot \@chapapp}
          {\@chapapp\space \thechapter}}}

\def\thesisekf@centeredchapter{%
    \def\@makechapterhead##1{%
      \vspace*{50\p@}%
      {\parindent \z@ \raggedright \normalfont
        \ifnum \c@secnumdepth >\m@ne
            {\centering\huge\bfseries \thesisekf@chapternumber
            \par\nobreak}
            \vskip 20\p@
        \fi
        \interlinepenalty\@M
        {\centering\Huge \bfseries ##1\par\nobreak}
        \vskip 40\p@
      }}
    \def\@makeschapterhead##1{%
      \vspace*{50\p@}%
      {\parindent \z@ \raggedright
        \normalfont
        \interlinepenalty\@M
        {\centering\Huge \bfseries  ##1\par\nobreak}
        \vskip 40\p@
      }}}

%    \end{macrocode}
% ~\\Címoldal adatait megadó makrók.
%    \begin{macrocode}
\def\logo#1{\def\@logo{#1}}\logo{LOGO}
\def\institute#1{\def\@institute{#1}}\institute{INSTITUTE}
\def\authorcaption#1{\def\@authorcaption{#1}}\authorcaption{Author:}
\def\supervisorcaption#1{\def\@supervisorcaption{#1}}\supervisorcaption{Supervisor:}
\def\supervisor#1{\def\@supervisor{#1}}\supervisor{}
\def\city#1{\def\@city{#1}}\city{}

%    \end{macrocode}
% ~\\A |\maketitle| címoldalt készítő parancs átdefiniálása.
%    \begin{macrocode}
\def\maketitle{
\if@centeredchapter
\thesisekf@centeredchapter
\let\oldselectlanguage\selectlanguage
\def\selectlanguage##1{\oldselectlanguage{##1}\thesisekf@centeredchapter}
\fi
\thispagestyle{empty}
\begin{large}
\centering
\if@logono{\scshape\@institute\\}\fi
\if@logoup{\scshape\@logo\\\@institute\\}\fi
\if@logodown{\scshape\@institute\\[10mm]\@logo\\}\fi
\vfill{\Huge\sffamily\bfseries\@title\\}\vspace{\stretch{1.8}}
\begin{tabular}[t]{@{\hspace{10mm}}l@{}}
{\bfseries\@authorcaption}\\[1mm]
\@author
\end{tabular}
\hfill
\begin{tabular}[t]{@{}l@{\hspace{10mm}}}
{\bfseries\@supervisorcaption}\\[1mm]
\@supervisor
\end{tabular}
\par\vspace{15mm}
{\scshape\@city\if\@city\empty\else,~\fi\@date\par}
\end{large}
\newpage\@aftertitlepage}

%    \end{macrocode}
% ~\\A logó helyét vizsgáló logikai értékek definiálása.
%    \begin{macrocode}
\newif\if@logono
\newif\if@logoup
\newif\if@logodown
%    \end{macrocode}
% ~\\A \texttt{centeredchapter} opciót vizsgáló logikai érték definiálása.
%    \begin{macrocode}
\newif\if@centeredchapter

%    \end{macrocode}
% ~\\Opciók definiálása.
%    \begin{macrocode}
\DeclareOption{nocolorlinks}{\hypersetup{colorlinks=false}}
\DeclareOption{colorlinks}{\hypersetup{colorlinks}}
\DeclareOption{oneside}{\@twosidefalse\@mparswitchfalse}
\DeclareOption{twoside}{\@twosidetrue\@mparswitchtrue}
\DeclareOption{logono}{\@logonotrue\@logoupfalse\@logodownfalse}
\DeclareOption{logoup}{\@logonofalse\@logouptrue\@logodownfalse}
\DeclareOption{logodown}{\@logonofalse\@logoupfalse\@logodowntrue}
\DeclareOption{centeredchapter}{\@centeredchaptertrue}
%    \end{macrocode}
% ~\\Alapopciók megadása.
%    \begin{macrocode}
\ExecuteOptions{nocolorlinks,oneside,logoup}
\ProcessOptions
%    \end{macrocode}
%
% \Finale
\endinput
