% leelavati.cls — Author class (XeLaTeX, KOMA-Script) % (MODULARIZED VERSION) \NeedsTeXFormat{LaTeX2e} \ProvidesClass{leelavati}[2025/12/08 v1.1 leelavati Author Class (Modular)] % ------------------------------- % Engine guard + base class options % ------------------------------- \RequirePackage{iftex} \ifXeTeX\else \ClassError{leelavati}{This class requires XeLaTeX}{Use xelatex to compile.} \fi % ------------------------------- % Core packages (ONLY those needed for the engine/structure) % ------------------------------- % Pass any user options through to scrbook \DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrbook}} % Defaults (user options still win) - Uses KOMA-Script paper size format \PassOptionsToClass{10pt,twocolumn,oneside,openany,titlepage=false}{scrbook} \ProcessOptions\relax % Load KOMA base class and activate KOMA-native layout \LoadClass{scrbook} \usepackage[paperwidth=18cm, paperheight=24cm, left=1.25cm, right=1.25cm, top=1.7cm, bottom=1.9cm, footskip=30pt]{geometry} % ------------------------------- % Load External Definitions (The best practice!) % ------------------------------- \RequirePackage{../leelavati_defs} % ------------------------------- % Hyperref last (essential) % ------------------------------- \RequirePackage[hidelinks]{hyperref} \makeatletter \renewcommand{\maketitle}{% \stepcounter{chapter} % Keep your article numbering consistent \twocolumn[ \vspace*{0.0em} % 1. Typeset the Title using the internal \@title {\centering \par \setkomafont{title}{\anekfont\color{magHighlight}\Large\sbseries\selectfont} \usekomafont{title}\@title\par \vspace{0.2cm} } % 2. Typeset the Author using the internal \@author {\centering \normalsize \@author\par \vspace{0.2in} } ]% \phantomsection } \makeatother \endinput