% \iffalse meta-comment % % Copyright (C) 2005 by Kostantinos Koukopoulos % % This program is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by % the Free Software Foundation; either version 2 of the License, or % (at your option) any later version. % % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. % % You should have received a copy of the GNU General Public License % along with Foobar; if not, write to the Free Software % Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA % % \fi % % \CheckSum{316} % \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 \~} % \iffalse % The following code contains the documentation driver file, i.e. the file % that will produce the documentation your are reading. It can be extracted % from this file by the {\sc docstrip} program. % \begin{macrocode} %<*driver> \ProvidesFile{dithesis.drv} \documentclass{ltxdoc} \GetFileInfo{dithesis.drv} \usepackage{hyperref} \EnableCrossrefs \CodelineIndex \RecordChanges \begin{document} \DocInput{dithesis.dtx} \PrintChanges \PrintIndex \end{document} % % \end{macrocode} % % \fi % \newcommand{\UoA}{University of Athens} % % \title{The \textsf{dithesis} class \thanks{This document % corresponds to \textsf{dithesis}~\fileversion, % dated \filedate.}} % \author{% % Manolis Paissios \\ \texttt{e.paissios@di.uoa.gr} \and % Paschalis Antoniou \\ \texttt{p.antoniou@di.uoa.gr} \and % Kostantinos Koukopoulos \\ \texttt{kouk@noc.uoa.gr}} % % \maketitle % % \begin{abstract} % This is the unofficial \LaTeX~class file for undergraduate theses that % conform to the specifications of the Library of the Department of % Informatics at the University of Athens.. % \end{abstract} % % \section{Introduction} % % This document class will mainly be helpfull to the students of the % Department of Informatics % \footnote{\href{http://www.di.uoa.gr}{http://www.di.uoa.gr}} of the % University of Athens, who which to write their undergraduate thesis % in \LaTeXe~while conforming to the mandatory guidelines of the % department's library. % % \subsection{Acknowledgements} % % As a starting point for the creation of this document class, the % {\tt suthesis-2e.sty} % \footnote{\href{http://help-csli.stanford.edu/tex/suthesis/} % {http://help-csli.stanford.edu/tex/suthesis/}} package from Stanford % University was used. It was originally written by Joseph Pallas in % 1989 and heavily modified by Emma Pease thereafter. Please refer to the {\tt % suthesis-2e.sty} file for the full credits. % % \changes{v1.0}{2005/10/01}{Initial 'dithesis' doc class, based on % suthesis-2e.sty originally written by Joseph Pallas and Emma Pease} % % \subsection{Description} % This class builds upon the standard report style to follow the % guidelines of the Department of Informatics Library. Among other % things it sets the correct margins and interline spacing. % % \subsubsection{Basic Usage} % \DescribeMacro\documentclass % In order to use this document class you must first write the % following in your document: % \begin{quote} % |\documentclass|\oarg{args}|{dithesis}| % \end{quote} % The \meta{args} are optional and are passed on to the |report| % document class, on which this class is based. % % Due to the fact that this class is based on |report| one should use % the commands |\title| and |\author| just as one would when using the % |report| document class. % % \DescribeMacro\studno % The |\studcode| is the code that identifies the author to the % administration of the university. Usually a number, like at the % \UoA. % \begin{quote} % |\studcode|\marg{code} % \end{quote} % % \DescribeMacro\advisor % The |\advisor| is the name of the faculty member who advised the % author during the authoring of the thesis. % \begin{quote} % |\advisor|\marg{name} % \end{quote} % % \DescribeMacro\grkabstract % The |\grkabstract| is the the greek language abstract. % % \begin{quote} % |\grkabstract|\marg{text} % \end{quote} % % \DescribeMacro\engabstract % The |\engabstract| is the the english language abstract. % % \begin{quote} % |\engabstract|\marg{text} % \end{quote} % % \subsubsection{Example usage} % \begin{verbatim} % \documentclass[twoside,12pt]{dithesis} % \usepackage[english,greek]{babel} % % \begin{document} % \title{Titlos} % \author{Gi'orgos Papad'opoulos} % \studcode{123456} % \advisor{Dhm'htrhc Qristodo'ulou} % \grkabstract{Ant'i Prol'ogou} % \engabstract{\textlatin{some kind of abstract}} % \maketitle % % \chapter{Eisagwg'h} % % mpl'a mpl'a mpla m'pla % % \end{document} % \end{verbatim} % % \subsubsection{Optional Front Page Parameters} % The following commands let you configure the various academic titles % and names that will appear on the title page. By default these % parameters are well suited for theses written for the Department of % Informatics at the \UoA: % \DescribeMacro\universityname % The name of the university: % \begin{quote} % |\universityname|\marg{name} % \end{quote} % % \DescribeMacro\universityschool % The |\universityschool| is the name of specific school of the % University that the thesis is being presented to. % \begin{quote} % |\universityschool|\marg{name} % \end{quote} % % \DescribeMacro\universitydept % The |\universitydept| is the name of the specific department of the % university that the thesis is being presented to. % % \begin{quote} % |\universityschool|\marg{name} % \end{quote} % % \DescribeMacro\thesistype % The |\thesistype| is a description of the kind of thesis your are % writing. For example it could be ``Final year project'' or % ``Doctoral dissertation''. % % \begin{quote} % |\thesistype|\marg{type} % \end{quote} % % \DescribeMacro\submitdate % The |\submitdate| is the date that the thesis was submitted to the % library. The default for the date is the month and the year. % % \begin{quote} % |\submitdate|\marg{date} % \end{quote} % % \DescribeMacro\place % The |\place| is the place that will appear along with |\submitdate|. % % \begin{quote} % |\place|\marg{place} % \end{quote} % % \DescribeMacro\greeksubjarea % The |\greeksubjarea| is the greeksubjarea that will appear along with |\submitdate|. % % \begin{quote} % |\greeksubjarea|\marg{greeksubjarea} % \end{quote} % % \DescribeMacro\englishsubjarea % The |\englishsubjarea| is the englishsubjarea that will appear along with |\submitdate|. % % \begin{quote} % |\englishsubjarea|\marg{englishsubjarea} % \end{quote} % % \DescribeMacro\greekkeywords % The |\greekkeywords| is the greekkeywords that will appear along with |\submitdate|. % % \begin{quote} % |\greekkeywords|\marg{greekkeywords} % \end{quote} % % \DescribeMacro\englishkeywords % The |\englishkeywords| is the englishkeywords that will appear along with |\submitdate|. % % \begin{quote} % |\englishkeywords|\marg{englishkeywords} % \end{quote} % % \section{Implementation} % % \StopEventually{} % % This document class can only be used with \LaTeXe, so the following % line makes sure that the user is aware of this: % \begin{macrocode} %\NeedsTeXFormat{LaTeX2e}[1999/12/01] % \end{macrocode} % % Here we announce the document class 'dithesis' and it's version % \begin{macrocode} %\ProvidesClass{dithesis} % [2005/10/01 v0.1 di.uoa.gr thesis class] % \end{macrocode} % % Also we will need the |ifthen| package: % \begin{macrocode} \RequirePackage{ifthen} % \end{macrocode} % % \subsection{Class Options} % The library requires A4 paper: % \begin{macrocode} \PassOptionsToClass{a4paper}{report} % \end{macrocode} % % Any other options are passed on to the report class on which % this document class is based. % \begin{macrocode} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}} % \end{macrocode} % % Next we process the options % \begin{macrocode} \ProcessOptions % \end{macrocode} % % and load the report document class % \begin{macrocode} \LoadClass{report} % \end{macrocode} % % \section{Document Layout} % \subsection{Page Layout} % % \subsubsection{Vertical Spacing} % % \begin{macro}{\footskip} % The distance from the baseline of the box which contains the % running footer to the baseline of last line of text is controlled % by |\footskip|. % \begin{macrocode} \setlength\footskip{12.5mm} % \end{macrocode} % \end{macro} % % \begin{macro}{\parskip} % |\parskip| is the vertical space between paragraphs. % \begin{macrocode} \addtolength{\parskip}{\baselineskip} % \end{macrocode} % \end{macro} % We require the {\tt setspace} package to set the intra-line spacing: % \begin{macrocode} \RequirePackage{setspace} \onehalfspacing % \end{macrocode} % % % \subsubsection{Text Dimensions} % % \begin{macro}{\textwidth} % Text width is set to 156mm. % \begin{macrocode} \setlength\textwidth{165mm} % \end{macrocode} % \end{macro} % \begin{macro}{\textheight} % The |\textheight| is the height of text (including footnotes and % figures, excluding running head and foot). % \begin{macrocode} \setlength\textheight{222mm} % \end{macrocode} % \end{macro} % % \subsubsection{Margins} % % \begin{macro}{\oddsidemargin} % \begin{macro}{\evensidemargin} % Theses may be either single or double sided. Margins are specified % by the library. % \begin{macrocode} \if@twoside \setlength\oddsidemargin {25mm} \setlength\evensidemargin {20mm} \else \setlength\oddsidemargin {2.5cm} \setlength\evensidemargin {2.5cm} \fi % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\marginparwidth} % \begin{macro}{\marginparsep} % Why is this zero? ASK PASXALI % \begin{macrocode} \setlength\marginparwidth {0cm} \setlength\marginparsep{0cm} % \end{macrocode} % \end{macro} % \end{macro} % \begin{macro}{\topmargin} % The |\topmargin| is the distance between the top of `the % printable area' --which is 1 inch below the top of the paper-- % and the top of the box which contains the running head. % \begin{macrocode} \setlength\topmargin {20mm} % \end{macrocode} % \end{macro} % % % I don't know what these do % \begin{macrocode} \setlength\hoffset {-1in} \setlength\voffset {-1in} \setlength\headheight {12.5mm} \setlength\headsep {10mm} % \end{macrocode} % \subsection{Captions} % We use the {\tt caption} package to make the captions pretty % \begin{macrocode} \PassOptionsToPackage{margin=10pt, font={footnotesize}, labelfont=bf, aboveskip=10pt, belowskip=0pt}{caption} \RequirePackage{caption} \captionsetup[table]{aboveskip=10pt,belowskip=10pt} % \end{macrocode} % \subsection{Fancy Headers} % We use the {\tt fancyheaders} package to get pretty headers. % \begin{macrocode} \RequirePackage{fancyhdr} \pagestyle{fancy} % \end{macrocode} % with this we ensure that the chapter and section % headings are in lowercase. % \begin{macrocode} \renewcommand{\chaptermark}[1]{\markboth{#1}{}} \renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}} % \end{macrocode} % delete current setting for header and footer: % \begin{macrocode} \fancyhf{} \fancyhead[CE]{\footnotesize{\@title}} \fancyhead[CO]{\footnotesize{\@title}} \fancyfoot[LO,RE]{\@author} \fancyfoot[LE,RO]{\thepage} \renewcommand{\headrulewidth}{0.5pt} \renewcommand{\footrulewidth}{0.5pt} % \end{macrocode} % get rid of headers on plain pages % \begin{macrocode} \fancypagestyle{plain}{% \fancyhead{} \renewcommand{\headrulewidth}{0pt} % and the line } % \end{macrocode} % % \subsection{Required commands} % Before we define any commands we must include the babel package to % have greek support: % \begin{macrocode} \usepackage[american,greek]{babel} % \end{macrocode} % % \begin{macro}{\studcode} % \begin{macro}{\advisor} % \begin{macro}{\grkabstract} % \begin{macro}{\engabstract} % \begin{macrocode} \newcommand{\studcode}[1]{\gdef\@studcode{#1}} \newcommand{\advisor}[1]{\gdef\@advisor{#1}} \newcommand{\grkabstract}[1]{\gdef\@grkabstract{#1}} \newcommand{\engabstract}[1]{\gdef\@engabstract{#1}} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \subsection{Configuration Commands} % \begin{macro}{\universityname} % \begin{macro}{\universityschool} % \begin{macro}{\universitydept} % \begin{macro}{\thesistype} % \begin{macro}{\submitdate} % \begin{macro}{\place} % \begin{macro}{\greeksubjarea} % \begin{macro}{\englishsubjarea} % \begin{macro}{\greekkeywords} % \begin{macro}{\englishkeywords} % Here we declare commands to permit the user to specify these common academic % attributes: % \begin{macrocode} \newcommand{\universityname}[1]{\gdef\@uni{#1}} \newcommand{\universityschool}[1]{\gdef\@school{#1}} \newcommand{\universitydept}[1]{\gdef\@dept{#1}} \newcommand{\thesistype}[1]{\gdef\@type{#1}} \newcommand{\submitdate}[1]{\gdef\@submitdate{#1}} \newcommand{\place}[1]{\gdef\@place{#1}} \newcommand{\greeksubjarea}[1]{\gdef\@greeksubjarea{#1}} \newcommand{\englishsubjarea}[1]{\gdef\@englishsubjarea{#1}} \newcommand{\greekkeywords}[1]{\gdef\@greekkeywords{#1}} \newcommand{\englishkeywords}[1]{\gdef\@englishkeywords{#1}} % \end{macrocode} % and their default values: % \begin{macrocode} \newcommand{\@uni}{Panepist'hmio Ajhnwn} \newcommand{\@school}{Sqol'h Jetik'wn Episthm'wn} \newcommand{\@dept}{Tm'hma Plhroforik'hc kai Thlepikoinwnei'wn} \newcommand{\@type}{Ptuqiak'h Ergas'ia} \newcommand{\@submitdate}{\ifcase\the\month\or Ianou'arioc\or Febrou'arioc\or M'artioc\or Apr'ilioc\or Ma'ioc\or Io'unioc\or Io'ulioc\or A'ugoustoc\or Sept'embrioc\or Okt'wbrioc\or No'embrioc\or Dek'embrioc\fi \space \number\the\year} \newcommand{\@place}{Aj'hna} \newcommand{\@greeksubjarea}{} \newcommand{\@englishsubjarea}{} \newcommand{\@greekkeywords}{} \newcommand{\@englishkeywords}{} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \subsection{Special Pages} % \begin{macro}{\titlep} % Here is where we implement the title page. % To include a university logo on the titlepage we need the % |graphicx| package: % \begin{macrocode} \RequirePackage{graphicx} % \end{macrocode} % The command |\titlep| is used in |\maketitle| to create % the required title page. % \begin{macrocode} \newcommand{\titlep}{% \thispagestyle{empty} % \end{macrocode} % Next we include the university logo in the upper left corner and the % administrative names next to it (in small caps): % \begin{macrocode} \begin{minipage}[c]{0.2\textwidth} \begin{flushleft} \includegraphics[scale=0.13]{universitylogo} \end{flushleft} \end{minipage} \begin{minipage}[c]{0.85 \textwidth} \begin{flushleft}\textsc{% \@uni\\ \@school\\ \@dept }% \end{flushleft} \end{minipage} % \end{macrocode} % In the center of the page goes the title of the thesis: % \begin{macrocode} \vfill \begin{center} \large{\textsc{\@type}\\ \vfill \expandafter{\@title}} \end{center} \vfill % \end{macrocode} % And last we have the author, the advisor, the place and the date % centered: % \begin{macrocode} \begin{center} \@author\\ A.M. \@studcode \\ \bigskip Epibl'epwn Kajhght'hc: \@advisor\\ \bigskip \textsc{\@place} \\ \@submitdate\\ \end{center} \hbox{}% \newpage }% % \end{macrocode} % \end{macro} % % \begin{macro}{\signaturepage} % Here we implement the page where the supervisor puts his signature. % \begin{macrocode} \newcommand{\signaturepage}{% \thispagestyle{empty}% \begin{center} \textbf{\scshape Ptuqiak'h Ergas'ia}\\ \bigskip \@title\\ \bigskip \textbf{\@author}\\ A.M. \@studcode \\ \bigskip \flushleft{\scshape Epibl'epwn} \center{\@advisor} \end{center} \hbox{}% \newpage }% % \end{macrocode} % \end{macro} % % \begin{macro}{\grkabstractpage} % Here we implement the greek abstract page. % \begin{macrocode} \newcommand{\grkabstractpage}{% \thispagestyle{empty}% \begin{center} \textbf{\scshape Pr'ologoc} \end{center} \@grkabstract\vfill{} \begin{tabular}{ll} \textsc{Jematik'h Perioq'h:} & {\@greeksubjarea}\\ \textsc{L'exeic Kleidi'a:} & {\@greekkeywords} \end{tabular} \hbox{}% \newpage }% % \end{macrocode} % \end{macro} % % \begin{macro}{\engabstractpage} % Here we implement the english abstract page. % \begin{macrocode} \newcommand{\engabstractpage}{% \thispagestyle{empty}% \begin{center} \textsc{\textlatin{Abstract}} \end{center} \@engabstract\vfill{} \begin{tabular}{ll} \textsc{\textlatin{Subject Area:}} & {\@englishsubjarea}\\ \textsc{\textlatin{Keywords:}} & {\@englishkeywords} \end{tabular} \hbox{}% \newpage }% % \end{macrocode} % \end{macro} % \begin{macro}{\maketitle} % Finally we redefine |\maketitle| to put together the titlepages % pages while supressing page numbering and fancy headers. We have % first a title page, then a completely blank page, then another % title page, then greek and english abstract pages and last the % contents. % \begin{macrocode} \renewcommand{\maketitle}{% \titlep \setcounter{page}{1} \thispagestyle{empty}% \hbox{}% \newpage \titlep \signaturepage \grkabstractpage \engabstractpage \tableofcontents \thispagestyle{empty}% \hbox{}% \newpage \thispagestyle{fancy} \pagenumbering{arabic} }% % \end{macrocode} % \end{macro} % \Finale \endinput