mirror of
				https://github.com/flynx/photobook.git
				synced 2025-10-29 02:10:08 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			1589 lines
		
	
	
		
			69 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			1589 lines
		
	
	
		
			69 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| %----------------------------------------------------------------------
 | |
| % Stripped code file generated by:
 | |
| %    ./scripts/cls2tex.sh --strip photobook.tex ./scripts/cls2tex.sh --prefix M --strip
 | |
| % NOTE: multiple messages indicate multiple runs.
 | |
| %----------------------------------------------------------------------
 | |
| %----------------------------------------------------------------------
 | |
| % Documentation file generated by:
 | |
| %    ./scripts/cls2tex.sh photobook.cls
 | |
| % NOTE: multiple messages indicate multiple runs.
 | |
| %----------------------------------------------------------------------
 | |
| % NOTE: \def\<module-name>@[A-Z]+ macros will be visible to both the 
 | |
| %		code and the generated docs...
 | |
| \edef\FILEVERSION{v0.1.15}
 | |
| \edef\FILEDATE{2023-03-18}
 | |
|  \documentclass{ltxdoc}
 | |
| % \usepackage{iftex}
 | |
| % \ifluatex
 | |
| % 	\edef\pdfcompresslevel{\pdfvariable compresslevel} 
 | |
| % 	\edef\pdfobjcompresslevel{\pdfvariable objcompresslevel}
 | |
| % \fi
 | |
| % \pdfcompresslevel 0
 | |
| % \pdfobjcompresslevel 0
 | |
|  \usepackage[a4paper,margin=25mm,left=55mm,nohead]{geometry}
 | |
|  % NOTE: this needs to load before hyperref or bookmarks will break...
 | |
|  % NOTE: loading hyperref here will break it loading later in one of 
 | |
|  %		the packages...
 | |
|  \usepackage{titlesec}
 | |
|  \usepackage[numbered]{hypdoc}
 | |
|  \usepackage{doctools}
 | |
|  \usepackage{needspace}
 | |
|  \usepackage[toc]{multitoc}
 | |
|  \renewcommand*{\multicolumntoc}{2}
 | |
|  \setlength{\columnseprule}{0.5pt}
 | |
|  \usepackage{imakeidx}
 | |
|  \makeindex[
 | |
| 		columns=1, 
 | |
| 		title=Alphabetical Index, 
 | |
| 		intoc,
 | |
| 		options= -s photobook.ist ]
 | |
