- Add custom header/footer.

- Add option to generate files optimized for either print or electronic reading.
This commit is contained in:
Silcantar
2025-08-17 22:29:41 -05:00
parent 9610ecec59
commit c914902f59
10 changed files with 165 additions and 91 deletions

View File

@@ -1,8 +1,17 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{PrimeTeX/Manual}[2025-07-09]
\ProvidesClass{PrimeTeX/Manual}[2025-08-16]
\RequirePackage{ifthen}
% Option 'electronic': single side printing.
\newboolean{isElectronic}
\setboolean{isElectronic}{false}
\DeclareOption{electronic}{
\setboolean{isElectronic}{true}
}
% Option 'admin': turn on admin manual sections.
\newboolean{isAdminManual}
\setboolean{isAdminManual}{false}
@@ -10,6 +19,7 @@
\setboolean{isAdminManual}{true}
}
% Option 'darkmode': render as light text on dark background.
\newboolean{isDarkMode}
\setboolean{isDarkMode}{false}
@@ -17,7 +27,12 @@
\setboolean{isDarkMode}{true}
}
\DeclareOption{showoverfull}{
% Option 'draft': same as base book class, but with bigger overfull boxes.
\newboolean{isDraft}
\setboolean{isDraft}{false}
\DeclareOption{draft}{
\setboolean{isDraft}{true}
\overfullrule = 1in
}
@@ -25,40 +40,28 @@
\ProcessOptions\relax
\LoadClass{book}
\ifthenelse{\boolean{isDarkMode}}{
\RequirePackage[darkmode]{PrimeTeX/packages/Color}
\ifthenelse{\boolean{isElectronic}}{
\ifthenelse{\boolean{isDraft}}{
\LoadClass[draft,oneside]{book}
}{
\LoadClass[oneside]{book}
}
}{
\RequirePackage{PrimeTeX/packages/Color}
\ifthenelse{\boolean{isDraft}}{
\LoadClass[draft]{book}
}{
\LoadClass{book}
}
}
\RequirePackage{PrimeTeX/packages/CrossRef}
\RequirePackage{PrimeTeX/packages/DocProperties}
\RequirePackage{PrimeTeX/packages/Fonts}
\RequirePackage{PrimeTeX/packages/Glossary}
\RequirePackage{PrimeTeX/packages/Graphics}
\RequirePackage{PrimeTeX/packages/Hyphenation}
\RequirePackage{PrimeTeX/packages/Index}
\RequirePackage{PrimeTeX/packages/Layout}
\RequirePackage{PrimeTeX/packages/Links}
\RequirePackage{PrimeTeX/packages/Marginalia}
\RequirePackage{PrimeTeX/packages/Tables}
\RequirePackage{PrimeTeX/packages/TitlePage}
\RequirePackage{PrimeTeX/packages/Titles}
\input{PrimeTeX/commonincludes.def}
\newcommand{\IfAdminManual}[2]{
\ifthenelse{\boolean{isAdminManual}}{#1}{#2}
}
}
\newcommand{\IfElectronic}[2]{
\ifthenelse{\boolean{isElectronic}}{#1}{#2}
}
\newcommand{\rem}[1]{}