master-thesis/thesis/hgbarticle.cls

71 lines
2.1 KiB
OpenEdge ABL
Raw Normal View History

2025-01-04 10:38:27 +01:00
%% hgbarticle.cls
%% LaTeX class for creating lab and term reports as well as other forms of academic documentation.
%% This file is part of the Hagenberg Thesis package for creating bachelors's and masters's theses
%% Author: Wolfgang Hochleitner (wolfgang.hochleitner@fh-hagenberg.at)
%% GitHub: https://github.com/Digital-Media/HagenbergThesis
%% File encoding: ASCII
%% Package Information --------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{hgbarticle}[2023/11/06]%%AUTO
\RequirePackage{xifthen}
\RequirePackage{ifpdf} % for checking PDF mode
\ifpdf{}% \typeout{hgbarticle: *** LaTeX in PDF mode ***}
\else{\errmessage{hgbarticle: *** LaTeX NOT running in PDF mode ***}}
\fi
%% Handling class options --------------------------------------------------------------
\DeclareOption{twocolumn}{\PassOptionsToClass{\CurrentOption}{article}}
\DeclareOption{apa}{\PassOptionsToPackage{\CurrentOption}{hgbbib}}
% pass all other options to hgb.sty
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{hgb}}
\ProcessOptions*
%% Paper options and style file -----------------------------------------------
\LoadClass[a4paper,11pt]{article}
%Adjust margins only in single-column mode
\if@twocolumn%
\else%
\RequirePackage[top=36mm,bottom=40mm,left=32mm,right=32mm]{geometry} %showframe
\fi%
\RequirePackage{hgb} % load style file hgb.sty with options registered above
%% Set title font to SF and inject PDF meta-data
\RequirePackage{titling}
\renewcommand{\maketitlehooka}{%
\sffamily%
\hypersetup{
pdftitle={\@title},
pdfauthor={\@author},
pdfsubject={},
pdfcreator={LaTeX using class hgbreport [\hgbDate]},
pdfproducer={pdflatex},
pdfkeywords={}
}%
}
%% Set abstract name to bold (single column format only)
\if@twocolumn%
\else%
\RequirePackage{abstract}
\renewcommand{\abstractnamefont}{\sffamily\small\bfseries}
\fi%
%% Additional Hagenberg packages ----------------------------------------------
\RequirePackage{hgbmath}
\RequirePackage{hgbalgo}
\RequirePackage{hgbheadings}
\RequirePackage{hgbabbrev}
\RequirePackage{hgblistings}
\RequirePackage{hgbbib}
\endinput