| % \newcommand\DescribeGlobal[1]{%
 | |
| %	\DescribeMacro{#1}}
 | |
|  \newcommand\LEGACY[1][]{\fbox{LEGACY #1}}
 | |
|  \newcommand\EXPERIMENTAL[1][]{\fbox{EXPERIMENTAL #1}}
 | |
| % sections to new pages...
 | |
|  \newcommand\sectionbreak{\Needspace{5\baselineskip}}
 | |
|  % remove section numbering...
 | |
|  \setcounter{secnumdepth}{0}
 | |
|  % paragraph configuration...
 | |
|  \setlength\parindent{0pt}
 | |
|  \setlength\parskip{0.5em}
 | |
|  \newcommand\blankfootnote[1]{%
 | |
|  	\begingroup
 | |
|  		\renewcommand\thefootnote{}%
 | |
|  		\footnote{#1}%
 | |
|  		\addtocounter{footnote}{-1}%
 | |
|  	\endgroup}
 | |
|  \begin{document}
 | |
|  \title{\textsf{photobook} --- Document class for building photo-books
 | |
| 		\thanks{This file describes version \FILEVERSION, 
 | |
| 			last revised \FILEDATE.}}
 | |
|  \author{Alex A. Naanou\thanks{E-mail: alex.nanou@gmail.com}}
 | |
|  \date{Released \FILEDATE}
 | |
|  \maketitle
 | |
|  \begin{abstract}
 | |
| 	The |photobook| \LaTeX\space document class extends the |book| class 
 | |
| 	defining a set of parameters, meta-macros, macros and environments 
 | |
| 	with reasonable defaults to help typeset, build and print books mainly 
 | |
| 	based on visual/image content.
 | |
|  \end{abstract}
 | |
|  \tableofcontents
 | |
| \section{Introduction}\label{sec:Introduction}
 | |
|  \LaTeX\ is great with textual and text-primary content with figures
 | |
|  peppered in, as long as pictures/figures flow within, with or as part
 | |
|  of text, vanilla \LaTeX\ is fantastic.
 | |
|  One can relatively easily stretch the flow concept to more complex
 | |
|  layouts introducing {\it even} and {\it odd} pages (the |book| class is 
 | |
|  one example) and flow rules based on them, but the next step, {\it bleeds}, 
 | |
|  combining page pairs into {\it spreads} as is often needed when designing 
 | |
|  image-oriented books is lacking. Full-bleed images/pages can be implemented 
 | |
|  manually, some more effort is needed to split something horizontally 
 | |
|  into a page spread, but doing so for whole book's worth of content is 
 | |
|  not practical -- automating and experimenting with this process is 
 | |
|  how |photobook| began.
 | |
|  |photobook| extends the |book| class adding page layout types, bleeds
 | |
|  and other global geometry configuration, introduces the {\it page} and
 | |
|  {\it spread} as first-class elements into the document flow. These concepts
 | |
|  are generalized as |cell|s. A |cell| is similar to a figure, it can
 | |
|  be placed within the document flow, but unlike a figure a |cell| can
 | |
|  be aligned relative to a page, it can fill a page, a cell can even be
 | |
|  horizontally split to fill several pages (how spreads are implemented).
 | |
|  On top of the |cell|, {\it page}, and {\it spread} concepts, |photobook| 
 | |
|  also builds a set of configurable high level macros and templates for 
 | |
|  common use cases like full bleed image spreads, foldouts, ... etc.
 | |
| \section{Usage}\label{sec:Usage}
 | |
| \begin{verbatim} \documentclass[<options>]{photobook} \end{verbatim}
 | |
| \section{Options}\label{sec:Options}
 | |
| \subsection{Page geometry}\label{subsec:Page geometry}
 | |
|  \DescribeMacro{blockwidth=<len>}
 | |
|  \DescribeMacro{blockheight=<len>}
 | |
|  \DescribeMacro{bindingoffset=<len>}
 | |
|  \DescribeMacro{bleed=<len>}
 | |
|  This is similar to what |geometry| does, but adds bleed support.
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|    <---> bleed                                 <---> bleed
 | |
|    + - - - - - - - - - - - - - - - - - - - - - + - +   ^
 | |
|    .                                           .   .   | bleed
 | |
|    .   +---------------------------------------+-----  v   .   .  ---
 | |
|    .   |                           ^       .   =   .
 | |
|    .   |   .   .   .   .   .   .   |   .   .   =   .               ^
 | |
|    .   |<-- blockwidth ----------------------->=   .               |
 | |
|    .   |   .                       |   .   .   =   .               |
 | |
|    .   |                           |       .   =   .       textheight
 | |
|    .   |   .             Page      |   .   .   =   .               |
 | |
|    .   |                      blockheight  .   =   .               |
 | |
|    .   |   .                       |   .   .   =   .               |
 | |
|    .   |                           |       <---> bindingoffset     |
 | |
|    .   |   .   .   .   .   .   .   |   .   .   =   .               v
 | |
|    .   |                           v       .   =   .
 | |
|    .   +---------------------------------------+-----  ^   .   .  ---
 | |
|    .   .                                       .   .   | bleed
 | |
|    + - - - - - - - - - - - - - - - - - - - - - + - +   v
 | |
|        .                                       .
 | |
|        |   <-- textwidth -------------->   .   |
 | |
|                                                ^ gutter
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  \DescribeMacro{flatfold=<len>}
 | |
|  Sets the clearance set aside for a flat fold, used for foldouts 
 | |
|  (see: \nameref{subsec:Foldout page cells} section).
 | |
|  \DescribeMacro{pagefold=<fold>}
 | |
|  Sets the default fold type.
 | |
|  Can be |in| or |out|.
 | |
|  \DescribeMacro{foldout=<fold-spec>}
 | |
|  Sets the default fold specification (i.e. sets |\defaultfoldout|).
 | |
|  For more information see: \nameref{subsec:Foldout page cells} section.
 | |
| \subsection{layout}\label{subsec:layout}
 | |
|  \DescribeMacro{layoutmode=<layout>}
 | |
|  \DescribeMacro{block}
 | |
|  \DescribeMacro{endpaper}
 | |
|  \DescribeMacro{cover}
 | |
|  \DescribeMacro{jacket}
 | |
|  Sat page layout mode.
 | |
| \begin{verbatim} layoutmode=<option> \end{verbatim}
 | |
|  |block| (default)
 | |
| 	Basic page layout.
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|        blockwidth
 | |
|    <--------------->
 | |
|    +---------------+
 | |
|    |               |
 | |
|    |               |
 | |
|    |     page      |
 | |
|    |               |
 | |
|    |               |
 | |
|    +---------------+
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  |endpaper|:
 | |
| 	Endpaper layout.
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|        blockwidth 2x
 | |
|    <------------------------------->
 | |
|    +---------------+---------------+
 | |
|    |               .               |
 | |
|    |               .               |
 | |
|    |           endpaper            |
 | |
|    |               .               |
 | |
|    |               .               |
 | |
|    +---------------+---------------+
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  |cover|
 | |
| 	Book cover layout
 | |
|  \DescribeMacro{coverboardgrow=<len>}
 | |
|  \DescribeMacro{coverflap=<len>}
 | |
|  \DescribeMacro{spinewidth=<len>}
 | |
|  \DescribeMacro{spinewidth=<len>}
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|           blockwidth            blockwidth
 | |
|        <--------------->     <--------------->
 | |
|      <-> coverboardgrow                      <-> coverboardgrow
 | |
|    <-> coverflap                             . <-> coverflap
 | |
|    . . .                                     . . .
 | |
|    +-------------------++---++-------------------+    ---
 | |
|    | + - - - - - - - - ++ - ++ - - - - - - - - + |    --^ coverflap                
 | |
|    | . + - - - - - - - ++ - ++ - - - - - - - + . |    --^ coverboardgrow  
 | |
|    | . .               ..   ..               . . |     ^                  
 | |
|    | . .               ..   ..               . . |     | blockheight      
 | |
|    | . .     Back      ..   ..     Front     . . |     |                  
 | |
|    | . .               ..   ..               . . |     |                  
 | |
|    | . .               ..   ..               . . |     v                  
 | |
|    | . + - - - - - - - ++ - ++ - - - - - - - + . |    --v coverboardgrow  
 | |
|    | + - - - - - - - - ++ - ++ - - - - - - - - + |    --v coverflap                 
 | |
|    +-------------------++---++-------------------+    ---
 | |
|                         .   .
 | |
|                        ^.   .^ spinefold
 | |
|                         .   .
 | |
|                         <---> spinewidth
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  |jacket|
 | |
| 	Dust jacket layout
 | |
|  \DescribeMacro{jacketwrap=<len>}
 | |
|  \DescribeMacro{jacketflap=<len>}
 | |
|  \DescribeMacro{jacketflapfront=<len>}
 | |
|  \DescribeMacro{jacketflapback=<len>}
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|    <---> jaketflap/jacketflapback                  <---> jaketflap/jacketflapfront
 | |
|    .   .                                           .   .
 | |
|    .   .     blockwidth            blockwidth      .   .
 | |
|    .   .  <--------------->     <--------------->  .   .
 | |
|    .   .<-> coverboardgrow                      <-> coverboardgrow
 | |
|    .   .  .                                     .  .   .
 | |
|    +---++-----------------++---++-----------------++---+    ---
 | |
|    |   .. + - - - - - - - ++ - ++ - - - - - - - + ..   |    --^ coverboardgrow
 | |
|    |   .. .               ..   ..               . ..   |     ^
 | |
|    |   .. .               ..   ..               . ..   |     | blockheight
 | |
|    |   .. .     Back      ..   ..     Front     . ..   |     |
 | |
|    |   .. .               ..   ..               . ..   |     |
 | |
|    |   .. .               ..   ..               . ..   |     v
 | |
|    |   .. + - - - - - - - ++ - ++ - - - - - - - + ..   |    --v coverboardgrow
 | |
|    +---++-----------------++---++-----------------++---+    --- 
 | |
|        ..                  .   .                  ..
 | |
|        ^ jacketwrap        .   .                  ^ jacketwrap
 | |
|                           ^.   .^ spinefold
 | |
|                            .   .
 | |
|                            <---> spinewidth
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  Note that for |cover|, |endpaper|, and |jacket|, 
 | |
|  \href{https://ctan.org/pkg/fancyhdr}{fancyhdr}'s |\pagestyle{..}| is 
 | |
|  set to |empty| by default.
 | |
| \subsection{Image clearance}\label{subsec:Image clearance}
 | |
|  \DescribeMacro{clearimage=<len>}
 | |
|  Distance from image to paper border (clearance) for full-page images.
 | |
|  this can be:
 | |
|  - negative value set image bleed, 
 | |
|  - positive value set distance from paper edge to image.
 | |
| \subsection{Image block layout}\label{subsec:Image block layout}
 | |
|  \DescribeMacro{imageblockwidth=<len>}
 | |
|  \DescribeMacro{imageblockheight=<len>}
 | |
|  \DescribeMacro{imageblockoffsettop=<len>}
 | |
|  Image block size relative to text block.
 | |
| \subsection{PDF Viewer layout}\label{subsec:PDF Viewer layout}
 | |
|  \DescribeMacro{pdfpagelayout=<mode>}
 | |
|  \DescribeMacro{SinglePage}
 | |
|  \DescribeMacro{OneColumn}
 | |
|  \DescribeMacro{TwoColumnLeft}
 | |
|  \DescribeMacro{TwoColumnRight}
 | |
|  \DescribeMacro{TwoPageLeft}
 | |
|  \DescribeMacro{TwoPageRight}
 | |
|  Sets PDF page display mode.
 | |
|  Defaults to |TwoColumnLeft| for |layoutmode=block| and |SinglePage| for
 | |
|  other modes.
 | |
|  See: 
 | |
|  \href{https://ctan.altspu.ru/macros/latex/contrib/hyperref/doc/hyperref-doc.pdf}{hyperref}'s 
 | |
|  |pdfpagelayout| for more options.
 | |
| \subsection{Other options}\label{subsec:Other options}
 | |
|  \DescribeMacro{nofoldmarks}
 | |
|  If given disable fold marks.
 | |
|  This sets |\iffoldmarks| to false, otherwise it is set to true.
 | |
|  \DescribeMacro{foldmarksize=<len>}
 | |
|  Sets the fold mark size (default: 6mm).
 | |
|  \DescribeMacro{geometrynodefaults}
 | |
|  let the user set geometry defaults.
 | |
| 	If this is not set |photobook| will override some user settings when
 | |
| 	initializing geometry.
 | |
| 	If set |photobook| will only set override:
 | |
| 	\begin{verbatim}
 | |
| 		paperwidth=\bleedblockwidth
 | |
| 		paperheight=\bleedblockheight
 | |
| 		bindingoffset=\bindingoffset
 | |
| 	\end{verbatim}
 | |
|  \DescribeMacro{roundprintedlengthsto=<num>}
 | |
|  Number of digits to round printed lengths to (default: 1).
 | |
|  This is a shorthand to |numprint|'s |\nprounddigits{..}|, us it to 
 | |
|  change values mid-document if needed.
 | |
|  This is mostly used for |\GenerateTemplate|.
 | |
| \section{Packages}\label{sec:Packages}
 | |
|  |photobook| adds and uses internally the following packages: 
 | |
|  \href{https://ctan.org/pkg/geometry}{geometry},
 | |
|  \href{https://ctan.org/pkg/kvoptions}{kvoptions},
 | |
|  \href{https://ctan.org/pkg/calc}{calc},
 | |
|  \href{https://ctan.org/pkg/xargs}{xargs},
 | |
|  \href{https://ctan.org/pkg/ifthen}{ifthen},
 | |
|  \href{https://ctan.org/pkg/iftex}{iftex},
 | |
|  \href{https://ctan.org/pkg/pgffor}{pgffor},
 | |
|  \href{https://ctan.org/pkg/xint}{xint},
 | |
|  \href{https://ctan.org/pkg/xinttools}{xinttools},
 | |
|  \href{https://ctan.org/pkg/listofitems}{listofitems},
 | |
|  \href{https://ctan.org/pkg/xkeyval}{xkeyval},
 | |
|  \href{https://ctan.org/pkg/etoolbox}{etoolbox},
 | |
|  \href{https://ctan.org/pkg/atbegshi}{atbegshi},
 | |
|  \href{https://ctan.org/pkg/hyperref}{hyperref},
 | |
|  \href{https://ctan.org/pkg/eso-pic}{eso-pic},
 | |
|  \href{https://ctan.org/pkg/environ}{environ},
 | |
|  \href{https://ctan.org/pkg/numprint}{numprint},
 | |
|  \href{https://ctan.org/pkg/trimclip}{trimclip},
 | |
|  \href{https://ctan.org/pkg/xcolor}{xcolor},
 | |
|  \href{https://ctan.org/pkg/pagecolor}{pagecolor},
 | |
|  \href{https://ctan.org/pkg/colorspace}{colorspace},
 | |
|  \href{https://ctan.org/pkg/graphicx}{graphicx},
 | |
|  \href{https://ctan.org/pkg/adjustbox}{adjustbox},
 | |
|  \href{https://ctan.org/pkg/adjustbox}{adjustbox},
 | |
|  \href{https://ctan.org/pkg/fancyvrb}{fancyvrb},
 | |
|  \href{https://ctan.org/pkg/tikz}{tikz},
 | |
|  \href{https://ctan.org/pkg/rotating}{rotating},
 | |
|  \href{https://ctan.org/pkg/fancyhdr}{fancyhdr}, and
 | |
|  \href{https://ctan.org/pkg/pdfpages}{pdfpages}.
 | |
|  \newline
 | |
|  Most of these packages can be used by the book author without explicitly
 | |
|  importing them.
 | |
| \section{Globals}\label{sec:Globals}
 | |
| % \DescribeGlobal{layoutmode}
 | |
|  \DescribeMacro{\layoutmode=<mode>}
 | |
| 	Layout mode
 | |
|  \DescribeMacro{\pdfpagelayout=<mode>}
 | |
| 	Controls the default layout in the pdf viewer.
 | |
|  \DescribeMacro{\spinewidth=<len>}
 | |
| 	Spine width
 | |
|  \DescribeMacro{\spinefold=<len>}
 | |
| 	Spine fold width
 | |
|  \DescribeMacro{\coverboardgrow=<len>}
 | |
| 	Controls how much biger the cover board is than the page block
 | |
|  \DescribeMacro{\coverflap=<len>}
 | |
| 	Cover flap
 | |
|  \DescribeMacro{\jacketwrap=<len>}
 | |
|  \DescribeMacro{\jacketflap=<len>}
 | |
|  \DescribeMacro{\jacketflapfront=<len>}
 | |
|  \DescribeMacro{\jacketflapback=<len>}
 | |
| 	Jacker configuration
 | |
|  \DescribeMacro{\blockwidth=<len>}
 | |
|  \DescribeMacro{\blockheight=<len>}
 | |
| 	Page block size
 | |
|  \DescribeMacro{\bleedblockwidth=<len>}
 | |
|  \DescribeMacro{\bleedblockheight=<len>}
 | |
| 	Page block size with bleeds
 | |
| 	These are equivalent to |\paperwidth| and |\paperheight| but are 
 | |
| 	independent of them...
 | |
|  \DescribeMacro{\pageblockwidth=<len>}
 | |
|  \DescribeMacro{\pageblockheight=<len>}
 | |
|  Original page block size
 | |
|  for the block layout these are the same as |\blockwidth| and |\blockheight|
 | |
|  for other layouts these are the original page layout size while the 
 | |
|  |\blockwidth| are set tho the current layout visible size.
 | |
|  \DescribeMacro{\bleed=<len>}
 | |
|  Page bleed size
 | |
|  \DescribeMacro{\bindingoffset=<len>}
 | |
|  Binding offset
 | |
|  \DescribeMacro{\defaultfoldout=<fold-spec>}
 | |
|  Set the default fold specification.
 | |
|  This can be set via the |foldout| class option.
 | |
|  For more information see: \nameref{subsec:Foldout page cells} section.
 | |
|  \DescribeMacro{\flatfold=<len>}
 | |
|  Sets the amount of paper to account for a flat fold.
 | |
|  \DescribeMacro{\pagefold=<fold>}
 | |
|  Default fold type.
 | |
|  This defaults to |out| for |jacket| and |cover| and to |in| for other
 | |
|  layouts.
 | |
|  \DescribeMacro{\foldmarkoffset=<len>}
 | |
|  Sets the offset of fold marks from outside of page edge (default: |0.5\bleed|).
 | |
|  Note that this can either be a command or a dimension.
 | |
|  \DescribeMacro{\foldmarksize=<len>}
 | |
|  Sets fold marker size (vertical).
 | |
|  \DescribeMacro{\iffoldmarks}
 | |
|  Disable/enable fold marks.
 | |
|  The default is true, to toggle on/off use |\foldmarkstrue| / |\foldmarksfalse|.
 | |
|  This can be set globally via the |nofoldmarks| class option.
 | |
|  \DescribeMacro{\clearimage=<len>}
 | |
| 	Image clearance
 | |
|  \DescribeMacro{\imageblockwidth=<ratio>}
 | |
|  \DescribeMacro{\imageblockheight=<ratio>}
 | |
| 	Image block width relative to |\textwidth|
 | |
|  \DescribeMacro{\pagetextwidth=<len>}
 | |
|  \DescribeMacro{\pagetextheight=<len>}
 | |
|  Root page text width/height.
 | |
|  \DescribeMacro{\imageblockoffsettop=<ratio>}
 | |
|  The ration by which the image is raised in |\ImagePage{..}| and 
 | |
|  derived templates.
 | |
|  \DescribeMacro{\clearcaption=<len>}
 | |
|  Block caption clearance from edge of parent cell.
 | |
|  Used as default by |\captionblockcell{..}|
 | |
|  \DescribeMacro{\captioncellspacing=<len>}
 | |
|  Block caption spacing from parent cell.
 | |
|  Used as default by |\captionblockcell{..}|
 | |
|  \DescribeMacro{\captionclearpage=<len>}
 | |
|  The distance between a caption block on a template page and page 
 | |
|  borders (defaults to: |\clearimage|).
 | |
|  This is relevant only in page/spread templates.
 | |
|  \DescribeMacro{\cellparentwidth=<len>}
 | |
|  \DescribeMacro{\cellparentheight=<len>}
 | |
|  \DescribeMacro{\cellwidth=<len>}
 | |
|  \DescribeMacro{\cellheight=<len>}
 | |
|  \DescribeMacro{\celloffsetleft=<len>}
 | |
|  \DescribeMacro{\celloffsettop=<len>}
 | |
|  \DescribeMacro{\clearance=<len>}
 | |
|  Cell geometry. 
 | |
|  These are set automatically by cells, thus it is not recommended to 
 | |
|  edit them manually.
 | |
|  For more details see the \nameref{subsec:Cells} section.
 | |
|  \DescribeMacro{\clearfoldoutbinding=<len>}
 | |
|  \DescribeMacro{\clearfoldoutfold=<len>}
 | |
|  \DescribeMacro{\clearfoldoutedge=<len>}
 | |
|  Foldout geometry.
 | |
|  For more info see \nameref{subsec:Foldout page cells} section.
 | |
| \section{Initialization}\label{sec:Initialization}
 | |
|  \DescribeMacro{\InitPages}
 | |
|  Initialize page dimensions.
 | |
|  This is not intended for direct use.
 | |
|  \DescribeMacro{\ReInitPages}
 | |
| 	Reset and re-initialize page dimentions.
 | |
|  \DescribeMacro{\ChangeLayout}
 | |
|  Change document layout.
 | |
| \begin{verbatim} \ChangeLayout{<layoutmode>} \end{verbatim}
 | |
|  This is a shorthand for |\def\layoutmode{<layoutmode>}| and then 
 | |
|  |\ReInitPages|, and as this is changing any other parameters that may 
 | |
|  affect the layout, this should be done last.
 | |
| \section{Generic commands}\label{sec:Generic commands}
 | |
|  \DescribeMacro{\keywords\{..\}}
 | |
| 	Set pdf metadata keywords
 | |
| \begin{verbatim} \keywords{<keywords>} \end{verbatim}
 | |
|  \DescribeMacro{\subject\{..\}}
 | |
| 	Set pdf metadata subject
 | |
| \begin{verbatim} \subject{<subject>} \end{verbatim}
 | |
|  \DescribeMacro{\mindim\{..\}}
 | |
|  \DescribeMacro{\maxdim\{..\}}
 | |
|  Get min/max dimension.
 | |
| \begin{verbatim} \mindim{A}{B} \end{verbatim}
 | |
| \begin{verbatim} \maxdim{A}{B} \end{verbatim}
 | |
|  \DescribeMacro{\emptypage\{..\}}
 | |
|  Create an empty page.
 | |
| \begin{verbatim} \emptypage \end{verbatim}
 | |
| \begin{verbatim} \emptypage[<style>] \end{verbatim}
 | |
|  |<style>| is the style name as defined via |fancyhdr| (default: |empty|).
 | |
|  \DescribeMacro{\cleartoleftpage}
 | |
|  Forces content to left page.
 | |
|  This is a companion to |\cleardoublepage|.
 | |
| \section{Environments and Cells}\label{sec:Environments and Cells}
 | |
| \subsection{Generic}\label{subsec:Generic}
 | |
|  \DescribeEnv{page}
 | |
|  Page environment.
 | |
|  This is mainly designed to wrap other cell environment described later.
 | |
|  Note that this may span more than one page if there is enough stuff 
 | |
|  packed in.
 | |
|  \DescribeEnv{leftpage}
 | |
|  \EXPERIMENTAL
 | |
| \subsection{Cells}\label{subsec:Cells}
 | |
|  A cell environment is a box of specified size.
 | |
|  Cells can be both placed inline relative to other content or in an 
 | |
|  absolute location.
 | |
|  Note that absolute cells are placed relative to the page and currently 
 | |
|  can not be placed relative to other absolute cells (this might change
 | |
|  in the future).
 | |
|  \DescribeMacro{\cellwidth=<len>}
 | |
|  \DescribeMacro{\cellheight=<len>}
 | |
|  \DescribeMacro{\cellparentwidth=<len>}
 | |
|  \DescribeMacro{\cellparentheight=<len>}
 | |
|  \DescribeMacro{\celloffsettop=<len>}
 | |
|  \DescribeMacro{\celloffsetleft=<len>}
 | |
|  \DescribeMacro{\clearance=<len>}
 | |
|  A cell defines a set of contextual lengths:
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|    <--> celloffsetleft
 | |
|    .   <--------------> cellwidth
 | |
|    <----------------------> cellparentwidth
 | |
|    .   .              .   .
 | |
|    +----------------------+ . . . . . . .
 | |
|    |   .              .   |     ^       ^ celloffsettop
 | |
|    |   .              .   |     |       |
 | |
|    |   +--------------+ . | . . | . . . v 
 | |
|    |   |              |   |     |   ^
 | |
|    |   |              |   |     |   | cellheight
 | |
|    |   |     cell     |   |     |   |
 | |
|    |   |              |   |     |   |
 | |
|    |   |              |   |     |   |
 | |
|    |   +--------------+ . | . . | . v
 | |
|    |                      |     |
 | |
|    |                      |     | cellparentheight
 | |
|    +----------------------+ . . v
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  For absolutely positioned cells these define the cell offset from 
 | |
|  parent.
 | |
|  The bare page can be reasonably treated as a cell.
 | |
|  Initally, outside of any cells |\cellwidth|, |\cellparentwidth| and 
 | |
|  |\cellheight|, |\cellparentheight| are equal to |\paperwidth| and 
 | |
|  |\paperheight| respectively, and |\celloffsettop| and |\celloffsetleft|
 | |
|  are set to |0pt|.
 | |
|  Changing these is not recommended, it likely will not affect the 
 | |
|  current cell but can mess up nested cells.
 | |
|  \DescribeEnv{inlinecell}
 | |
|  \DescribeEnv{inlinecell*}
 | |
|  Create a basic inline cell.
 | |
| \begin{verbatim} \begin{inlinecell}{<width>}{<height>} ... \end{inlinecell} \end{verbatim}
 | |
| \begin{verbatim} \begin{inlinecell}[<valign>]{<width>}{<height>} ... \end{inlinecell} \end{verbatim}
 | |
|  This will clip oversized content.
 | |
|  |inlinecell*| is like |inlinecell| but will not clip.
 | |
| \begin{verbatim} \begin{inlinecell*}{<width>}{<height>} ... \end{inlinecell*} \end{verbatim}
 | |
| \begin{verbatim} \begin{inlinecell*}[<valign>]{<width>}{<height>} ... \end{inlinecell*} \end{verbatim}
 | |
|  |<valign>| can be one of |t| (default) for top, |c| for center or |b| for bottom.
 | |
|  These are just like |minipage| but provide cell mechanics.
 | |
|  \DescribeEnv{minipagecell}
 | |
|  \DescribeEnv{minipagecell*}
 | |
|  \EXPERIMENTAL
 | |
|  \DescribeEnv{zinlinecell}
 | |
|  \DescribeEnv{zinlinecell*}
 | |
|  \EXPERIMENTAL
 | |
|  Like |inlinecell| / |inlinecell*| but will take up zero space and 
 | |
|  sized to |\cellwidth| x |\cellheight|.
 | |
| \begin{verbatim} \begin{zinlinecell} ... \end{zinlinecell} \end{verbatim}
 | |
| \begin{verbatim} \begin{zinlinecell}[<valign>] ... \end{zinlinecell} \end{verbatim}
 | |
|  \DescribeEnv{cell}
 | |
|  \DescribeEnv{cell*}
 | |
|  Create a basic absolutely positioned cell.
 | |
| \begin{verbatim} \begin{cell}{<left>, <top>}{<width>}{<height>} ... \end{cell} \end{verbatim}
 | |
|  Oversized content will be clipped.
 | |
|  |cell*| is just like |cell| but will not clip its content.
 | |
| \begin{verbatim} \begin{cell*}{<left>, <top>}{<width>}{<height>} ... \end{cell*} \end{verbatim}
 | |
|  |cell| and |cell*| are absolutely positioned either relative to 
 | |
|  the current page or to the closest savecell.
 | |
|  \DescribeEnv{adjustcell}
 | |
|  \DescribeEnv{adjustcell*}
 | |
|  \EXPERIMENTAL
 | |
| \subsection{Save cells}\label{subsec:Save cells}
 | |
|  \DescribeMacro{\savecell\{..\}}
 | |
|  \DescribeMacro{\gsavecell\{..\}}
 | |
|  Create a saved cell.
 | |
| \begin{verbatim} \savecell{<name>}{<width>}{<height>}{ .. } \end{verbatim}
 | |
|  This is similar to |\newsavebox{..}| and |\sbox{..}| but adds 
 | |
|  cell functionality.
 | |
|  |\gsavecell{..}| is the same as |\savecell{..}| but creates a global 
 | |
|  cell.
 | |
|  Note that both |\gsavecell{..}| and |\savecell{..}| make the nested
 | |
|  |cell| and |cell*| position relative to the cell and not the page.
 | |
|  This is done by setting |\TPoptions{absolute=false}| for the cell
 | |
|  content which will also affect |textpos|'s macros.
 | |
|  \DescribeMacro{\usecell\{..\}}
 | |
|  \DescribeMacro{\usecell*\{..\}}
 | |
|  Use part of a saved cell.
 | |
| \begin{verbatim} \usecell{<name>}(<top>, <left>){<width>}{<height>} \end{verbatim}
 | |
|  This will clip the content to cell.
 | |
|  |\usecell*{..}| is similar to |\usecell{..}| but will not clip the 
 | |
|  cell content.
 | |
| \begin{verbatim} \usecell*{<name>}(<top>, <left>){<width>}{<height>} \end{verbatim}
 | |
|  These are similar to |\usebox{..}|.
 | |
| \subsection{Cell macros}\label{subsec:Cell macros}
 | |
|  Cell macros require a cell environment to function correctly.
 | |
|  \DescribeEnv{topdown}
 | |
|  \DescribeEnv{bottomup}
 | |
|  Rotate cell content vertically, orienting it top-down or bottom-up.
 | |
| \begin{verbatim} \begin{topdown} ... \end{topdown} \end{verbatim}
 | |
| \begin{verbatim} \begin{bottomup} ... \end{bottomup} \end{verbatim}
 | |
|  \DescribeEnv{cliptocell}
 | |
|  Clip content to parent cell.
 | |
|  \DescribeMacro{\imagecell\{..\}}
 | |
|  Place image in cell.
 | |
| \begin{verbatim} \imagecell{<caption-cell>}{<image>} \end{verbatim}
 | |
| \begin{verbatim} \imagecell[<key>=<value>, ..]{<caption-cell>}{<image>} \end{verbatim}
 | |
| \begin{verbatim} \imagecell[fit]{}{<image>} \end{verbatim}
 | |
| \begin{verbatim} \imagecell[fill]{}{<image>} \end{verbatim}
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|    fit (default)                fill
 | |
|    +-----------------+    . . . +-----------------+ . . .
 | |
|    |                 |    .  .  |                 |  .  .
 | |
|    +-----------------+    .     |                 |     .
 | |
|    | .             . |    .     |  .           .  |     .
 | |
|    |    .       .    |    .     |     .     .     |     .
 | |
|    |      image      |    .     |      image      |     .
 | |
|    |    .       .    |    .     |     .     .     |     .
 | |
|    | .             . |    .     |  .           .  |     .
 | |
|    +-----------------+    .     |                 |     .
 | |
|    |                 |    .  .  |                 |  .  .
 | |
|    +-----------------+    . . . +-----------------+ . . .
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  Centering. The image will be centered by default.
 | |
| \begin{verbatim} \imagecell{}{<image>} \end{verbatim}
 | |
| \begin{verbatim} \imagecell[center]{}{<image>} \end{verbatim}
 | |
|  Vertical alignment
 | |
| \begin{verbatim} \imagecell[top]{}{<image>} \end{verbatim}
 | |
| \begin{verbatim} \imagecell[bottom]{}{<image>} \end{verbatim}
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|    top                    center (default)       bottom
 | |
|    +-----------------+    +-----------------+    +-----------------+ 
 | |
|    | .             . |    |                 |    |                 |
 | |
|    |    .       .    |    +-----------------+    |                 |
 | |
|    |      image      |    | .             . |    |                 |
 | |
|    |    .       .    |    |    .       .    |    +-----------------+ 
 | |
|    | .             . |    |      image      |    | .             . | 
 | |
|    +-----------------+    |    .       .    |    |    .       .    | 
 | |
|    |                 |    | .             . |    |      image      | 
 | |
|    |                 |    +-----------------+    |    .       .    | 
 | |
|    |                 |    |                 |    | .             . | 
 | |
|    +-----------------+    +-----------------+    +-----------------+ 
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  Horizontal alignment
 | |
| \begin{verbatim} \imagecell[left]{}{<image>} \end{verbatim}
 | |
| \begin{verbatim} \imagecell[right]{}{<image>} \end{verbatim}
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|    left                   center (default)       right
 | |
|    +-------------+---+    +-+-------------+-+    +---+-------------+
 | |
|    | .         . |   |    | | .         . | |    |   | .         . |
 | |
|    |  .       .  |   |    | |  .       .  | |    |   |  .       .  |
 | |
|    |   .     .   |   |    | |   .     .   | |    |   |   .     .   |
 | |
|    |    .   .    |   |    | |    .   .    | |    |   |    .   .    |
 | |
|    |    image    |   |    | |    image    | |    |   |    image    |
 | |
|    |    .   .    |   |    | |    .   .    | |    |   |    .   .    |
 | |
|    |   .     .   |   |    | |   .     .   | |    |   |   .     .   |
 | |
|    |  .       .  |   |    | |  .       .  | |    |   |  .       .  |
 | |
|    | .         . |   |    | | .         . | |    |   | .         . |
 | |
|    +-------------+---+    +-+-------------+-+    +---+-------------+
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  Horizontal and vertical alignment can be combined to control alignment 
 | |
|  of both vertical and horizontal images at the same time.
 | |
|  Image |clearance|. This sets the amount of clearance around an image 
 | |
|  (default: |0pt|).
 | |
| \begin{verbatim} \imagecell[clearance=-4mm]{}{<image>} \end{verbatim}
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|    clearance > 0pt        clearance = 0pt          clearance < 0pt
 | |
|                                   (default)     
 | |
|    +--------v--------+    +-----------------+    +--------^--------+    
 | |
|    |                 |    |                 |    |                 |    
 | |
|    |+---------------+|    +-----------------+  ..+-----------------+..  
 | |
|    || .           . ||    | .             . |  . |.               .| .  
 | |
|    ||   .       .   ||    |    .       .    |  . |    .       .    | .  
 | |
|    |>     image     <|    |      image      |  < |      image      | >  
 | |
|    ||   .       .   ||    |    .       .    |  . |    .       .    | .  
 | |
|    || .           . ||    | .             . |  . |.               .| .  
 | |
|    |+---------------+|    +-----------------+  ..+-----------------+..  
 | |
|    |                 |    |                 |    |                 |    
 | |
|    +--------^--------+    +-----------------+    +--------v--------+    
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  Note that if |clearance| is less than 0, the image will take up more
 | |
|  space than the containing cell, |\imagecell{..}| will not clip 
 | |
|  its content and the whole image surface will be shown. If clipping is 
 | |
|  needed then use |clipcell| environment as a container.
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|    +-----------------+ - - caption cell size
 | |
|    .                 .       .
 | |
|    +-----------------+       .
 | |
|    |                 |       . 
 | |
|  ..+-----------------+..  .  +
 | |
|  . |.caption cell   .| .     |
 | |
|  . |    .       .    | .     |
 | |
|  . |        .        | .     | 
 | |
|  . |    .       .    | .     |
 | |
|  . |.               .| .     |
 | |
|  ..+-----------------+..  .  +
 | |
|    |                 |    
 | |
|    +-----------------+    
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  |<caption-cell>| occupies the same space as the image clipped by the 
 | |
|  containing cell and provides all the cell functionality.
 | |
|  If |captionclearparent| is set, the |<caption-cell>| will fit into an 
 | |
|  intersection between the image area and the parent cell padded by 
 | |
|  |captionclearparent|.
 | |
|  This will write image path, page and size to |\jobname|.image-list, 
 | |
|  this is useful for final image pre-press. 
 | |
|  To disable image list set:
 | |
| \begin{verbatim} \writeimagelistfalse \end{verbatim}
 | |
|  \DescribeMacro{\captioncell\{..\}}
 | |
|  Caption cell
 | |
|  Placement:
 | |
| \begin{verbatim} \captioncell[<position>]{<caption>} \end{verbatim}
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|      over            
 | |
|    +-----------------+
 | |
|    | top             |
 | |
|    |                 |
 | |
|    |                 |
 | |
|    |                 |
 | |
|    | center          |
 | |
|    |                 |
 | |
|    |                 |
 | |
|    |                 |
 | |
|    | bottom          |
 | |
|    +-----------------+
 | |
|      under           
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  Default:
 | |
| \begin{verbatim} \captioncell{<caption>} \end{verbatim}
 | |
| \begin{verbatim} \captioncell[top]{<caption>} \end{verbatim}
 | |
| \begin{verbatim} \captioncell[center]{<caption>} \end{verbatim}
 | |
| \begin{verbatim} \captioncell[bottom]{<caption>} \end{verbatim}
 | |
| \begin{verbatim} \captioncell[over]{<caption>} \end{verbatim}
 | |
| \begin{verbatim} \captioncell[under]{<caption>} \end{verbatim}
 | |
|  Horizontal alignment
 | |
| \begin{verbatim} \captioncell[align=<mode>]{<caption>} \end{verbatim}
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|    +-----------------+    +-----------------+    +-----------------+
 | |
|    |flushleft        |    |     center      |    |       flushright|
 | |
|    |                 |    |                 |    |                 |
 | |
|    |                 |    |                 |    |                 |
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  Default:
 | |
| \begin{verbatim} \captioncell{<caption>} \end{verbatim}
 | |
| \begin{verbatim} \captioncell[align=flushleft]{<caption>} \end{verbatim}
 | |
| \begin{verbatim} \captioncell[align=center]{<caption>} \end{verbatim}
 | |
| \begin{verbatim} \captioncell[align=flushright]{<caption>} \end{verbatim}
 | |
|  Note that a caption cell does not take up any space in the parent cell
 | |
|  so multiple captions can be used in combination with other elements.
 | |
|  Note that caption cells currently do not play well with other content
 | |
|  in the same cell that takes up space, e.g. text, pictures, ...etc.
 | |
|  Captions are mainly suited to play well with image cells.
 | |
|  \DescribeMacro{\vcaptioncell\{..\}}
 | |
|  Vertical caption cell
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|    (topdown)                   (bottomup)
 | |
|      +-----------------+         +-----------------+
 | |
|    b | l      c      r | a       |                 |
 | |
|    e | e      e      i | f       |                 |
 | |
|    f | f      n      g | t       |                 |
 | |
|    o | t      t      h | e     e |        r        |
 | |
|    r |        e      t | r     r |        e      t | r
 | |
|    e |        r        |       o | t      t      h | e
 | |
|      |                 |       f | f      n      g | t
 | |
|      |                 |       e | e      e      i | f
 | |
|      |                 |       b | l      c      r | a
 | |
|      +-----------------+         +-----------------+
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  See samples for better illustration.
 | |
|  \DescribeMacro{\rcaptioncell\{..\}}
 | |
|  \EXPERIMENTAL
 | |
|  Upside-down caption cell.
 | |
|  \DescribeMacro{\captionblockcell\{..\}}
 | |
|  Add caption into a box left/right of current cell.
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|     celloffsetleft                celloffsetleft
 | |
|    <------->                     v 
 | |
|    .        <-------------->     .<-------------> cellwidth
 | |
|    <------------------------>    <------------------------> cellparentwidth
 | |
|    .       ..              ..    ..             .         .
 | |
|    +------------------------+    +------------------------+ 
 | |
|    |                        |    |                        | 
 | |
|    |                        |    |                        | 
 | |
|    |+-------++ - - - - - - +|    |+ - - - - - - ++-------+| 
 | |
|    ||       |.             .|    |.             .|       || 
 | |
|    ||       |.             .|    |.             .|       || 
 | |
|    ||  cap. |.     cell    .|    |.    cell     .|  cap. || 
 | |
|    ||       |.             .|    |.             .|       || 
 | |
|    ||       |.             .|    |.             .|       || 
 | |
|    |+-------++ - - - - - - +|    |+ - - - - - - ++-------+| 
 | |
|    |                        |    |                        | 
 | |
|    |                        |    |                        | 
 | |
|    +------------------------+    +------------------------+ 
 | |
|    <> clearcaption                              ..       <> clearcaption
 | |
|             <> spacing                          <> spacing
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
| \subsection{Paper cells}\label{subsec:Paper cells}
 | |
|  Paper and page cells are very similar but differ in one aspect -- paper
 | |
|  cells represent the paper as indicated by |layoutmode=<layout>| while
 | |
|  page cells are always the size of the page block, i.e. |layoutmode=block|.
 | |
|  \DescribeEnv{papercell}
 | |
|  Paper cell.
 | |
|  This does not include bleeds.
 | |
|  \DescribeEnv{paperbleedcell}
 | |
|  Paper bleed cell.
 | |
|  Like |papercell| but includes bleeds.
 | |
| \subsection{Page cells}\label{subsec:Page cells}
 | |
|  Page cells always correspond to the page block size, i.e. |layoutmode=block| 
 | |
|  regardless of the actual |layoutmode| set currently.
 | |
|  \DescribeEnv{pagecell}
 | |
|  \DescribeEnv{pagecell*}
 | |
|  Page cell. 
 | |
|  This corresponds to the visible page in the |layoutmode=block| and 
 | |
|  does not include bleeds.
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|    <-> bleed         <-> bleed
 | |
|    + - - - - - - - - - +    + bleed
 | |
|    . +---------------+ .    v
 | |
|    . |               | .   
 | |
|    . |               | .   
 | |
|    . |   pagecell    | .   
 | |
|    . |               | .   
 | |
|    . |               | .   
 | |
|    . +---------------+ .    + bleed
 | |
|    + - - - - - - - - - +    v
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  The star version accounts for |\bindingoffset|. 
 | |
|  Note that |layoutmode|'s other than block will change the paper size 
 | |
|  but will not affect this either in size (block size) or in position 
 | |
|  (top-left).
 | |
|  \DescribeEnv{pagebleedcell}
 | |
|  Like |page| but includes bleeds.
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|    <-> bleed         <-> bleed
 | |
|    +-------------------+    + bleed  
 | |
|    | + - - - - - - - + |    v        
 | |
|    | .               . |             
 | |
|    | .               . |             
 | |
|    | . pagebleedcell . |             
 | |
|    | .               . |             
 | |
|    | .               . |             
 | |
|    | + - - - - - - - + |    + bleed  
 | |
|    +-------------------+    v        
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  Note that as with |pagecell| this is not affected by |layoutmode|.
 | |
|  \DescribeEnv{textcell}
 | |
|  \EXPERIMENTAL
 | |
|  A cell taking up the page text block.
 | |
| \begin{verbatim} \begin{textcell}{<width>}{<height>} ... \end{textcell} \end{verbatim}
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|       <-----------> \textwidth
 | |
|    <-----------------> \pageblockwidth
 | |
|    +-----------------+   ^ \pageblockheight
 | |
|    |                 |   |
 | |
|    |  +-----------+  |   |  ^ \textheight
 | |
|    |  |           |  |   |  |
 | |
|    |  |           |  |   |  |
 | |
|    |  | textcell  |  |   |  |
 | |
|    |  |           |  |   |  |
 | |
|    |  |           |  |   |  |
 | |
|    |  +-----------+  |   |  v
 | |
|    |                 |   | 
 | |
|    +-----------------+   v 
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  Note that this is an inline cell and if something is on the page it 
 | |
|  may not be centered properly.
 | |
| \subsection{Foldout page cells}\label{subsec:Foldout page cells}
 | |
|  \EXPERIMENTAL
 | |
|  A foldout is a special case cell that changes the page format. 
 | |
|  In addition to cell lengths a foldout defines a set of additional 
 | |
|  lengths and lists within its context.
 | |
|  \DescribeMacro{\pagefoldpanels=<list>}
 | |
|  \DescribeMacro{\pagefoldpanelfolds=<list>}
 | |
|  Lists page folded panel widths and fold types respectively.
 | |
|  |pagefoldpanels| is set automatically for layouts other than |block| 
 | |
|  and for foldout pages, changing this can mess up fold markers and 
 | |
|  page cell placement.
 | |
|  |pagefoldpanelfolds| is generated when creating a foldout.
 | |
|  See:
 | |
|  \href{https://ctan.altspu.ru/macros/generic/listofitems/listofitems-en.pdf}{listofitems}
 | |
|  for list API.
 | |
|  \DescribeMacro{\foldoutwidth=<len>}
 | |
|  Total foldout page width, calculated when a foldout page is created.
 | |
|  \DescribeEnv{foldout}
 | |
|  Create 2 or more pages in foldout mode.
 | |
| \begin{verbatim} \begin{foldout}[<fold-spec>] ... \end{foldout} \end{verbatim}
 | |
|  |<fold-spec>| can be a number of folds, or contain one or more fold 
 | |
|  types (|in| or |out|), two or more panel widths (dimensions) or a
 | |
|  sequence of both (i.e. dim fold dim ...) where missing widths are 
 | |
|  automatically calculated and missing folds are the same as the previous
 | |
|  fold or the default if no folds are specified.
 | |
|  If not |<fold-spec>| is given, then the value of |\defaultfoldout| is
 | |
|  used (default: |2|).
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|                             v    \flatfold    v
 | |
|        - --=----------------++---------------++--------------+
 | |
|            =                ..               ..              |
 | |
|            =                ..               ..              |
 | |
|            =                ..               ..              |
 | |
|            =                ..               ..              |
 | |
|            =                ..               ..              |
 | |
|            =                ..               ..              |
 | |
|            =                ..               ..              |
 | |
|            =                ..               ..              |
 | |
|            =                ..               ..              |
 | |
|            =            (1) ..           (2) ..          (3) |
 | |
|        - --=----------------++---------------++--------------+
 | |
|   +--------------++---------------++----------------=-- -
 | |
|   |              ..               ..                =
 | |
|   |              ..               ..                =
 | |
|   |              ..               ..                =
 | |
|   |              ..               ..                =
 | |
|   |              ..               ..                =
 | |
|   |              ..               ..                =
 | |
|   |              ..               ..                =
 | |
|   |              ..               ..                =
 | |
|   |              ..               ..                =
 | |
|   |          (1) ..           (2) ..            (3) =
 | |
|   +--------------++---------------++----------------=-- -
 | |
|                  ^    \flatfold    ^
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  A foldout always starts on the right/odd page and will always end on 
 | |
|  the left/even page. 
 | |
|  If |\foldoutpages{..}| is called on an even page, an empty normal 
 | |
|  page will be created pushing the foldout to the right page of the 
 | |
|  spread. If an odd number of pages is created the set will be padded 
 | |
|  with an empty page before |\foldoutpages{..}| exits.
 | |
|  Foldout panel numbering
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|                  right page
 | |
|            - --=-------+-------+-    --+-------+-------+
 | |
|                =       |       |       |       |       |
 | |
|                =  (1)  |  (2)  |  ...  | (n-1) |  (n)  |
 | |
|                =       |       |       |       |       |
 | |
|            - --=-------+-------+--    -+-------+-------+
 | |
|                                  left page
 | |
|    +-------+-------+-    --+-------+-------=-- -
 | |
|    |       |       |       |       |       =
 | |
|    |  (1)  |  (2)  |  ...  | (n-1) |  (n)  =
 | |
|    |       |       |       |       |       =
 | |
|    +-------+-------+--    -+-------+-------=-- -
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  Formal |<fold-spec>| grammar:
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|    <fold-spec> ::
 | |
|        <count>
 | |
|        | <fold>
 | |
|        | <panels>
 | |
|    <panels> ::=
 | |
|        <panel>
 | |
|        | <panel> <panels>
 | |
|    <panel> ::=
 | |
|        <width> <fold>
 | |
|        | <width>
 | |
|        | <fold>
 | |
|    <fold> ::= 
 | |
|       in | out
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  \DescribeMacro{\clearfoldoutbinding=<len>}
 | |
|  \DescribeMacro{\clearfoldoutedge=<len>}
 | |
|  \DescribeMacro{\clearfoldoutfold=<len>}
 | |
|  Fold panel sizing for similar fold sequence:
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|                        \clearfoldoutedge <->
 | |
|                     \clearfoldoutfold <->  
 | |
|    <--> \clearfoldoutbinding
 | |
|                                                     (3)  /\  (2)  
 | |
|       +---------------------------------+               /  \     
 | |
|       +-------------------------------  |                  /     
 | |
|    -------------------------------------+                 /  (1) 
 | |
|    ========================================         =====+=====  
 | |
|    ========================================        
 | |
|  \end{verbatim}                                  
 | |
|  \end{minipage}                                  
 | |
|  Note that |in in| fold sequence is drawn, |out out| is identical in 
 | |
|  sizing but reflectd.
 | |
|  Fold panel sizing for dissimilar fold sequence:
 | |
|  \begin{minipage}{\textwidth}                    
 | |
|  \begin{verbatim}                                
 | |
|                       \clearfoldoutedge <->                /      
 | |
|    <--> \clearfoldoutbinding                         (3)  /       
 | |
|                                                           \       
 | |
|       +----------------------------------                  \  (2) 
 | |
|       +---------------------------------+                  /      
 | |
|    -------------------------------------+                 /  (1)  
 | |
|    ========================================         =====+=====   
 | |
|    ========================================
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  |in out| is drawn, |out it| is the same but reflected.
 | |
|  The size of the paper fold is set by |\flatfold|.
 | |
|  \DescribeEnv{foldoutcell}
 | |
|  \DescribeEnv{foldoutcell*}
 | |
|  Create a cell spanning one or more foldout panels.
 | |
| \begin{verbatim} \begin{foldoutcell}[<num>] ... \end{foldoutcell} \end{verbatim}
 | |
| \begin{verbatim} \begin{foldoutcell}[<from>-<to>] ... \end{foldoutcell} \end{verbatim}
 | |
|  If no arguments are given this will create a panel at |foldoutpanel| 
 | |
|  counter and increment it by one. 
 | |
| \begin{verbatim} \begin{foldoutcell} ... \end{foldoutcell} \end{verbatim}
 | |
|  This will also auto-advance the page when all panels are filled.
 | |
|  Note that manual panel placement has no effect on the panel counter 
 | |
|  thus care must be taken when mixing manual and auto-advanced panels.
 | |
|  Also note that |foldoutpanel|'s value is not maintained within manually 
 | |
|  placed panels and should be treated as undefined.
 | |
|  |foldoutcell*| is the same as the non-star version but creates cells
 | |
|  including bleeds.
 | |
|  Neither version clips its content, to explicitly clip use the |cliptocell| 
 | |
|  environment.
 | |
|  These can only be used from within a |foldout| cell.
 | |
| \subsection{Multi-page cells}\label{subsec:Multi-page cells}
 | |
|  \DescribeEnv{spreadtopages}
 | |
|  \DescribeEnv{spreadtopages*}
 | |
|  \DescribeMacro{\usespreadpage\{..\}}
 | |
|  \DescribeMacro{\usespreadpage*\{..\}}
 | |
|  Spread cell into pages.
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|    +----------------------------------- -                 
 | |
|    |                                                      <-- input cell
 | |
|    |          .          .          .                     
 | |
|    |     Oversized content cell...                        
 | |
|    |          .          .          .                     
 | |
|    |                                                      
 | |
|    +----------.----------.----------.-- -                 
 | |
|    .          . .         . .         .  .
 | |
|    .          .   .         .   .         .    .         
 | |
|    +----------+    +----------+    +----------+    +-- -  
 | |
|    |          |    |          |    |          |    |      <-- output pages
 | |
|    |          |    |          |    |          |    |      
 | |
|    |     Overs|    |ized conte|    |nt cell...|    |      
 | |
|    |          |    |          |    |          |    |      
 | |
|    |          |    |          |    |          |    |    
 | |
|    +----------+    +----------+    +----------+    +-- -
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  |spreadtopages| creates a cell and spreads it into pages right away.
 | |
| \begin{verbatim} \begin{spreadtopages} .. \end{spreadtopages} \end{verbatim}
 | |
| \begin{verbatim} \begin{spreadtopages}[<page-count>] .. \end{spreadtopages} \end{verbatim}
 | |
|  |spreadtopages*| creates a named save cell only allowing the pages 
 | |
|  to be placed manually via |\usespreadpage{..}|.
 | |
| \begin{verbatim} \begin{spreadtopages*}{<name>} .. \end{spreadtopages*} \end{verbatim}
 | |
| \begin{verbatim} \begin{spreadtopages*}[<page-count>]{<name>} .. \end{spreadtopages*} \end{verbatim}
 | |
|  |\usespreadpage{..}| places a page from a saved cell.
 | |
| \begin{verbatim} \usespreadpage{<name>} \end{verbatim}
 | |
| \begin{verbatim} \usespreadpage[<page-num>]{<name>} \end{verbatim}
 | |
|  |\usespreadpage*{..}| is the same as the non-star version but will 
 | |
| 	not use a |page| environment, enabling the user to populate the page
 | |
| 	with other elements.
 | |
|  Page numbers are 1-based.
 | |
|  Note that the cell created by |spreadtopages*| env is a normal save 
 | |
|  cell and can be manipulated via |\usecell{..}| and |\usecell*{..}|.
 | |
| \subsection{Endpaper cells}\label{subsec:Endpaper cells}
 | |
|  \DescribeEnv{leftside}
 | |
|  \DescribeEnv{rightside}
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|    +---------------+---------------+
 | |
|    |               |               |
 | |
|    |               |               |
 | |
|    |   leftside    |   rightside   |
 | |
|    |               |               |
 | |
|    |               |               |
 | |
|    +---------------+---------------+
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
| \subsection{Cover and dust jacket cells}\label{subsec:Cover and dust jacket cells}
 | |
|  \DescribeEnv{frontcover}
 | |
|  \DescribeEnv{backcover}
 | |
|  \DescribeEnv{spine}
 | |
|  \DescribeEnv{vspine}
 | |
|  \DescribeEnv{frontflap}
 | |
|  \DescribeEnv{backflap}
 | |
|  Covers and dust jackets differ only in that covers do not {usually} 
 | |
|  have flaps.
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|    backflap         spine/vspine           frontflap
 | |
|      .    backcover      .   frontcover      .
 | |
|      v     v             v     v             v
 | |
|    +---+---------------+---+---------------+---+               
 | |
|    |   |               |   |               |   |
 | |
|    |   |               |   |               |   |
 | |
|    |   |     Back      |   |     Front     |   |
 | |
|    |   |               |   |               |   |
 | |
|    |   |               |   |               |   |
 | |
|    +---+---------------+---+---------------+---+               
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  Note that when typesetting a spine with both top-down and bottom-up 
 | |
|  text it is recommended to use |topdown|/|bottomup| in |zinlinecell|'s 
 | |
|  in a normal |spine| rather than using a |vspine| and trying to rotate 
 | |
|  part of the content.
 | |
| \section{Caption Templates}\label{sec:Caption Templates}
 | |
|  \DescribeMacro{\captionsize\{..\}}
 | |
|  Defines the caption font.
 | |
|  Can be redefined to control caption font/style.
 | |
|  \DescribeMacro{\captionformat\{..\}}
 | |
|  General caption format.
 | |
| \begin{verbatim} \captionformat{<code>} \end{verbatim}
 | |
|  This can be redefined to control the image caption.
 | |
| \section{Page Templates}\label{sec:Page Templates}
 | |
|  This section contains a set of predefined configurable single-page
 | |
|  templates.
 | |
|  Note that most page templates do not |\clearpage| before expanding, 
 | |
|  this enables one to prepend elements (like pdf comments), if clearing 
 | |
|  a page is required add |\clearpage| manually before the template.
 | |
| \subsection{Basic book information}\label{subsec:Basic book information}
 | |
|  \DescribeMacro{BookTitle=<text>}
 | |
|  \DescribeMacro{BookVersion=<text>}
 | |
|  \DescribeMacro{BookAuthors=<text>}
 | |
|  \DescribeMacro{BookYear=<text>}
 | |
|  \DescribeMacro{ByNotice=<text>}
 | |
|  \DescribeMacro{ThanksTo=<text>}
 | |
|  \DescribeMacro{ISBN=<text>}
 | |
|  \DescribeMacro{BookEdition=<text>}
 | |
|  \DescribeMacro{License=<text>}
 | |
|  \DescribeMacro{CopyrightNotice=<text>}
 | |
|  \DescribeMacro{OtherSoftware=<text>}
 | |
|  \DescribeMacro{BookFonts=<text>}
 | |
|  \DescribeMacro{SoftwareNotice=<text>}
 | |
|  These provide the default information used by the |\BookInfoPage| and
 | |
|  |\BookSoftwareInfoPage|.
 | |
|  \DescribeMacro{\BookInfoPage}
 | |
|  Generate book information page. 
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|    +---------------+
 | |
|    |               |
 | |
|    |               |
 | |
|    |               |
 | |
|    | copyright     |
 | |
|    | ISBN          |
 | |
|    | info          |
 | |
|    +---------------+
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  This page is {\it usually} included near the start of the book, before
 | |
|  any of the logical sections of the book start, {\it usually} just after
 | |
|  the title pages but before any of the epigraphs, forewords, TOCs and 
 | |
|  prefaces. This can also in some cases be pushed to the rear of the book.
 | |
|  \DescribeMacro{\BookSoftwareInfoPage}
 | |
|  Generate software info page.
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|    +---------------+
 | |
|    |               |
 | |
|    |               |
 | |
|    |               |
 | |
|    |               |
 | |
|    |               |
 | |
|    | notice        |
 | |
|    +---------------+
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  This page if present is usually placed at the very rear of the book.
 | |
|  \DescribeMacro{\BookFullInfoPage}
 | |
|  This page combines the |\BookInfoPage| and |\BookSoftwareInfoPage| 
 | |
|  information into a single page.
 | |
| \subsection{Tweaking}\label{subsec:Tweaking}
 | |
|  Most page/spread templates provide an ability to externally "tweak" 
 | |
|  some image proportions.
 | |
|  This is an alternative means to setting template properties, e.g:
 | |
|  \begin{verbatim}
 | |
| 		\tweakimagescale{0.8}
 | |
| 		\ImagePage{image}
 | |
|  \end{verbatim}
 | |
|  Is equivalent to:
 | |
| \begin{verbatim} \ImagePage[scale=0.8]{image} \end{verbatim}
 | |
|  Tweaks get reset after each template.
 | |
|  \DescribeMacro{\imagescale=<num>}
 | |
|  \DescribeMacro{\imageoffsettop=<len>}
 | |
|  \DescribeMacro{\imageoffsetleft=<len>}
 | |
|  Tweak next image templates scale/offsettop/offsetleft
 | |
|  Note that |\imagescale| is not a length.
 | |
| \begin{verbatim} \edef\imagescale{<scale>} \end{verbatim}
 | |
| \begin{verbatim} \setlength\imageoffsettop{<len>} \end{verbatim}
 | |
| \begin{verbatim} \setlength\imageoffsetleft{<len>} \end{verbatim}
 | |
|  \DescribeMacro{\tweakimagescale\{..\}}
 | |
|  \DescribeMacro{\tweakimageoffsettop\{..\}}
 | |
|  \DescribeMacro{\tweakimageoffsetleft\{..\}}
 | |
|  Convenience commands
 | |
|  These provide a uniform interface for tweaking.
 | |
| \begin{verbatim} \tweakimagescale{<scale>} \end{verbatim}
 | |
| \begin{verbatim} \tweakimageoffsettop{<len>} \end{verbatim}
 | |
| \begin{verbatim} \tweakimageoffsetleft{<len>} \end{verbatim}
 | |
|  \DescribeMacro{\resetimagetweaks\{..\}}
 | |
|  Reset tweaked values.
 | |
| \subsection{General interface}\label{subsec:General interface}
 | |
|  A templates provide a uniform interface consisting of several commands:
 | |
|  Base template command:
 | |
| \begin{verbatim} \<template-name>{<caption>}{<image>} \end{verbatim}
 | |
| \begin{verbatim} \<template-name>[<options>]{<caption>}{<image>} \end{verbatim}
 | |
|  |<options>| is the same as for |\imagecell{..}|.
 | |
|  Template-specific caption command:
 | |
| \begin{verbatim} \<template-name>Caption{<caption>} \end{verbatim}
 | |
|  This can be redefined to control typesetting the caption for all 
 | |
|  consecutive templates.
 | |
|  Reset template caption to default:
 | |
| \begin{verbatim} \reset<template-name>Caption \end{verbatim}
 | |
|  An equivalent to the non-star version but use the caption as-is:
 | |
| \begin{verbatim} \<template-name>*{<caption>}{<image>} \end{verbatim}
 | |
| \begin{verbatim} \<template-name>*[<options>]{<caption>}{<image>} \end{verbatim}
 | |
|  Note that thogh some template versions differ only in |<options>| 
 | |
|  defaults passed to |\imagecell{..}|, they are split to provide ability 
 | |
|  to configure the template defaults separately.
 | |
| \subsection{No bleed}\label{subsec:No bleed}
 | |
|  \DescribeMacro{\ImagePage\{..\}}
 | |
|  \DescribeMacro{\ImagePageCaption\{..\}}
 | |
|  \DescribeMacro{\resetImagePageCaption}
 | |
|  \DescribeMacro{\ImagePage*\{..\}}
 | |
| 	Basic image page
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|    +-----------------+
 | |
|    |                 |
 | |
|    | +-------------+ |
 | |
|    | | .         . | |
 | |
|    | |   .     .   | |
 | |
|    | |    image    | |
 | |
|    | |   .     .   | |
 | |
|    | | .         . | |
 | |
|    | +-------------+ |
 | |
|    |               c |
 | |
|    |                 |
 | |
|    +-----------------+
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  Create an image page:
 | |
|  Note that |\ImagePage{..}| only supports tweaking |scale|, this is 
 | |
|  intentional ad tweaking offset will mess up page alignment relative 
 | |
|  to other pages in a book.
 | |
|  \DescribeMacro{\ImagePageClear\{..\}}
 | |
|  \DescribeMacro{\ImagePageClearCaption\{..\}}
 | |
|  \DescribeMacro{\resetImagePageClearCaption}
 | |
|  \DescribeMacro{\ImagePageClear*\{..\}}
 | |
| \begin{verbatim} \ImagePageClear[<options>]{<caption>}{<image>} \end{verbatim}
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|     \clearimage      \clearimage
 | |
|     v                v
 | |
|    +-----------------+      +-----------------+  < \clearimage
 | |
|    |                 |      |  +-----------+  |   
 | |
|    |+---------------+|      |  | .       . |  |
 | |
|    || .           . ||      |  |  .     .  |  |
 | |
|    ||    .     .    ||      |  |   .   .   |  |
 | |
|    ||     image     ||      |  |   image   |  |
 | |
|    ||    .     .    ||      |  |   .   .   |  |
 | |
|    || .           . ||      |  |  .     .  |  |
 | |
|    |+---------------+|      |  | .       . |  |
 | |
|    |               c |      |  +-----------+  |
 | |
|    +-----------------+      +-----------------+  < \clearimage
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  Default image clearance is set by |\clearimage| global length.
 | |
|  This respects |\bindingoffset|.
 | |
|  \DescribeMacro{\ImagePageClear<D>\{..\}}
 | |
|  \DescribeMacro{\ImagePageClear<D>Caption\{..\}}
 | |
|  \DescribeMacro{\resetImagePageClear<D>Caption}
 | |
|  \DescribeMacro{\ImagePageClear<D>*\{..\}}
 | |
|  |<D>| can be one of T, B, L or R, for top, bottom, left and right 
 | |
|  respectively.
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|    +-----------------+    +-----------------+ 
 | |
|    | +-------------+ |    |                 |   
 | |
|    | | .         . | |    | c               | 
 | |
|    | |   .     .   | |    | +-------------+ | 
 | |
|    | |    image    | |    | | .         . | | 
 | |
|    | |   . (T) .   | |    | |   .     .   | | 
 | |
|    | | .         . | |    | |    image    | | 
 | |
|    | +-------------+ |    | |   . (B) .   | | 
 | |
|    |               c |    | | .         . | | 
 | |
|    |                 |    | +-------------+ | 
 | |
|    +-----------------+    +-----------------+ 
 | |
|    +-----------------+    +-----------------+ 
 | |
|    | +---------+     |    |     +---------+ | 
 | |
|    | |.       .|     |    |     |.       .| | 
 | |
|    | | .     . |     |    |     | .     . | | 
 | |
|    | |  .   .  |     |    |     |  .   .  | | 
 | |
|    | |  image  |     |    |     |  image  | | 
 | |
|    | |  .(L).  |     |    |     |  .(R).  | | 
 | |
|    | | .     . |     |    |     | .     . | | 
 | |
|    | |.       .|     |    |     |.       .| | 
 | |
|    | +---------+ c   |    |   c +---------+ | 
 | |
|    +-----------------+    +-----------------+ 
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
| \subsection{Partial bleed}\label{subsec:Partial bleed}
 | |
|  \DescribeMacro{\ImagePageFit\{..\}}
 | |
|  \DescribeMacro{\ImagePageFitCaption\{..\}}
 | |
|  \DescribeMacro{\resetImagePageFitCaption}
 | |
|  \DescribeMacro{\ImagePageFit*\{..\}}
 | |
|  Fit image into page...
 | |
| \begin{verbatim} \ImagePageFit[<options>]{<caption>}{<image>} \end{verbatim}
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|                                . . . . . . .
 | |
|    +-----------------+      +-----------------+
 | |
|    |                 |      |  |.         .|  |
 | |
|  . +-----------------+ .    |  | .       . |  |
 | |
|  . | .             . | .    |  |  .     .  |  |
 | |
|  . |    .       .    | .    |  |   .   .   |  |
 | |
|  . |      image      | .    |  |   image   |  |
 | |
|  . |    .       .    | .    |  |   .   .   |  |
 | |
|  . | .             . | .    |  |  .     .  |  |
 | |
|  . +-----------------+ .    |  | .       . |  |
 | |
|    |               c |      |  |.        c.|  |
 | |
|    +-----------------+      +-----------------+
 | |
|                                . . . . . . .
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  Default image clearance is set by |\bleed| global length.
 | |
|  If centered image fits vertically this will account for |\bindingoffset|.
 | |
|  \DescribeMacro{\ImagePageFit<D>\{..\}}
 | |
|  \DescribeMacro{\ImagePageFit<D>Caption\{..\}}
 | |
|  \DescribeMacro{\resetImagePageFit<D>Caption}
 | |
|  \DescribeMacro{\ImagePageFit<D>*\{..\}}
 | |
|  |<D>| can be one of T, B, L or R, for top, bottom, left and right 
 | |
|  respectively.
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|    . . . . . . . . . . . .  
 | |
|    . +-----------------+ .    +-----------------+
 | |
|    . |  .           .  | .    |                 |
 | |
|    . |     .     .     | .    |                 |
 | |
|    . |      image      | .    |                 |
 | |
|    . |     . (T) .     | .  . |-----------------| .
 | |
|    . |  .           .  | .  . |  .           .  | .
 | |
|    . |-----------------| .  . |     .     .     | .
 | |
|      |                 |    . |      image      | .
 | |
|      |                 |    . |     . (B) .     | .
 | |
|      |                 |    . |  .           .  | .
 | |
|      +-----------------+    . +-----------------+ .
 | |
|                             . . . . . . . . . . . .
 | |
|    . . . . . . . .                  . . . . . . . .
 | |
|    . +-----------------+      +-----------------+ .
 | |
|    . |.         .|     |      |     |.         .| .
 | |
|    . | .       . |     |      |     | .       . | .
 | |
|    . |  .     .  |     |      |     |  .     .  | .
 | |
|    . |   .   .   |     |      |     |   .   .   | .
 | |
|    . |   image   |     |      |     |   image   | .
 | |
|    . |   .(L).   |     |      |     |   .(R).   | .
 | |
|    . |  .     .  |     |      |     |  .     .  | .
 | |
|    . | .       . |     |      |     | .       . | .
 | |
|    . |.         .| c   |      |   c |.         .| .
 | |
|    . +-----------------+      +-----------------+ .
 | |
|    . . . . . . . .                  . . . . . . . .
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
| \subsection{Full bleed}\label{subsec:Full bleed}
 | |
|  \DescribeMacro{\ImagePageFill\{..\}}
 | |
|  \DescribeMacro{\ImagePageFillCaption\{..\}}
 | |
|  \DescribeMacro{\resetImagePageFillCaption}
 | |
|  \DescribeMacro{\ImagePageFill*\{..\}}
 | |
| 	Like |\ImagePage| but will fill page with image.
 | |
| \begin{verbatim} \ImagePageFill[<options>]{<caption>}{<image>} \end{verbatim}
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|    . . . . . . . . . . . . . . . . . . .
 | |
|    . .      +-----------------+      . .
 | |
|    .    .   |              c  |   .    .
 | |
|    .       .|                 |.       .
 | |
|    .        | .             . |        .
 | |
|    .        |    .       .    |        .
 | |
|    .        |      image      |        .
 | |
|    .        |    .       .    |        .
 | |
|    .        | .             . |        .
 | |
|    .       .|                 |.       .
 | |
|    .    .   |                 |   .    .
 | |
|    . .      +-----------------+      . .
 | |
|    . . . . . . . . . . . . . . . . . . .
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  Default image clearance is set by |\bleed| global length.
 | |
|  \DescribeMacro{\ImageHalfPageL\{..\}}
 | |
|  \DescribeMacro{\ImageHalfPageLCaption\{..\}}
 | |
|  \DescribeMacro{\resetImageHalfPageLCaption}
 | |
|  \DescribeMacro{\ImageHalfPageL*\{..\}}
 | |
|  Left half of image filling page with full bleed.
 | |
| \begin{verbatim} \imageleftspreadfullbleed[<vertical-offset>]{<caption>}{<image>} \end{verbatim}
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|   . . . . . . . . . . . . . 
 | |
|   . +-----------------=     
 | |
|   . |   .             =     
 | |
|   . |       .         =     
 | |
|   . |           .     =     
 | |
|   . |               . =     
 | |
|   . |               image
 | |
|   . |               . =     
 | |
|   . |           .     =     
 | |
|   . |       .         =     
 | |
|   . |   .           c =     
 | |
|   . +-----------------=     
 | |
|   . . . . . . . . . . . . . 
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  \DescribeMacro{\ImageHalfPageR\{..\}}
 | |
|  \DescribeMacro{\ImageHalfPageRCaption\{..\}}
 | |
|  \DescribeMacro{\resetImageHalfPageRCaption}
 | |
|  \DescribeMacro{\ImageHalfPageR*\{..\}}
 | |
|  Right half of image filling page with full bleed.
 | |
| \begin{verbatim} \imagerightspreadfullbleed[<vertical-offset>]{<caption>}{<image>} \end{verbatim}
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|   . . . . . . . . . . . . .
 | |
|       =-----------------+ .
 | |
|       =             .   | .
 | |
|       =         .       | .
 | |
|       =     .           | .
 | |
|       = .               | .
 | |
|     image               | .
 | |
|       = .               | .
 | |
|       =     .           | .
 | |
|       =         .       | .
 | |
|       =             . c | .
 | |
|       =-----------------+ .
 | |
|   . . . . . . . . . . . . .
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
| \section{Spread Templates}\label{sec:Spread Templates}
 | |
| \subsection{No bleed}\label{subsec:No bleed}
 | |
|  \DescribeMacro{\ImageSpread\{..\}}
 | |
|  \DescribeMacro{\ImageSpreadCaption\{..\}}
 | |
|  \DescribeMacro{\resetImageSpreadCaption}
 | |
|  \DescribeMacro{\ImageSpread*\{..\}}
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|     +---------------=---------------+ 
 | |
|     | +-------------=-------------+ | 
 | |
|     | |  .          =          .  | | 
 | |
|     | |      .      =      .      | | 
 | |
|     | |          .  =  .          | | 
 | |
|     | |           image           | | 
 | |
|     | |          .  =  .          | | 
 | |
|     | |      .      =      .      | | 
 | |
|     | |  .          =          .  | | 
 | |
|     | +-------------=-------------+ | 
 | |
|     +---------------=---------------+ 
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  \DescribeMacro{\ImageSpread<D>\{..\}}
 | |
|  \DescribeMacro{\ImageSpread<D>Caption\{..\}}
 | |
|  \DescribeMacro{\resetImageSpread<D>Caption}
 | |
|  \DescribeMacro{\ImageSpread<D>*\{..\}}
 | |
|  |<D>| can be one of T, B, L or R, for top, bottom, left and right 
 | |
|  respectively.
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|     +---------------=---------------+  +---------------=---------------+   
 | |
|     | +-------------=-------------+ |  |               =               |   
 | |
|     | |  .          =          .  | |  |  c            =               |   
 | |
|     | |       .     =     .       | |  | +-------------=-------------+ |   
 | |
|     | |           image           | |  | |  .          =          .  | |   
 | |
|     | |       .    (T)    .       | |  | |       .     =     .       | |   
 | |
|     | |  .          =          .  | |  | |           image           | |   
 | |
|     | +-------------=-------------+ |  | |       .    (B)    .       | |   
 | |
|     |               =            c  |  | |  .          =          .  | |   
 | |
|     |               =               |  | +-------------=-------------+ |   
 | |
|     +---------------=---------------+  +---------------=---------------+   
 | |
|     +---------------=---------------+  +---------------=---------------+ 
 | |
|     | +-------------=---------+     |  |     +---------=-------------+ | 
 | |
|     | |  .          =      .  |     |  |     |  .      =          .  | | 
 | |
|     | |     .       =   .     |     |  |     |     .   =       .     | | 
 | |
|     | |        .    =.        |     |  |     |        .=    .        | | 
 | |
|     | |         image         |     |  |     |         image         | | 
 | |
|     | |        . (L)=.        |     |  |     |        .=(R) .        | | 
 | |
|     | |     .       =   .     |     |  |     |     .   =       .     | | 
 | |
|     | |  .          =      .  |     |  |     |  .      =          .  | | 
 | |
|     | +-------------=---------+ c   |  |   c +---------=-------------+ | 
 | |
|     +---------------=---------------+  +---------------=---------------+ 
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
| \subsection{Partial bleed}\label{subsec:Partial bleed}
 | |
|  \DescribeMacro{\ImageSpreadFit\{..\}}
 | |
|  \DescribeMacro{\ImageSpreadFitCaption\{..\}}
 | |
|  \DescribeMacro{\resetImageSpreadFitCaption}
 | |
|  \DescribeMacro{\ImageSpreadFit*\{..\}}
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|                                                   . . . . . . . . . . .
 | |
|      +---------------=---------------+      +---------------=---------------+  
 | |
|      |               =               |      |     |.        =        .|.    |  
 | |
|    . |---------------=---------------| .    |     |  .      =      .  |     |  
 | |
|    . |    .          =          .    | .    |     |    .    =    .    |     |  
 | |
|    . |         .     =     .         | .    |     |      .  =  .      |     |  
 | |
|    . |             image             | .    |     |       image       |     |  
 | |
|    . |         .     =     .         | .    |     |      .  =  .      |     |  
 | |
|    . |    .          =          .    | .    |     |    .    =    .    |     |  
 | |
|    . |---------------=---------------| .    |     |  .      =      .  |     |  
 | |
|      |               =             c |      |     |.        =        .| c   |  
 | |
|      +---------------=---------------+      +---------------=---------------+  
 | |
|                                                   . . . . . . . . . . .
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
|  \DescribeMacro{\ImageSpread<D>\{..\}}
 | |
|  \DescribeMacro{\ImageSpread<D>Caption\{..\}}
 | |
|  \DescribeMacro{\resetImageSpread<D>Caption}
 | |
|  \DescribeMacro{\ImageSpread<D>*\{..\}}
 | |
|  Image spread aligned left (with bleed).
 | |
| \begin{verbatim} \ImageSpread<D>[<options>]{<caption>}{<image>} \end{verbatim}
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|   . . . . . . . . . . . . . . . . . . .           
 | |
|   . +---------------=---------------+ .    +---------------=---------------+  
 | |
|   . |   .           =           .   | .    | c             =               |  
 | |
|   . |       .       =       .       | .  . |---------------=---------------| .
 | |
|   . |           .   =   .           | .  . |   .           =           .   | .
 | |
|   . |             image             | .  . |       .       =       .       | .
 | |
|   . |           .  (T)   .          | .  . |           .   =   .           | .
 | |
|   . |       .       =       .       | .  . |             image             | .
 | |
|   . |   .           =           .   | .  . |           .  (B)  .           | .
 | |
|   . |---------------=---------------| .  . |       .       =       .       | .
 | |
|     |               =             c |    . |   .           =           .   | .
 | |
|     +---------------=---------------+    . +---------------=---------------+ .
 | |
|                                          . . . . . . . . . . . . . . . . . . .
 | |
|   . . . . . . . . . . . . . . . .              . . . . . . . . . . . . . . . .
 | |
|   . +---------------=---------------+      +---------------=---------------+ .
 | |
|   . | .             =         . |   |      |   | .         =             . | .
 | |
|   . |    .          =      .    |   |      |   |    .      =          .    | .
 | |
|   . |       .       =   .       |   |      |   |       .   =       .       | .
 | |
|   . |          .    =.          |   |      |   |          .=   .           | .
 | |
|   . |           image           |   |      |   |          image            | .
 | |
|   . |          . (L)=.          |   |      |   |          .(R) .           | .
 | |
|   . |       .       =   .       |   |      |   |       .   =       .       | .
 | |
|   . |    .          =      .    |   |      |   |    .      =          .    | .
 | |
|   . | .             =         . | c |      | c | .         =             . | .
 | |
|   . +---------------=---------------+      +---------------=---------------+ .
 | |
|   . . . . . . . . . . . . . . . .              . . . . . . . . . . . . . . . .
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
| \subsection{Full bleed}\label{subsec:Full bleed}
 | |
|  \DescribeMacro{\ImageSpreadFill\{..\}}
 | |
|  \DescribeMacro{\ImageSpreadFillCaption\{..\}}
 | |
|  \DescribeMacro{\resetImageSpreadFillCaption}
 | |
|  \DescribeMacro{\ImageSpreadFill*\{..\}}
 | |
|  Image spread with full bleed.
 | |
| \begin{verbatim} \ImageSpreadFill[<options>]{<caption>}{<image>} \end{verbatim}
 | |
|  \begin{minipage}{\textwidth}
 | |
|  \begin{verbatim}
 | |
|   . . . . . . . . . . . . . . . . . . .
 | |
|   . +---------------=---------------+ .
 | |
|   . |   .           =           .   | .
 | |
|   . |      .        =        .      | .
 | |
|   . |         .     =     .         | .
 | |
|   . |            .  =  .            | .
 | |
|   . |             image             | .
 | |
|   . |            .  =  .            | .
 | |
|   . |         .     =     .         | .
 | |
|   . |      .        =        .      | .
 | |
|   . |   .           =           . c | .
 | |
|   . +---------------=---------------+ .
 | |
|   . . . . . . . . . . . . . . . . . . .
 | |
|  \end{verbatim}
 | |
|  \end{minipage}
 | |
| \section{Meta Macros / Environments}\label{sec:Meta Macros / Environments}
 | |
|  These macros and environments are used internally to help define cells
 | |
|  and templates and thus can be useful when extending the functionality 
 | |
|  of this class both when authoring styles and when creating user 
 | |
|  macros/templates.\footnote{%
 | |
|  		Note that in code the relevant meta-macros are defined in the logical 
 | |
|  		locations for each macro, i.e. before first use and at the start of 
 | |
|  		the relevant context. This section in the reference is placed near 
 | |
|  		the end so as to focus the user's attention on the main class interface,
 | |
|  		class internal architecture and extension API being secondary.}
 | |
|  \input{\jobname-meta}
 | |
| \section{Miscellaneous}\label{sec:Miscellaneous}
 | |
|  \DescribeMacro{\PageInfo}
 | |
|  Display basic paper / page / cell geometry.
 | |
|  \DescribeMacro{\GenerateTemplate\{..\}}
 | |
|  Generate template page for current |layoutmode|.
 | |
| \begin{verbatim} \GenerateTemplate \end{verbatim}
 | |
|  Cell size can be printed in |mm| (default) or in any explicit unit 
 | |
|  supported by \LaTeX.
 | |
| \begin{verbatim} \GenerateTemplate{<unit>} \end{verbatim}
 | |
|  This can be useful if one needs to make the cover/jacket/... in either a 
 | |
|  different software package or by hand.
 | |
|  This is a no-op for |layoutmode=block|.
 | |
|  \DescribeMacro{\pdfboxesset\{..\}}
 | |
| \begin{verbatim} \pdfboxesset[<bleed>]{<bleedblockwidth>}{<bleedblockheight>} \end{verbatim}
 | |
|  \DescribeMacro{\pdfcommentcell\{..\}}
 | |
|  Add pdf comment as margin overlay.
 | |
| \begin{verbatim} \pdfcommentcell[<options>]{<comment>} \end{verbatim}
 | |
|  \DescribeMacro{\pdfpagecount\{..\}}
 | |
| 	Get pdf page count
 | |
| \begin{verbatim} \pdfpagecount{<file.pdf>} \end{verbatim}
 | |
|  \DescribeMacro{\pdfspinewidth\{..\}}
 | |
| 	Calculate spine thickness
 | |
| \begin{verbatim} \pdfspinewidth{<paper-thikness>}{<cover-thikness>}{<block-pdf>} \end{verbatim}
 | |
| % \printindex
 | |
| % XXX DEBUG...
 | |
| %\AtBeginDocument{
 | |
| %}
 | |
|  \blankfootnote{%
 | |
| 		Why ASCII diagrams instead of normal graphics, you might ask?
 | |
| 		Well, for the same reason as photo-books in \LaTeX\ -- I liked 
 | |
| 		the idea of it, the simplicity, and thought that it would be fun to 
 | |
| 		see how far can I push things before it all	falling apart on me, and... 
 | |
| 		We are here, at the end, and it all is still here too :)}
 | |
|  \end{document} %                         vim:set ts=4 sw=4 nowrap :
 |