%---------------------------------------------------------------------- % % % This does the following: % - sets up the document/pdf for viewing as a book % - adds support for page bleeds % - adds basic templates for image pages (XXX) % % % XXX BUG: fix \OFFSETFIX % XXX BUG: fix \CAPTIONWIDTHFIX % XXX BUG: there seems to be a slight offset bias... % % XXX might be a good idea to add a spine calculator... % %---------------------------------------------------------------------- % %% \documentclass{ltxdoc} %% %% \usepackage[a4paper,margin=25mm,left=50mm,nohead]{geometry} %% \usepackage[numbered]{hypdoc} %% \usepackage{doctools} %% %% %% \begin{document} %% %% \GetFileInfo{\jobname.cls} %% %% \title{\textsf{photobook} --- A new LaTeX class\thanks{This file %% describes version \fileversion, last revised \filedate.}} %% %% \author{Alex A. Naanou\thanks{E-mail: alex.nanou@gmail.com}} %% %% \date{Released \filedate} %% %% \maketitle %% %% {\bf Note: all older templates/commnads/macros will get reworked soon!} %% %%%% Usage %% %% >> \documentclass[]{photobook} %% % %---------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e} % XXX set release date... \ProvidesClass{photobook}[2021/07/28 v0.1 Photo book document class] % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - %%%% Options %% \RequirePackage{kvoptions} % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - % Helpers... \newcommand\@DeclareLiteralOptionTo[2]{% \DeclareVoidOption{#2}{% \expandafter\edef\csname photobook@#1\endcsname{#2}}} % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - %%%%% Page geometry % %% \DescribeMacro{blockwidth=} %% \DescribeMacro{blockheight=} %% \DescribeMacro{bindingoffset=} %% \DescribeMacro{bleed=} % %% This is similar to what |geometry| does, but adds bleed support. %% %% \begin{minipage}{\textwidth} %% \begin{verbatim} %% %% <---> bleed <---> bleed %% %% + - - - - - - - - - - - - - - - - - - - - - + - + ^ %% . . . | bleed %% . +---------------------------------------+----- v . . --- %% . | ^ . = . %% . | . . . . . . | . . = . ^ %% . |<-- blockwidth ----------------------->= . | %% . | . | . . = . | %% . | | . = . textheight %% . | . | . . = . | %% . | blockheight . = . | %% . | . | . . = . | %% . | | <---> bindingoffset | %% . | . . . . . . | . . = . v %% . | v . = . %% . +---------------------------------------+----- ^ . . --- %% . . . . | bleed %% + - - - - - - - - - - - - - - - - - - - - - + - + v %% . . %% | <-- textwidth --------------> . | %% ^ binding line %% %% \end{verbatim} %% \end{minipage} %% % % NOTE: if blockwidth/blockheight are set they will force recalculations % and overriding of the paperwidth/paperheight if they were changed % by the user code anywhere between \documentclass[..]{photobook} % and \begin{document}... \DeclareStringOption{blockwidth} \DeclareStringOption{blockheight} \DeclareStringOption[0]{bindingoffset}[10mm] \DeclareStringOption[5mm]{bleed}[5mm] %%%%% layout % %% \DescribeMacro{layoutmode=} %% \DescribeMacro{block} %% \DescribeMacro{endpaper} %% \DescribeMacro{cover} %% \DescribeMacro{jacket} %% %% >> layoutmode=