|
@@ -9,27 +9,81 @@ |
|
|
\ProvidesClass{AUThReport}[2024-12-07 AUTh Report document class] |
|
|
\ProvidesClass{AUThReport}[2024-12-07 AUTh Report document class] |
|
|
|
|
|
|
|
|
% Pre-option packages |
|
|
% Pre-option packages |
|
|
|
|
|
\RequirePackage{iftex} |
|
|
|
|
|
\RequirePackage{xkeyval} |
|
|
|
|
|
|
|
|
% Options |
|
|
% Options |
|
|
% =============================================== |
|
|
% =============================================== |
|
|
|
|
|
|
|
|
% Declare option for short report version |
|
|
|
|
|
|
|
|
% Default options |
|
|
|
|
|
\newcommand{\auth@mainlanguage}{english} % Default main language |
|
|
|
|
|
\newcommand{\auth@languages}{none} % Default list of additional languages |
|
|
|
|
|
\def\auth@short{no} % Default value for the "short" option |
|
|
|
|
|
|
|
|
|
|
|
\newcommand{\none}{none} % For comparison checks |
|
|
|
|
|
|
|
|
|
|
|
% Language append tool for option process |
|
|
|
|
|
\newcommand{\authSetupLanguageOption}[1]{% |
|
|
|
|
|
\ifx\auth@languages\none |
|
|
|
|
|
\gdef\auth@languages{#1}% |
|
|
|
|
|
\else |
|
|
|
|
|
\edef\auth@languages{\auth@languages, #1}% |
|
|
|
|
|
\fi |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
% |
|
|
|
|
|
% Set the default language of the document which affects: |
|
|
|
|
|
% - hyphenations |
|
|
|
|
|
% - Localization (section, dates, etc...) |
|
|
|
|
|
% |
|
|
|
|
|
% Usage: mainlang=<language> |
|
|
|
|
|
% Default: english |
|
|
|
|
|
% |
|
|
|
|
|
% example: \documentclass[mainlang=greek]{AUThReport} |
|
|
|
|
|
% |
|
|
|
|
|
\DeclareOptionX{mainlang}{ |
|
|
|
|
|
\def\auth@mainlanguage{#1} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
\ProcessOptionsX\relax |
|
|
|
|
|
|
|
|
|
|
|
% |
|
|
|
|
|
% Add hyphenation and typesetting support for other languages |
|
|
|
|
|
% Currently supports: english, greek, german, french |
|
|
|
|
|
% |
|
|
|
|
|
% Usage: <language> |
|
|
|
|
|
% |
|
|
|
|
|
% example: \documentclass[english, greek]{AUThReport} |
|
|
|
|
|
% |
|
|
|
|
|
\DeclareOption{english}{\authSetupLanguageOption{english}} |
|
|
|
|
|
\DeclareOption{greek}{\authSetupLanguageOption{greek}} |
|
|
|
|
|
\DeclareOption{french}{\authSetupLanguageOption{french}} |
|
|
|
|
|
\DeclareOption{german}{\authSetupLanguageOption{german}} |
|
|
|
|
|
|
|
|
|
|
|
% |
|
|
|
|
|
% Requests a shorter title for the document |
|
|
|
|
|
% |
|
|
|
|
|
% Usage: short |
|
|
|
|
|
% Default: no short |
|
|
|
|
|
% |
|
|
|
|
|
% example: \documentclass[short]{AUThReport} |
|
|
|
|
|
% |
|
|
\DeclareOption{short}{\def\auth@short{yes}} |
|
|
\DeclareOption{short}{\def\auth@short{yes}} |
|
|
|
|
|
|
|
|
\def\auth@short{no} |
|
|
|
|
|
|
|
|
|
|
|
% Pass all other options to article |
|
|
% Pass all other options to article |
|
|
\DeclareOption*{% |
|
|
\DeclareOption*{% |
|
|
\PassOptionsToClass{\CurrentOption}{article} |
|
|
|
|
|
|
|
|
\PassOptionsToClass{\CurrentOption}{article}% |
|
|
} |
|
|
} |
|
|
\ProcessOptions\relax |
|
|
\ProcessOptions\relax |
|
|
|
|
|
|
|
|
\LoadClass{article} |
|
|
\LoadClass{article} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
% Requirements |
|
|
% Requirements |
|
|
% =============================================== |
|
|
% =============================================== |
|
|
\RequirePackage{iftex} |
|
|
|
|
|
|
|
|
|
|
|
% Font packages |
|
|
% Font packages |
|
|
\ifPDFTeX |
|
|
\ifPDFTeX |
|
@@ -45,20 +99,20 @@ |
|
|
% Postponed to Pre-Begin hook |
|
|
% Postponed to Pre-Begin hook |
|
|
% \usepackage{babel} |
|
|
% \usepackage{babel} |
|
|
\else |
|
|
\else |
|
|
\typeout{[DEBUG] Polyglossia Included} |
|
|
|
|
|
\RequirePackage{polyglossia}% |
|
|
\RequirePackage{polyglossia}% |
|
|
\fi |
|
|
\fi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\RequirePackage{xargs} % Commands |
|
|
\RequirePackage{xargs} % Commands |
|
|
|
|
|
|
|
|
\RequirePackage{geometry} % Layout |
|
|
\RequirePackage{geometry} % Layout |
|
|
\RequirePackage{fancyhdr} |
|
|
\RequirePackage{fancyhdr} |
|
|
|
|
|
|
|
|
\RequirePackage{graphicx} % Figures |
|
|
\RequirePackage{graphicx} % Figures |
|
|
|
|
|
\RequirePackage{tikz} |
|
|
|
|
|
|
|
|
% Format packages |
|
|
% Format packages |
|
|
\RequirePackage[hang, small,labelfont=bf,up,textfont=it,up]{caption} % Custom captions under/above floats in tables or figures |
|
|
\RequirePackage[hang, small,labelfont=bf,up,textfont=it,up]{caption} % Custom captions under/above floats in tables or figures |
|
|
|
|
|
%\RequirePackage{caption} |
|
|
\RequirePackage[nobottomtitles]{titlesec} |
|
|
\RequirePackage[nobottomtitles]{titlesec} |
|
|
\RequirePackage{titling} |
|
|
\RequirePackage{titling} |
|
|
\RequirePackage[bottom]{footmisc} % Place footnotes always as much to the bottom as possible. |
|
|
\RequirePackage[bottom]{footmisc} % Place footnotes always as much to the bottom as possible. |
|
@@ -75,8 +129,9 @@ |
|
|
\newcommand{\isequal}[2]{ \pdf@strcmp{#1}{#2} } |
|
|
\newcommand{\isequal}[2]{ \pdf@strcmp{#1}{#2} } |
|
|
|
|
|
|
|
|
% syntactic suggar for horizaontal rule |
|
|
% syntactic suggar for horizaontal rule |
|
|
\newcommand{\Hrule}{ \rule{\linewidth}{0.1mm} } |
|
|
|
|
|
|
|
|
\newcommand{\Hrule}[1]{ \rule{\linewidth}{#1} } |
|
|
|
|
|
|
|
|
|
|
|
% Dispatch between the right author(s) caption text for document title |
|
|
\newcommand{\authAuthorTitleText}{% |
|
|
\newcommand{\authAuthorTitleText}{% |
|
|
\ifnum \isequal{\auth@mainlanguage}{greek}=0 |
|
|
\ifnum \isequal{\auth@mainlanguage}{greek}=0 |
|
|
\ifdefined \auth@coauthorName Συντάκτες\else Συντάκτης\fi |
|
|
\ifdefined \auth@coauthorName Συντάκτες\else Συντάκτης\fi |
|
@@ -85,7 +140,7 @@ |
|
|
\fi |
|
|
\fi |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
% Dispatch between the right instructor(s) caption text for document title |
|
|
\newcommand{\authInstructorTitleText}{% |
|
|
\newcommand{\authInstructorTitleText}{% |
|
|
\ifnum \isequal{\auth@mainlanguage}{greek}=0 |
|
|
\ifnum \isequal{\auth@mainlanguage}{greek}=0 |
|
|
\ifdefined \auth@coinstructorName Διδάσκοντες\else Διδάσκων\fi |
|
|
\ifdefined \auth@coinstructorName Διδάσκοντες\else Διδάσκων\fi |
|
@@ -94,6 +149,7 @@ |
|
|
\fi |
|
|
\fi |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
% Handle the language command for email href for document title |
|
|
\newcommand{\authMailText}[1]{% |
|
|
\newcommand{\authMailText}[1]{% |
|
|
\ifnum \isequal{\auth@mainlanguage}{greek}=0 |
|
|
\ifnum \isequal{\auth@mainlanguage}{greek}=0 |
|
|
\href{mailto:#1}{\eng{#1}} |
|
|
\href{mailto:#1}{\eng{#1}} |
|
@@ -102,39 +158,33 @@ |
|
|
\fi |
|
|
\fi |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
% Pre-Begin hook |
|
|
|
|
|
% ===================================================== |
|
|
|
|
|
\newcommand{\authPreBeginHook}{} |
|
|
|
|
|
\newcommand{\authAddToPreBeginHook}[1]{% |
|
|
|
|
|
\expandafter\gdef\expandafter\authPreBeginHook\expandafter{\authPreBeginHook#1}% |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
% Language |
|
|
% Language |
|
|
% =============================================== |
|
|
% =============================================== |
|
|
% Init language variables |
|
|
|
|
|
\newcommand{\auth@languages}{english} % Pre-selected language |
|
|
|
|
|
\newcommand{\auth@mainlanguage}{english} % Pre-selected main language |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
% |
|
|
|
|
|
% Language setup functionality to use at the end of class. |
|
|
|
|
|
% |
|
|
|
|
|
% It uses either babel to register the languages(pdflatex) or |
|
|
|
|
|
% polyglossia (already included) to setup default and other languages |
|
|
|
|
|
% |
|
|
\newcommand{\authSetupLanguageEnv}{% |
|
|
\newcommand{\authSetupLanguageEnv}{% |
|
|
\ifPDFTeX |
|
|
\ifPDFTeX |
|
|
\usepackage[\auth@languages, \auth@mainlanguage]{babel} |
|
|
|
|
|
|
|
|
\ifnum \isequal{\auth@languages}{none}=0 |
|
|
|
|
|
\usepackage[\auth@mainlanguage]{babel} |
|
|
|
|
|
\else |
|
|
|
|
|
\usepackage[\auth@languages, main=\auth@mainlanguage]{babel} |
|
|
|
|
|
\fi |
|
|
\else |
|
|
\else |
|
|
% Set main language |
|
|
% Set main language |
|
|
\setdefaultlanguage{\auth@mainlanguage}% |
|
|
\setdefaultlanguage{\auth@mainlanguage}% |
|
|
\typeout{[DEBUG] setdefaultlanguage \auth@mainlanguage} |
|
|
|
|
|
% Set other languages |
|
|
% Set other languages |
|
|
\@for\auth@lang:=\auth@languages\do{% |
|
|
\@for\auth@lang:=\auth@languages\do{% |
|
|
\setotherlanguage{\auth@lang} |
|
|
\setotherlanguage{\auth@lang} |
|
|
\typeout{[DEBUG] setotherlanguage \auth@lang} |
|
|
|
|
|
}% |
|
|
}% |
|
|
\fi |
|
|
\fi |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
% Hook the babel setup |
|
|
|
|
|
\authAddToPreBeginHook{% |
|
|
|
|
|
\authSetupLanguageEnv |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
% Theme |
|
|
% Theme |
|
|
% =============================================== |
|
|
% =============================================== |
|
|
|
|
|
|
|
@@ -174,34 +224,36 @@ |
|
|
% Fonts |
|
|
% Fonts |
|
|
% ===================================================== |
|
|
% ===================================================== |
|
|
|
|
|
|
|
|
|
|
|
% |
|
|
|
|
|
% Setup fonts (computer modern) |
|
|
% |
|
|
% |
|
|
\newcommand{\authSetupFontEnv}{% |
|
|
\newcommand{\authSetupFontEnv}{% |
|
|
\ifPDFTeX |
|
|
\ifPDFTeX |
|
|
% PDFLaTeX fonts |
|
|
% PDFLaTeX fonts |
|
|
\else |
|
|
\else |
|
|
% \setmainfont{CMU-Serif-Roman.ttf}[% |
|
|
|
|
|
% Path=./cmu/, |
|
|
|
|
|
% ItalicFont = CMU-Serif-Italic.ttf, |
|
|
|
|
|
% BoldFont = CMU-Serif-Bold.ttf, |
|
|
|
|
|
% BoldItalicFont= CMU-Serif-BoldItalic.ttf |
|
|
|
|
|
|
|
|
% \setmainfont{CMU-Serif-Roman}[% |
|
|
|
|
|
%% Path=~/texmf/tex/latex/local/AUThReport/cmu/, |
|
|
|
|
|
% ItalicFont = CMU-Serif-Italic, |
|
|
|
|
|
% BoldFont = CMU-Serif-Bold, |
|
|
|
|
|
% BoldItalicFont= CMU-Serif-BoldItalic |
|
|
% ] |
|
|
% ] |
|
|
% \setsansfont{CMU-Sans-Medium.ttf}[% |
|
|
|
|
|
% Path=./cmu/, |
|
|
|
|
|
% ItalicFont = CMU-Sans-Oblique.ttf, |
|
|
|
|
|
% BoldFont = CMU-Sans-Bold.ttf, |
|
|
|
|
|
% BoldItalicFont= CMU-Sans-BoldOblique.ttf |
|
|
|
|
|
|
|
|
% \setsansfont{CMU-Sans-Medium}[% |
|
|
|
|
|
%% Path=~/texmf/tex/latex/local/AUThReport/cmu/, |
|
|
|
|
|
% ItalicFont = CMU-Sans-Oblique, |
|
|
|
|
|
% BoldFont = CMU-Sans-Bold, |
|
|
|
|
|
% BoldItalicFont= CMU-Sans-BoldOblique |
|
|
% ] |
|
|
% ] |
|
|
% %\setsansfont{CMU-Concrete-Roman.ttf}[% |
|
|
|
|
|
% % Path=cmu/, |
|
|
|
|
|
% % ItalicFont = CMU-Concrete-Italic.ttf, |
|
|
|
|
|
% % BoldFont = CMU-Concrete-Bold.ttf, |
|
|
|
|
|
% % BoldItalicFont= CMU-Concrete-BoldItalic.ttf |
|
|
|
|
|
|
|
|
% %\setsansfont{CMU-Concrete-Roman}[% |
|
|
|
|
|
% % Path=~/texmf/tex/latex/local/AUThReport/cmu/, |
|
|
|
|
|
% % ItalicFont = CMU-Concrete-Italic, |
|
|
|
|
|
% % BoldFont = CMU-Concrete-Bold, |
|
|
|
|
|
% % BoldItalicFont= CMU-Concrete-BoldItalic |
|
|
% %] |
|
|
% %] |
|
|
% \setmonofont{CMU-Typewriter-Regular.ttf}[% |
|
|
|
|
|
% Path=./cmu/, |
|
|
|
|
|
% ItalicFont = CMU-Typewriter-Oblique.ttf, |
|
|
|
|
|
% BoldFont = CMU-Typewriter-Bold.ttf, |
|
|
|
|
|
% BoldItalicFont= CMU-Typewriter-Oblique.ttf |
|
|
|
|
|
|
|
|
% \setmonofont{CMU-Typewriter-Regular}[% |
|
|
|
|
|
%% Path=~/texmf/tex/latex/local/AUThReport/cmu/, |
|
|
|
|
|
% ItalicFont = CMU-Typewriter-Oblique, |
|
|
|
|
|
% BoldFont = CMU-Typewriter-Bold, |
|
|
|
|
|
% BoldItalicFont= CMU-Typewriter-Oblique |
|
|
% ] |
|
|
% ] |
|
|
% \typeout{[DEBUG] set fonts} |
|
|
% \typeout{[DEBUG] set fonts} |
|
|
\setmainfont{CMU Serif} |
|
|
\setmainfont{CMU Serif} |
|
@@ -216,12 +268,18 @@ |
|
|
% Header and Footer |
|
|
% Header and Footer |
|
|
% ===================================================== |
|
|
% ===================================================== |
|
|
|
|
|
|
|
|
|
|
|
% |
|
|
|
|
|
% Clear footer command |
|
|
|
|
|
% |
|
|
\newcommand*{\authSetFooterEmpty}{% |
|
|
\newcommand*{\authSetFooterEmpty}{% |
|
|
% Clear styles |
|
|
% Clear styles |
|
|
\fancyfoot{} |
|
|
\fancyfoot{} |
|
|
\renewcommand{\footrulewidth}{0pt} |
|
|
\renewcommand{\footrulewidth}{0pt} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
% |
|
|
|
|
|
% Setup footer according to theme |
|
|
|
|
|
% |
|
|
\newcommand*{\authSetFooter}{% |
|
|
\newcommand*{\authSetFooter}{% |
|
|
% Clear styles |
|
|
% Clear styles |
|
|
\fancyfoot{} |
|
|
\fancyfoot{} |
|
@@ -230,12 +288,18 @@ |
|
|
\pagenumbering{arabic} |
|
|
\pagenumbering{arabic} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
% |
|
|
|
|
|
% Clear header command |
|
|
|
|
|
% |
|
|
\newcommand{\authSetHeaderEmpty}{ |
|
|
\newcommand{\authSetHeaderEmpty}{ |
|
|
% Clear styles |
|
|
% Clear styles |
|
|
\fancyhead{} |
|
|
\fancyhead{} |
|
|
\renewcommand{\headrulewidth}{0pt} |
|
|
\renewcommand{\headrulewidth}{0pt} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
% |
|
|
|
|
|
% Setup header according to theme |
|
|
|
|
|
% |
|
|
\newcommand{\authSetHeader}{ |
|
|
\newcommand{\authSetHeader}{ |
|
|
% Clear styles |
|
|
% Clear styles |
|
|
\fancyhead{} |
|
|
\fancyhead{} |
|
@@ -248,12 +312,14 @@ |
|
|
% |
|
|
% |
|
|
% Page styles |
|
|
% Page styles |
|
|
% |
|
|
% |
|
|
|
|
|
|
|
|
|
|
|
% Plain: the main style of the document (including TOC if any) |
|
|
\fancypagestyle{plain}{% |
|
|
\fancypagestyle{plain}{% |
|
|
% Style for the main document (including TOC) |
|
|
|
|
|
\authSetFooter |
|
|
\authSetFooter |
|
|
\authSetHeader |
|
|
\authSetHeader |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
% authTitlePageStyle: The style for the title page |
|
|
\fancypagestyle{authTitlePageStyle}{% |
|
|
\fancypagestyle{authTitlePageStyle}{% |
|
|
% Style for Title page |
|
|
% Style for Title page |
|
|
\authSetHeaderEmpty |
|
|
\authSetHeaderEmpty |
|
@@ -265,7 +331,7 @@ |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
% Common Page style |
|
|
|
|
|
|
|
|
% Page content look and feel style |
|
|
\newcommand{\authPageStyle}{% |
|
|
\newcommand{\authPageStyle}{% |
|
|
|
|
|
|
|
|
\renewcommand{\bottomtitlespace}{0.12\textheight} |
|
|
\renewcommand{\bottomtitlespace}{0.12\textheight} |
|
@@ -284,23 +350,32 @@ |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
% Setup theme |
|
|
% Setup theme |
|
|
% ===================================================== |
|
|
% ===================================================== |
|
|
|
|
|
|
|
|
\hypersetup{ |
|
|
|
|
|
colorlinks=true, |
|
|
|
|
|
linkcolor=red, % Internal links, those generated by cross-referenced elements |
|
|
|
|
|
filecolor=blue, % Links to local files |
|
|
|
|
|
urlcolor=blue % Links to web sites |
|
|
|
|
|
|
|
|
\AtEndOfClass{% |
|
|
|
|
|
\hypersetup{ |
|
|
|
|
|
colorlinks=true, |
|
|
|
|
|
linkcolor=red, % Internal links, those generated by cross-referenced elements |
|
|
|
|
|
filecolor=blue, % Links to local files |
|
|
|
|
|
urlcolor=blue % Links to web sites |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
% Language and fonts |
|
|
|
|
|
\ifPDFTeX |
|
|
|
|
|
\authSetupLanguageEnv % Before fonts |
|
|
|
|
|
\authSetupFontEnv |
|
|
|
|
|
\else |
|
|
|
|
|
\authSetupFontEnv |
|
|
|
|
|
\authSetupLanguageEnv % After fonts |
|
|
|
|
|
\fi |
|
|
|
|
|
|
|
|
|
|
|
\typeout{[AUThReport] Main language: \auth@mainlanguage} |
|
|
|
|
|
\typeout{[AUThReport] Other languages: \auth@languages} |
|
|
|
|
|
\typeout{[AUThReport] Short title: \auth@short} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
\AtBeginDocument{% |
|
|
\AtBeginDocument{% |
|
|
% Fonts |
|
|
|
|
|
\authSetupFontEnv |
|
|
|
|
|
% Language |
|
|
|
|
|
\authSetupLanguageEnv % After fonts |
|
|
|
|
|
|
|
|
|
|
|
% Page layout (check above for the geometry setup) |
|
|
% Page layout (check above for the geometry setup) |
|
|
\authSetPageLayout |
|
|
\authSetPageLayout |
|
|
|
|
|
|
|
@@ -308,6 +383,9 @@ |
|
|
\lefthyphenmin=2 % minimum characters before |
|
|
\lefthyphenmin=2 % minimum characters before |
|
|
\righthyphenmin=2 % minimum characters after |
|
|
\righthyphenmin=2 % minimum characters after |
|
|
|
|
|
|
|
|
|
|
|
% ToDo: |
|
|
|
|
|
% Something wrong is going on with fancy header for LaTeX |
|
|
|
|
|
% In greek (main) the text are in the wrong language configurations |
|
|
% Header - Footer |
|
|
% Header - Footer |
|
|
\pagestyle{plain} |
|
|
\pagestyle{plain} |
|
|
\thispagestyle{authTitlePageStyle} |
|
|
\thispagestyle{authTitlePageStyle} |
|
@@ -348,15 +426,8 @@ |
|
|
\newcommand*{\CurrentDate}[1]{\def\auth@date{#1}} |
|
|
\newcommand*{\CurrentDate}[1]{\def\auth@date{#1}} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
% Language |
|
|
|
|
|
|
|
|
% Language manipulation commands |
|
|
% ===================================================== |
|
|
% ===================================================== |
|
|
\newcommand{\authSetMainLanguage}[1]{% |
|
|
|
|
|
\renewcommand{\auth@mainlanguage}{#1} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
\newcommand{\authSetLanguages}[1]{% |
|
|
|
|
|
\renewcommand{\auth@languages}{#1} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
% \eng{} |
|
|
% \eng{} |
|
|
% syntactic suggar for english text inside greek |
|
|
% syntactic suggar for english text inside greek |
|
@@ -383,19 +454,22 @@ |
|
|
% \setEnglish |
|
|
% \setEnglish |
|
|
% Selects english for the rest of the text |
|
|
% Selects english for the rest of the text |
|
|
\newcommand{\setEnglish}{% |
|
|
\newcommand{\setEnglish}{% |
|
|
\ifPDFTeX \selectlanguage{english} \typeout{[DEBUG] set Eng} \else \typeout{[DEBUG] No set Eng}\fi |
|
|
|
|
|
|
|
|
\ifPDFTeX \selectlanguage{english} \fi |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
% \setGreek |
|
|
% \setGreek |
|
|
% Selects greek for the rest of the text |
|
|
% Selects greek for the rest of the text |
|
|
\newcommand{\setGreek}{% |
|
|
\newcommand{\setGreek}{% |
|
|
\ifPDFTeX \selectlanguage{greek} \typeout{[DEBUG] set Gre}\else \typeout{[DEBUG] NO set Gre} \fi |
|
|
|
|
|
|
|
|
\ifPDFTeX \selectlanguage{greek} \fi |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
% Content commands |
|
|
% Content commands |
|
|
% ===================================================== |
|
|
% ===================================================== |
|
|
|
|
|
|
|
|
|
|
|
% |
|
|
|
|
|
% |
|
|
|
|
|
% |
|
|
\newcommand{\authInsertAuthsInstructors}{% |
|
|
\newcommand{\authInsertAuthsInstructors}{% |
|
|
\center |
|
|
\center |
|
|
\noindent |
|
|
\noindent |
|
@@ -432,29 +506,40 @@ |
|
|
\end{minipage} |
|
|
\end{minipage} |
|
|
\hspace*{0.05\textwidth} |
|
|
\hspace*{0.05\textwidth} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
% \FirstPage |
|
|
% \FirstPage |
|
|
\newcommand{\authTitlePage}{% |
|
|
|
|
|
|
|
|
\newcommand{\authTitlePage}[3]{% |
|
|
\begin{titlepage} |
|
|
\begin{titlepage} |
|
|
% Logo |
|
|
% Logo |
|
|
\begin{figure} |
|
|
\begin{figure} |
|
|
\begin{flushleft} |
|
|
\begin{flushleft} |
|
|
|
|
|
\vspace{-1cm} |
|
|
\includegraphics[width=5cm]{img/auth_logogr.png} |
|
|
\includegraphics[width=5cm]{img/auth_logogr.png} |
|
|
\end{flushleft} |
|
|
\end{flushleft} |
|
|
\end{figure} |
|
|
\end{figure} |
|
|
|
|
|
\ifnum \isequal{#1}{none}=0 \else |
|
|
|
|
|
\begin{tikzpicture}[remember picture, overlay] |
|
|
|
|
|
\node[anchor=center, opacity=0.25] at ([yshift=#3] current page.center) { |
|
|
|
|
|
\includegraphics[width=#2]{#1} |
|
|
|
|
|
}; |
|
|
|
|
|
\end{tikzpicture} |
|
|
|
|
|
\fi |
|
|
% Titles |
|
|
% Titles |
|
|
\center % Center everything on the page |
|
|
|
|
|
\textbf{} \\[3.5cm] % vertical space |
|
|
|
|
|
|
|
|
\center |
|
|
|
|
|
\textbf{} \\[1cm] % vertical space |
|
|
\textsc{\Large \auth@department} \\[0.5cm] % Department |
|
|
\textsc{\Large \auth@department} \\[0.5cm] % Department |
|
|
\textsc{\Large \auth@className} \\[1.5cm] % Class/Course name |
|
|
|
|
|
\Hrule \\[0.4cm] % ------- |
|
|
|
|
|
{\huge \bfseries \auth@docTitle} \\[0.4cm] % Document/Assignement Title |
|
|
|
|
|
{\LARGE \bfseries \auth@docSubTitle} \\[0.1cm] % Document/Assignement Sub-Title |
|
|
|
|
|
\Hrule \\[3.5cm] % ------- |
|
|
|
|
|
% Authors-Instructors |
|
|
|
|
|
\authInsertAuthsInstructors |
|
|
|
|
|
|
|
|
\textsc{\Large \auth@className} \\[4.0cm] % Class/Course name |
|
|
|
|
|
\begin{flushleft} |
|
|
|
|
|
{\huge \bfseries \auth@docTitle} \\[0.4cm] % Document/Assignement Title |
|
|
|
|
|
{\LARGE \bfseries \auth@docSubTitle} \\[0.1cm] % Document/Assignement Sub-Title |
|
|
|
|
|
\Hrule{0.2mm} \\ % ------- |
|
|
|
|
|
\end{flushleft} |
|
|
|
|
|
|
|
|
\vfill |
|
|
\vfill |
|
|
|
|
|
% Authors-Instructors |
|
|
|
|
|
\authInsertAuthsInstructors \\ |
|
|
|
|
|
\vspace{1.5cm} |
|
|
{\large \auth@date} \\ % date |
|
|
{\large \auth@date} \\ % date |
|
|
|
|
|
|
|
|
\end{titlepage} |
|
|
\end{titlepage} |
|
|
\newpage |
|
|
\newpage |
|
|
} |
|
|
} |
|
@@ -465,13 +550,13 @@ |
|
|
% Logo |
|
|
% Logo |
|
|
\noindent |
|
|
\noindent |
|
|
\begin{figure} |
|
|
\begin{figure} |
|
|
\vspace{-0.8cm} |
|
|
|
|
|
|
|
|
\vspace{-1.5cm} |
|
|
\center |
|
|
\center |
|
|
\includegraphics[width=5cm]{img/auth_logogr.png} |
|
|
\includegraphics[width=5cm]{img/auth_logogr.png} |
|
|
\end{figure} |
|
|
\end{figure} |
|
|
% Titles |
|
|
% Titles |
|
|
\textsc{\Large \auth@department} \\[0.4cm] % Department |
|
|
\textsc{\Large \auth@department} \\[0.4cm] % Department |
|
|
\textsc{\Large \auth@className} \\[0.1cm] % Class/Course name |
|
|
|
|
|
|
|
|
\textsc{\Large \auth@className} \\[0.8cm] % Class/Course name |
|
|
{\Large \bfseries \auth@docTitle} \\[0.2cm] % Document/Assignement Title |
|
|
{\Large \bfseries \auth@docTitle} \\[0.2cm] % Document/Assignement Title |
|
|
{\large \bfseries \auth@docSubTitle} \\[0.2cm] % Document/Assignement Sub-Title |
|
|
{\large \bfseries \auth@docSubTitle} \\[0.2cm] % Document/Assignement Sub-Title |
|
|
{\large \auth@date} \\[0.4cm] % date |
|
|
{\large \auth@date} \\[0.4cm] % date |
|
@@ -480,24 +565,49 @@ |
|
|
\end{center} |
|
|
\end{center} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
\newcommand{\InsertTitle}{% |
|
|
|
|
|
|
|
|
% |
|
|
|
|
|
% Inserts titles, author(s), instructor(s) as a first page or header |
|
|
|
|
|
% |
|
|
|
|
|
% [1]: Optional background image |
|
|
|
|
|
% [2]: Optional width of the image (if argument 1 is used) |
|
|
|
|
|
% [3]: Optional y shift for image positioning (if argument 1 is used) |
|
|
|
|
|
% |
|
|
|
|
|
% examples: |
|
|
|
|
|
% - \InsertFigure |
|
|
|
|
|
% - \InsertFigure[myBackgroung] |
|
|
|
|
|
% - \InsertFigure[myBackgroung][0.9\textwidth][2cm] |
|
|
|
|
|
% |
|
|
|
|
|
\newcommandx{\InsertTitle}[3][1=none, 2=\textwidth, 3=0mm]{% |
|
|
\ifnum \isequal{\auth@short}{no}=0 |
|
|
\ifnum \isequal{\auth@short}{no}=0 |
|
|
\authTitlePage |
|
|
|
|
|
|
|
|
\authTitlePage{#1}{#2}{#3} |
|
|
\else |
|
|
\else |
|
|
\authTitleHeader |
|
|
\authTitleHeader |
|
|
\fi |
|
|
\fi |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
% |
|
|
% \InsertFigure{}{}{}{}{} |
|
|
% \InsertFigure{}{}{}{}{} |
|
|
|
|
|
% |
|
|
% [1]: Position specifier |
|
|
% [1]: Position specifier |
|
|
% [2]: scale |
|
|
% [2]: scale |
|
|
% [3]: Label |
|
|
% [3]: Label |
|
|
% [4]: Figure file |
|
|
% [4]: Figure file |
|
|
% [5]: Caption text |
|
|
% [5]: Caption text |
|
|
% example: \InsertFigure{!h}{0.8}{fig:lala}{lala.png}{\eng{Makes lala}} |
|
|
% example: \InsertFigure{!h}{0.8}{fig:lala}{lala.png}{\eng{Makes lala}} |
|
|
|
|
|
% |
|
|
|
|
|
% ToDo: |
|
|
|
|
|
% Something iswrong with InserFigures in general. In LaTeX the combination |
|
|
|
|
|
% titlepage and begin{figure} creates problems. |
|
|
|
|
|
% |
|
|
\newcommand{\InsertFigure}[5]{ |
|
|
\newcommand{\InsertFigure}[5]{ |
|
|
\begin{figure}[#1] |
|
|
\begin{figure}[#1] |
|
|
\captionsetup{format=plain} |
|
|
|
|
|
|
|
|
\captionsetup{ |
|
|
|
|
|
format=plain, % Plain format |
|
|
|
|
|
labelfont={bf,up}, % Bold and upright for label |
|
|
|
|
|
textfont={it,up}, % Italic and upright for text |
|
|
|
|
|
justification=centering, |
|
|
|
|
|
singlelinecheck=false |
|
|
|
|
|
} |
|
|
\centering |
|
|
\centering |
|
|
\includegraphics[width=#2\textwidth]{#4} |
|
|
\includegraphics[width=#2\textwidth]{#4} |
|
|
\caption{#5} |
|
|
\caption{#5} |
|
@@ -505,7 +615,9 @@ |
|
|
\end{figure} |
|
|
\end{figure} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
% |
|
|
% \WrapFigure{}{}{}{} |
|
|
% \WrapFigure{}{}{}{} |
|
|
|
|
|
% |
|
|
% [1]: scale |
|
|
% [1]: scale |
|
|
% [2]: place left or right r,l,R,L |
|
|
% [2]: place left or right r,l,R,L |
|
|
% [3]: Label |
|
|
% [3]: Label |
|
@@ -516,7 +628,13 @@ |
|
|
\begin{wrapfigure}{#2}{#1\textwidth} |
|
|
\begin{wrapfigure}{#2}{#1\textwidth} |
|
|
\vspace{-20pt} |
|
|
\vspace{-20pt} |
|
|
\begin{center} |
|
|
\begin{center} |
|
|
\captionsetup{format=plain} |
|
|
|
|
|
|
|
|
\captionsetup{ |
|
|
|
|
|
format=plain, % Plain format |
|
|
|
|
|
labelfont={bf,up}, % Bold and upright for label |
|
|
|
|
|
textfont={it,up}, % Italic and upright for text |
|
|
|
|
|
justification=centering, |
|
|
|
|
|
singlelinecheck=false |
|
|
|
|
|
} |
|
|
\includegraphics[width=#1\textwidth]{#4} |
|
|
\includegraphics[width=#1\textwidth]{#4} |
|
|
\caption{#5} |
|
|
\caption{#5} |
|
|
\label{#3} |
|
|
\label{#3} |
|
|