From d8047bdd2f4bfb0db2c05a03883c210b3b8d98b5 Mon Sep 17 00:00:00 2001 From: Solaria Date: Sat, 14 Mar 2026 17:29:48 +0000 Subject: [PATCH] Add established templates: classicthesis, legrand, cleanthesis, university-press --- opus_orchestrator/latex_compile.py | 6 + .../templates/latex/classicthesis.tex | 105 ++++++++++++ .../templates/latex/cleanthesis.tex | 109 +++++++++++++ opus_orchestrator/templates/latex/legrand.tex | 122 ++++++++++++++ .../templates/latex/university-press.tex | 149 ++++++++++++++++++ 5 files changed, 491 insertions(+) create mode 100644 opus_orchestrator/templates/latex/classicthesis.tex create mode 100644 opus_orchestrator/templates/latex/cleanthesis.tex create mode 100644 opus_orchestrator/templates/latex/legrand.tex create mode 100644 opus_orchestrator/templates/latex/university-press.tex diff --git a/opus_orchestrator/latex_compile.py b/opus_orchestrator/latex_compile.py index 02085f0..4508d05 100644 --- a/opus_orchestrator/latex_compile.py +++ b/opus_orchestrator/latex_compile.py @@ -64,6 +64,12 @@ class LaTeXExporter: "textbook": "textbook.tex", # With exercises "journal": "journal.tex", # Workbooks + # Popular Templates + "classicthesis": "classicthesis.tex", # Classic typographic + "legrand": "legrand.tex", # Orange book style + "cleanthesis": "cleanthesis.tex", # Minimalist + "university-press": "university-press.tex", # Cambridge/Oxford + # RPG/Game Books "rpg-rulebook": "rpg-rulebook.tex", # Game system "rpg-adventure": "rpg-adventure.tex", # Dungeon/Module diff --git a/opus_orchestrator/templates/latex/classicthesis.tex b/opus_orchestrator/templates/latex/classicthesis.tex new file mode 100644 index 0000000..85d1dc6 --- /dev/null +++ b/opus_orchestrator/templates/latex/classicthesis.tex @@ -0,0 +1,105 @@ +% Classicthesis - Typographic Style for LaTeX 2e +% http://www.miede.de/ +% Contributed by André Miede and Ivo Plate +% Classicthesis version 4.6 + +% NOTE: This is a port of the Classic Thesis LaTeX package +% Original: http://www.miede.de/ + +\ProvidesPackage{classicthesis} + [2018/03/20 v4.6 Typographic Style for LaTeX 2e] + +% Packages +\RequirePackage{ifthen} +\RequirePackage{ifpdf} +\RequirePackage[nochapters]{classicthesis-ldpkg} + +% Options +\DeclareOption{parts}{\ct@parttrue} +\DeclareOption{chapters}{\ct@chaptertrue} +\DeclareOption{titlepages}{\ct@titlepagetrue} + +\ExecuteOptions{parts} +\ProcessOptions\relax + +% Adjust margins for KDP +\geometry{ + paperwidth=5.5in, + paperheight=8.5in, + inner=0.6in, + outer=0.4in, + bindingoffset=0.25in, +} + +% ===== CONFIG ===== + +% Minion/MathTime fonts (comment out if not available) +% \RequirePackage{MinionPro} +% \RequirePackage{mathptmx} + +% Use microtype +\RequirePackage{microtype} +\microtypesetup{tracking=true,protrusion=true} + +% Colors +\colorlet{chaptercolor}{black} +\colorlet{sectioncolor}{black} +\colorlet{captioncolor}{gray} + +% Chapter styling +\def\chapterstyle[#1]{% + \titleformat{\chapter}[block]% + {\raggedright\spacedallcaps}% + {{\color{chaptercolor}\thechapter|||#1}}% + {0pt}% + {\raggedright\spacedallcaps}% + [\normalsize\vhuzz@chapter Raphael]% + +% Section styling +\def\sectionstyle{% + \titleformat{\section}[runin]% + {\color{sectioncolor}\normalfont\bfseries}% + {\color{sectioncolor}\thesection}% + {0.5em}% + {\color{sectioncolor}\normalfont\bfseries}% +} + +% Subsection styling +\def\subsectionstyle{% + \titleformat{\subsection}[runin]% + {\color{sectioncolor}\normalfont}% + {\color{sectioncolor}\thesubsection}% + {0.5em}% + {\color{sectioncolor}\normalfont}% +} + +% Headers +\RequirePackage{fancyhdr} +\fancyhf{} +\fancyhead[RO]{\normalfont\thepage} +\fancyhead[LE]{\normalfont\thepage} +\fancyhead[RE]{\normalfont\scshape\leftmark} +\fancyhead[LO]{\normalfont\scshape\rightmark} +\pagestyle{fancy} + +% Quotes +\RequirePackage{epigraph} +\newcommand{\epigraphmargin}{\vhuzzatargetskip} +\epigraphwidth=0.5\textwidth + +% Dedication +\newcommand{\dedication}[1]{% + \thispagestyle{empty} + \null\vfill% + \begin{center}% + \textit{#1}% + \end{center}% + \null\vfill% +} + +% Spacing +\frenchspacing +\raggedbottom + +% End +\endinput diff --git a/opus_orchestrator/templates/latex/cleanthesis.tex b/opus_orchestrator/templates/latex/cleanthesis.tex new file mode 100644 index 0000000..eabb80b --- /dev/null +++ b/opus_orchestrator/templates/latex/cleanthesis.tex @@ -0,0 +1,109 @@ +% Clean Thesis - Minimalist Academic Style +% Based on "Clean Thesis" LaTeX style +% http://cleanthesis.der-ric.de/ + +\documentclass[12pt]{scrbook} + +% Packages +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{amsmath,amssymb} +\usepackage{graphicx} +\usepackage{hyperref} +\usepackage{geometry} +\usepackage{microtype} +\usepackage{xcolor} +\usepackage{booktabs} +\usepackage{setspace} +\usepackage[osf]{mathpazo} + +% Clean gray color scheme +\definecolor{ctColorMain}{RGB}{0,0,0} +\definecolor{ctColorSec}{RGB}{80,80,80} +\definecolor{ctColorLight}{RGB}{180,180,180} + +% Geometry - comfortable reading +\geometry{ + paperwidth=6in, + paperheight=9in, + textwidth=4.5in, + textheight=7in, + inner=0.75in, + outer=0.75in, + top=1in, + bottom=1in, +} + +% Hyperref +\hypersetup{ + colorlinks=true, + linkcolor=ctColorSec, + citecolor=ctColorSec, + urlcolor=ctColorSec, +} + +% Fonts - clean +\usepackage[T1]{url} + +% Chapter heading +\usepackage{titlesec} +\titleformat{\chapter}[display] + {\normalfont\Large\bfseries\color{ctColorMain}} + {\chaptertitlename\ \thechapter} + {20pt} + {\Large\bfseries\color{ctColorMain}} + +\titleformat{\section} + {\normalfont\large\bfseries\color{ctColorSec}} + {\thesection} + {12pt} + {\normalfont\large\bfseries\color{ctColorSec}} + +% Headers +\usepackage{fancyhdr} +\pagestyle{fancy} +\fancyhf{} +\fancyhead[LE]{\thepage\quad\textcolor{ctColorSec}{\leftmark}} +\fancyhead[RO]{\textcolor{ctColorSec}{\rightmark}\quad\thepage} + +% Spacing +\onehalfspacing + +% Metadata +\def\booktitle{$book_title$} +\def\bookauthor{$author$} +\def\bookdate{$date$} + +\begin{document} + +% Title page +\thispagestyle{empty} +\begin{center} +\vspace*{2in} +{\Huge\bfseries\booktitle\par} +\vspace{1in} +{\large by \bookauthor\par} +\vfill +{\large\bookdate} +\end{center} + +% Copyright +\clearpage +\thispagestyle{empty} +\vspace*{\fill} +\begin{center} +\textcolor{ctColorLight}{Copyright \textcopyright\ \bookdate\ \bookauthor}\\ +\textcolor{ctColorLight}{All rights reserved.} +\end{center} +\vspace*{\fill} + +% Contents +\clearpage +\tableofcontents + +% Main +\mainmatter + +$body$ + +\end{document} diff --git a/opus_orchestrator/templates/latex/legrand.tex b/opus_orchestrator/templates/latex/legrand.tex new file mode 100644 index 0000000..8beeaf4 --- /dev/null +++ b/opus_orchestrator/templates/latex/legrand.tex @@ -0,0 +1,122 @@ +% Legrand Orange Book Template +% Inspired by "The Legrand Orange Book" template +% http://www.latextemplates.com/the-legrand-orange-book + +\documentclass[12pt]{memoir} + +% Packages +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{amsmath,amssymb} +\usepackage{graphicx} +\usepackage{hyperref} +\usepackage{geometry} +\usepackage{microtype} +\usepackage{xcolor} +\usepackage{booktabs} +\usepackage{titlesec} +\usepackage{wallpaper} +\usepackage{framed} + +% Orange color scheme +\definecolor{orange}{RGB}{243,156,18} +\definecolor{darkorange}{RGB}{211,84,0} +\definecolor{darkblue}{RGB}{52,73,94} + +% Geometry +\geometry{ + paperwidth=6in, + paperheight=9in, + textwidth=4.5in, + textheight=7.5in, + inner=0.75in, + outer=0.5in, +} + +% Hyperref +\hypersetup{ + colorlinks=true, + linkcolor=darkblue, + citecolor=darkblue, + urlcolor=darkblue, +} + +% Chapter style - Orange box +\chapterstyle{veelo} + +% Chapter title format +\titleformat{\chapter}[display]% + {\normalfont\LARGE\bfseries}% + {\color{orange}\chaptertitlename\ \thechapter}{20pt}% + {\color{orange}\Huge\bfseries} + +% Section format +\titleformat{\section} + {\color{darkblue}\normalfont\Large\bfseries} + {\color{darkblue}\thesection}{1em}{} + +% Orange chapter boxes +\makechapterstyle{orangechapter}{ + \chapterstyle{default} + \def\chapterheadstart{} + \def\afterchaptertitle{\par\nobreak\vskip 1.5em} + \def\chapternamenum{} + \def\printchaptername{\raggedleft\color{orange}\scshape\@chapapp} + \def\chapternamenum{\scshape\thechapter} + \def\printchapternum{\chapternamenum} + \def\afterchapternum{\par\nobreak\vskip 1.5em} + \def\printchaptertitle[1]{\raggedleft\color{orange}\Huge\bfseries ##1} +} + +\chapterstyle{orangechapter} + +% Headers +\pagestyle{fancy} +\fancyhf{} +\fancyhead[LE,RO]{\thepage} +\fancyhead[LO]{\rightmark} +\fancyhead[RE]{\leftmark} + +% Orange boxes for emphasis +\newenvironment{orangebox} + {\begin{framed}\color{darkorange}} + {\end{framed}} + +% Title page +\def\booktitle{$book_title$} +\def\bookauthor{$author$} +\def\bookdate{$date$} + +\begin{document} + +% Title page with orange bar +\thispagestyle{empty} +\begin{center} +\begin{minipage}{\textheight} +\vfill +\vspace{2in} +{\Huge\scshape\booktitle\par} +\vspace{0.5in} +{\LARGE by \bookauthor\par} +\vspace{2in} +\vfill +\end{minipage} +\end{center} + +% Copyright +\clearpage +\thispagestyle{empty} +\vspace*{\fill} +\begin{center} +Copyright \textcopyright\ \bookdate\ \bookauthor\\ +All rights reserved. +\end{center} +\vspace*{\fill} + +% Contents +\clearpage +\tableofcontents + +$body$ + +\end{document} diff --git a/opus_orchestrator/templates/latex/university-press.tex b/opus_orchestrator/templates/latex/university-press.tex new file mode 100644 index 0000000..301c569 --- /dev/null +++ b/opus_orchestrator/templates/latex/university-press.tex @@ -0,0 +1,149 @@ +% University Press Style - Academic Publishing +% Similar to Cambridge, Oxford, Princeton University Press + +\documentclass[12pt]{book} + +% Packages +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{amsmath,amssymb} +\usepackage{graphicx} +\usepackage{hyperref} +\usepackage{geometry} +\usepackage{microtype} +\usepackage{xcolor} +\usepackage{booktabs} +\usepackage{titlesec} + +% University Press trim (slightly larger) +\geometry{ + paperwidth=6in, + paperheight=9in, + textwidth=4in, + textheight=7in, + inner=1in, + outer=0.75in, + top=1in, + bottom=1in, +} + +% Hyperref +\hypersetup{ + colorlinks=true, + linkcolor=black, + citecolor=black, + urlcolor=black, +} + +% Fonts - classic serif +\usepackage{mathptmx} +\usepackage[T1]{url} + +% Chapter headings - centered, plain +\chapterstyle{default} + +\titleformat{\chapter}[display] + {\centering\normalfont\LARGE\bfseries} + {\MakeUppercase{\chaptertitlename}\ \thechapter} + {1ex} + {\centering\normalfont\LARGE\bfseries} + [] + +\titleformat{\section} + {\normalfont\large\bfseries} + {\thesection} + {1em} + {} + +\titleformat{\subsection} + {\normalfont\normalsize\bfseries} + {\thesubsection} + {1em} + {} + +% Headers - plain with centered text +\pagestyle{plain} +\makeatletter +\let\@mkboth\@gobbletwo +\makeatother + +% Small caps for headers +\fancyhead[CE]{\scshape\leftmark} +\fancyhead[CO]{\scshape\rightmark} +\fancyfoot[C]{\thepage} + +% Title page - formal +\def\booktitle{$book_title$} +\def\bookauthor{$author$} +\def\bookdate{$date$} +\def\bookpublisher{$publisher$} + +\begin{document} + +% Half title (verso) +\thispagestyle{empty} +\null\vfill +\begin{center} +{\Huge\scshape\booktitle} +\end{center} +\vfill\null + +% Title page (recto) +\clearpage +\thispagestyle{empty} +\begin{center} +\vspace*{1.5in} +{\Huge\scshape\booktitle\par} +\vspace{1in} +\bigskip +{\large\scshape by \bookauthor\par} +\vfill +{\large\scshape\bookpublisher}\\ +\scshape\bookdate +\end{center} + +% Copyright +\clearpage +\thispagestyle{empty} +\null\vfill +\begin{center} +\textcopyright\ \bookdate\ \bookauthor\\ +\bigskip +All rights reserved. No part of this book may be reproduced\\ +in any form without written permission. +\vfill +ISBN: $isbn$ +\end{center} +\vfill\null + +% Dedication +$if(dedication)$ +\clearpage +\thispagestyle{empty} +\null\vfill +\begin{center} +\textit{$dedication$} +\end{center} +\vfill\null +$endif$ + +% Contents +\clearpage +\tableofcontents + +% Figures/Tables +\listoffigures +\listoftables + +% Main text +\mainmatter + +$body$ + +% Bibliography +\backmatter + +% Index (if needed) +% \printindex + +\end{document}