mirror of
https://github.com/flynx/photobook.git
synced 2025-10-29 10:20:08 +00:00
template generation and testing...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
7cdad5f453
commit
cef9975d48
431
photobook.cls
431
photobook.cls
@ -23,23 +23,9 @@
|
|||||||
|
|
||||||
|
|
||||||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
% Class/package options...
|
||||||
|
|
||||||
\RequirePackage{calc}
|
|
||||||
\RequirePackage{xargs}
|
|
||||||
\RequirePackage{ifthen}
|
|
||||||
\RequirePackage{iftex}
|
|
||||||
\RequirePackage{kvoptions}
|
\RequirePackage{kvoptions}
|
||||||
\RequirePackage{etoolbox}
|
|
||||||
\RequirePackage{atbegshi}
|
|
||||||
\RequirePackage[unicode]{hyperref}
|
|
||||||
\RequirePackage{graphicx}
|
|
||||||
\RequirePackage{geometry}
|
|
||||||
\RequirePackage{eso-pic}
|
|
||||||
\RequirePackage[
|
|
||||||
overlay,absolute,
|
|
||||||
%showboxes,
|
|
||||||
]{textpos}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
@ -51,9 +37,8 @@
|
|||||||
|
|
||||||
|
|
||||||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
% options...
|
|
||||||
|
|
||||||
% mode...
|
% layout mode...
|
||||||
%
|
%
|
||||||
% - block (default):
|
% - block (default):
|
||||||
%
|
%
|
||||||
@ -170,22 +155,25 @@
|
|||||||
% spine width and spine fold...
|
% spine width and spine fold...
|
||||||
%
|
%
|
||||||
% NOTE: this is only used when layoutmode=cover
|
% NOTE: this is only used when layoutmode=cover
|
||||||
\DeclareStringOption[0]{spinewidth}[0]
|
\DeclareStringOption[0pt]{spinewidth}[0pt]
|
||||||
\DeclareStringOption[0]{spinefold}[7mm]
|
\DeclareStringOption[0pt]{spinefold}[7mm]
|
||||||
\DeclareStringOption[0]{coverboardgrow}[3mm]
|
\DeclareStringOption[0pt]{coverboardgrow}[3mm]
|
||||||
% XXX defaults should depend on cover type...
|
% XXX defaults should depend on cover type...
|
||||||
% XXX not implemented...
|
\DeclareStringOption[0pt]{coverflap}[17mm]
|
||||||
\DeclareStringOption[0]{coverflap}[17mm]
|
\DeclareStringOption[0pt]{jacketwrap}[2mm]
|
||||||
\DeclareStringOption[0]{jacketwrap}[2mm]
|
\DeclareStringOption[0pt]{jacketflap}[50mm]
|
||||||
\DeclareStringOption[0]{jacketflap}[50mm]
|
\DeclareStringOption[0pt]{jacketflapfront}[50mm]
|
||||||
%\DeclareStringOption{jacketflapfront}
|
\DeclareStringOption[0pt]{jacketflapback}[50mm]
|
||||||
%\DeclareStringOption{jacketflapback}
|
|
||||||
|
|
||||||
|
|
||||||
% pdf layout...
|
% pdf layout...
|
||||||
%
|
%
|
||||||
|
% defaults:
|
||||||
|
% - TwoColumnLeft (for layoutmode=block)
|
||||||
|
% - SinglePage
|
||||||
|
%
|
||||||
% see: hyperref's pdfpagelayout for more options...
|
% see: hyperref's pdfpagelayout for more options...
|
||||||
\DeclareStringOption[TwoPageRight]{pdfpagelayout}[TwoPageRight]
|
\DeclareStringOption{pdfpagelayout}
|
||||||
\@DeclareLiteralOptionTo{pdfpagelayout}{SinglePage}
|
\@DeclareLiteralOptionTo{pdfpagelayout}{SinglePage}
|
||||||
\@DeclareLiteralOptionTo{pdfpagelayout}{OneColumn}
|
\@DeclareLiteralOptionTo{pdfpagelayout}{OneColumn}
|
||||||
\@DeclareLiteralOptionTo{pdfpagelayout}{TwoColumnRight}
|
\@DeclareLiteralOptionTo{pdfpagelayout}{TwoColumnRight}
|
||||||
@ -260,17 +248,65 @@
|
|||||||
\ProcessKeyvalOptions*
|
\ProcessKeyvalOptions*
|
||||||
|
|
||||||
|
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
% Parent class...
|
% Parent class...
|
||||||
%
|
%
|
||||||
\LoadClass[9pt, final, openany]{book}
|
\LoadClass[9pt, final, openany]{book}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------
|
||||||
|
% Packages...
|
||||||
|
%
|
||||||
|
% NOTE: imports are after \LoadClass{ .. } to avoid figting over macro
|
||||||
|
% names...
|
||||||
|
|
||||||
|
\RequirePackage{calc}
|
||||||
|
\RequirePackage{xargs}
|
||||||
|
\RequirePackage{ifthen}
|
||||||
|
\RequirePackage{iftex}
|
||||||
|
\RequirePackage{etoolbox}
|
||||||
|
\RequirePackage{atbegshi}
|
||||||
|
\RequirePackage[unicode]{hyperref}
|
||||||
|
\RequirePackage{eso-pic}
|
||||||
|
\RequirePackage{graphicx}
|
||||||
|
\RequirePackage[
|
||||||
|
overlay,absolute,
|
||||||
|
%showboxes,
|
||||||
|
]{textpos}
|
||||||
|
\RequirePackage[linewidth=1pt]{mdframed}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%----------------------------------------------------------------------
|
%----------------------------------------------------------------------
|
||||||
% Globals...
|
% Globals...
|
||||||
|
|
||||||
\edef\layoutmode{\photobook@layoutmode}
|
\edef\layoutmode{\photobook@layoutmode}
|
||||||
|
|
||||||
|
|
||||||
|
% layout modes...
|
||||||
|
%
|
||||||
|
\newif\ifcoverlayout
|
||||||
|
\coverlayoutfalse
|
||||||
|
|
||||||
|
\newif\ifhardcoverlayout
|
||||||
|
\hardcoverlayoutfalse
|
||||||
|
|
||||||
|
\newif\ifsoftcoverlayout
|
||||||
|
\softcoverlayoutfalse
|
||||||
|
|
||||||
|
\newif\ifendpaperlayout
|
||||||
|
\endpaperlayoutfalse
|
||||||
|
|
||||||
|
\newif\ifjacketlayout
|
||||||
|
\jacketlayoutfalse
|
||||||
|
|
||||||
|
% agrigate...
|
||||||
|
\newif\ifcoverlikelayout
|
||||||
|
\coverlikelayoutfalse
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\newlength\spinewidth
|
\newlength\spinewidth
|
||||||
\setlength\spinewidth{\photobook@spinewidth}
|
\setlength\spinewidth{\photobook@spinewidth}
|
||||||
|
|
||||||
@ -280,6 +316,18 @@
|
|||||||
\newlength\coverboardgrow
|
\newlength\coverboardgrow
|
||||||
\setlength\coverboardgrow{\photobook@coverboardgrow}
|
\setlength\coverboardgrow{\photobook@coverboardgrow}
|
||||||
|
|
||||||
|
\newlength\coverflap
|
||||||
|
|
||||||
|
\newlength\jacketwrap
|
||||||
|
|
||||||
|
\newlength\jacketflap
|
||||||
|
|
||||||
|
\newlength\jacketflapfront
|
||||||
|
\setlength\jacketflapfront{\photobook@jacketflapfront}
|
||||||
|
|
||||||
|
\newlength\jacketflapback
|
||||||
|
\setlength\jacketflapback{\photobook@jacketflapback}
|
||||||
|
|
||||||
% NOTE: page and bleed block sizes are set via \RecalculatePageLengths
|
% NOTE: page and bleed block sizes are set via \RecalculatePageLengths
|
||||||
\newlength\blockwidth
|
\newlength\blockwidth
|
||||||
\newlength\blockheight
|
\newlength\blockheight
|
||||||
@ -288,6 +336,11 @@
|
|||||||
\newlength\bleedblockwidth
|
\newlength\bleedblockwidth
|
||||||
\newlength\bleedblockheight
|
\newlength\bleedblockheight
|
||||||
|
|
||||||
|
% 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...
|
||||||
\newlength\pageblockwidth
|
\newlength\pageblockwidth
|
||||||
\newlength\pageblockheight
|
\newlength\pageblockheight
|
||||||
|
|
||||||
@ -298,11 +351,10 @@
|
|||||||
\setlength\bindingoffset{\photobook@bindingoffset}
|
\setlength\bindingoffset{\photobook@bindingoffset}
|
||||||
|
|
||||||
% NOTE: since this can be any number but we need to detect if it was set
|
% NOTE: since this can be any number but we need to detect if it was set
|
||||||
% manually we'll set it to a really big and random not so random
|
% manually we'll set it to \maxdimen and hope noe will print
|
||||||
% prime and hope no will print something big enough and dare to use
|
% something big enough and dare to use it as image clearence...
|
||||||
% it as image clearence...
|
|
||||||
\newlength{\clearimage}
|
\newlength{\clearimage}
|
||||||
\setlength\clearimage{32553}
|
\setlength\clearimage{\maxdimen}
|
||||||
|
|
||||||
\edef\imageblockwidth{\photobook@imageblockwidth}
|
\edef\imageblockwidth{\photobook@imageblockwidth}
|
||||||
|
|
||||||
@ -316,6 +368,43 @@
|
|||||||
% Commands...
|
% Commands...
|
||||||
|
|
||||||
\newcommand\RecalculatePageLengths{
|
\newcommand\RecalculatePageLengths{
|
||||||
|
% layout bools...
|
||||||
|
\ifdefstring{\layoutmode}{cover}{
|
||||||
|
\coverlayouttrue
|
||||||
|
\coverlikelayouttrue }{}
|
||||||
|
\ifdefstring{\layoutmode}{hardcover}{
|
||||||
|
\hardcoverlayouttrue
|
||||||
|
\coverlikelayouttrue }{}
|
||||||
|
\ifdefstring{\layoutmode}{softcover}{
|
||||||
|
\softcoverlayouttrue
|
||||||
|
\coverlikelayouttrue }{}
|
||||||
|
\ifdefstring{\layoutmode}{jacket}{%
|
||||||
|
\jacketlayouttrue
|
||||||
|
\coverlikelayouttrue }{}
|
||||||
|
\ifdefstring{\layoutmode}{endpaper}{
|
||||||
|
\endpaperlayouttrue }
|
||||||
|
% pdf layout...
|
||||||
|
\ifx\photobook@pdfpagelayout\empty
|
||||||
|
\ifcoverlikelayout
|
||||||
|
\def\photobook@pdfpagelayout{SinglePage}
|
||||||
|
\else
|
||||||
|
\def\photobook@pdfpagelayout{TwoPageRight}
|
||||||
|
\fi
|
||||||
|
\fi
|
||||||
|
% items to ignore in different layouts...
|
||||||
|
% XXX is this the correct way to go???
|
||||||
|
\ifcoverlayout
|
||||||
|
\setlength\coverflap{\photobook@coverflap}
|
||||||
|
\else
|
||||||
|
\setlength\coverflap{0pt}
|
||||||
|
\fi
|
||||||
|
\ifjacketlayout
|
||||||
|
\setlength\jacketwrap{\photobook@jacketwrap}
|
||||||
|
\setlength\jacketflap{\photobook@jacketflap}
|
||||||
|
\else
|
||||||
|
\setlength\jacketwrap{0pt}
|
||||||
|
\setlength\jacketflap{0pt}
|
||||||
|
\fi
|
||||||
% block size...
|
% block size...
|
||||||
\ifnum\blockwidth=0
|
\ifnum\blockwidth=0
|
||||||
% layout: block...
|
% layout: block...
|
||||||
@ -330,7 +419,7 @@
|
|||||||
\fi}
|
\fi}
|
||||||
\setlength\pageblockwidth{\blockwidth}
|
\setlength\pageblockwidth{\blockwidth}
|
||||||
% layout: cover...
|
% layout: cover...
|
||||||
\ifdefstring{\layoutmode}{cover}{
|
\ifcoverlayout
|
||||||
\setlength\blockwidth{
|
\setlength\blockwidth{
|
||||||
\dimexpr
|
\dimexpr
|
||||||
2\blockwidth
|
2\blockwidth
|
||||||
@ -338,9 +427,9 @@
|
|||||||
+ 2\spinefold
|
+ 2\spinefold
|
||||||
+ 2\coverboardgrow
|
+ 2\coverboardgrow
|
||||||
+ 2\coverflap
|
+ 2\coverflap
|
||||||
\relax } }{}
|
\relax } \fi
|
||||||
% layout: jacket...
|
% layout: jacket...
|
||||||
\ifdefstring{\layoutmode}{jacket}{
|
\ifjacketlayout
|
||||||
\setlength\blockwidth{
|
\setlength\blockwidth{
|
||||||
\dimexpr
|
\dimexpr
|
||||||
2\blockwidth
|
2\blockwidth
|
||||||
@ -348,11 +437,11 @@
|
|||||||
+ 2\spinefold
|
+ 2\spinefold
|
||||||
+ 2\jacketwrap
|
+ 2\jacketwrap
|
||||||
+ 2\jacketflap
|
+ 2\jacketflap
|
||||||
\relax } }{}
|
\relax } \fi
|
||||||
% layout: endpaper...
|
% layout: endpaper...
|
||||||
\ifdefstring{\layoutmode}{endpaper}{
|
\ifendpaperlayout
|
||||||
\setlength\blockwidth{
|
\setlength\blockwidth{
|
||||||
2\blockwidth } }{}
|
2\blockwidth } \fi
|
||||||
\fi
|
\fi
|
||||||
\ifnum\blockheight=0
|
\ifnum\blockheight=0
|
||||||
% layout: block / endpaper...
|
% layout: block / endpaper...
|
||||||
@ -364,23 +453,23 @@
|
|||||||
\fi}
|
\fi}
|
||||||
\setlength\pageblockheight{\blockheight}
|
\setlength\pageblockheight{\blockheight}
|
||||||
% layout: cover...
|
% layout: cover...
|
||||||
\ifdefstring{\layoutmode}{cover}{
|
\ifcoverlayout
|
||||||
\setlength\blockheight{
|
\setlength\blockheight{
|
||||||
\dimexpr
|
\dimexpr
|
||||||
\blockheight
|
\blockheight
|
||||||
+ 2\coverboardgrow
|
+ 2\coverboardgrow
|
||||||
+ 2\coverflap
|
+ 2\coverflap
|
||||||
\relax } }{}
|
\relax } \fi
|
||||||
% layout: jacket...
|
% layout: jacket...
|
||||||
\ifdefstring{\layoutmode}{jacket}{
|
\ifjacketlayout
|
||||||
\setlength\blockheight{
|
\setlength\blockheight{
|
||||||
\dimexpr
|
\dimexpr
|
||||||
\blockheight
|
\blockheight
|
||||||
+ 2\coverboardgrow
|
+ 2\coverboardgrow
|
||||||
\relax } }{}
|
\relax } \fi
|
||||||
\fi
|
\fi
|
||||||
% default image clearence...
|
% default image clearence...
|
||||||
\ifdim\clearimage=32553
|
\ifdim\clearimage=\maxdimen
|
||||||
\ifx\photobook@clearimage\empty
|
\ifx\photobook@clearimage\empty
|
||||||
\setlength\clearimage{-\bleed}
|
\setlength\clearimage{-\bleed}
|
||||||
\else
|
\else
|
||||||
@ -406,16 +495,23 @@
|
|||||||
\relax} }
|
\relax} }
|
||||||
|
|
||||||
|
|
||||||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
% update global values...
|
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------
|
||||||
|
% Setup...
|
||||||
|
|
||||||
|
% init lengths...
|
||||||
\RecalculatePageLengths
|
\RecalculatePageLengths
|
||||||
|
|
||||||
|
% minimal geometry setup...
|
||||||
|
\RequirePackage[
|
||||||
|
% paper size (incl. bleeds)...
|
||||||
|
paperwidth=\bleedblockwidth, paperheight=\bleedblockheight,
|
||||||
|
]{geometry}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%----------------------------------------------------------------------
|
%----------------------------------------------------------------------
|
||||||
% Setup...
|
% Setup...
|
||||||
|
|
||||||
\AtEndPreamble{
|
\AtEndPreamble{
|
||||||
|
|
||||||
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
@ -504,10 +600,14 @@
|
|||||||
%----------------------------------------------------------------------
|
%----------------------------------------------------------------------
|
||||||
% Generic Commands....
|
% Generic Commands....
|
||||||
|
|
||||||
|
\def\@keywords{}
|
||||||
|
|
||||||
\newcommand\keywords[1]{%
|
\newcommand\keywords[1]{%
|
||||||
\def\@keywords{#1}}
|
\def\@keywords{#1}}
|
||||||
|
|
||||||
|
|
||||||
|
\def\@subject{}
|
||||||
|
|
||||||
\newcommand\subject[1]{%
|
\newcommand\subject[1]{%
|
||||||
\def\@subject{#1}}
|
\def\@subject{#1}}
|
||||||
|
|
||||||
@ -669,109 +769,176 @@
|
|||||||
\null
|
\null
|
||||||
\clearpage }
|
\clearpage }
|
||||||
|
|
||||||
% XXX TEST...
|
|
||||||
|
% cover-like layout components...
|
||||||
|
%
|
||||||
|
% XXX BUG: when \jacketwrap is 0 flaps ans covers overlap...
|
||||||
|
% XXX BUG: the visible page height seems to be a bit less than \cellheight...
|
||||||
|
%
|
||||||
% XXX should this be full size of block or \textwidth???
|
% XXX should this be full size of block or \textwidth???
|
||||||
% XXX make minipage cetering configurable...
|
% XXX make minipage cetering configurable...
|
||||||
% XXX need to reserve the page for these, i.e. add:
|
\ifcoverlikelayout
|
||||||
% \null
|
|
||||||
% \clearpage
|
\newlength\cellwidth
|
||||||
% but only once...
|
\newlength\cellheight
|
||||||
% ...see: \begin{page} ... above
|
|
||||||
\newenvironment{frontcover}{%
|
% front cover...
|
||||||
\begin{textblock*}{\pageblockwidth + \coverboardgrow}(
|
%
|
||||||
|
\newenvironment{frontcover}{%
|
||||||
|
\setlength\cellwidth{\dimexpr
|
||||||
|
\pageblockwidth
|
||||||
|
+ \coverboardgrow \relax }
|
||||||
|
\setlength\cellheight{\dimexpr
|
||||||
|
\pageblockheight
|
||||||
|
+ 2\coverboardgrow \relax }
|
||||||
|
\begin{textblock*}{\pageblockwidth + \coverboardgrow}(
|
||||||
|
\bleed
|
||||||
|
+ \jacketflapback
|
||||||
|
+ \coverflap
|
||||||
|
+ \jacketwrap
|
||||||
|
+ \coverboardgrow
|
||||||
|
+ \pageblockwidth
|
||||||
|
+ 2\spinefold
|
||||||
|
+ \spinewidth,
|
||||||
|
\bleed
|
||||||
|
+ \coverflap )%
|
||||||
|
\begin{minipage}[t][\cellheight][t]{\cellwidth}%
|
||||||
|
}{%
|
||||||
|
\end{minipage}%
|
||||||
|
\end{textblock*} }
|
||||||
|
|
||||||
|
% back cover...
|
||||||
|
%
|
||||||
|
\newenvironment{backcover}{%
|
||||||
|
\setlength\cellwidth{\dimexpr
|
||||||
|
\pageblockwidth
|
||||||
|
+ \coverboardgrow \relax }
|
||||||
|
\setlength\cellheight{\dimexpr
|
||||||
|
\pageblockheight
|
||||||
|
+ 2\coverboardgrow \relax }
|
||||||
|
\begin{textblock*}{\pageblockwidth + \coverboardgrow}(
|
||||||
|
\bleed
|
||||||
|
+ \jacketflapback
|
||||||
|
+ \coverflap
|
||||||
|
+ \jacketwrap,
|
||||||
|
\bleed
|
||||||
|
+ \coverflap )%
|
||||||
|
\begin{minipage}[t][\cellheight][t]{\cellwidth}%
|
||||||
|
}{%
|
||||||
|
\end{minipage}%
|
||||||
|
\end{textblock*} }
|
||||||
|
|
||||||
|
% spine...
|
||||||
|
%
|
||||||
|
% XXX should this be hirizontaly or vertically oriented???
|
||||||
|
% ...options, different envs???
|
||||||
|
\newenvironment{spine}{%
|
||||||
|
\setlength\cellwidth{\dimexpr
|
||||||
|
\spinewidth \relax }
|
||||||
|
\setlength\cellheight{\dimexpr
|
||||||
|
\pageblockheight
|
||||||
|
+ 2\coverboardgrow \relax }
|
||||||
|
\begin{textblock*}{\spinewidth}(
|
||||||
\bleed
|
\bleed
|
||||||
+ \jacketflapback
|
+ \jacketflapback
|
||||||
+ \coverflap
|
+ \coverflap
|
||||||
+ \jacketwrap
|
+ \jacketwrap
|
||||||
+ \coverboardgrow
|
+ \coverboardgrow
|
||||||
+ \pageblockwidth
|
+ \pageblockwidth
|
||||||
|
+ \spinefold,
|
||||||
|
\bleed
|
||||||
|
+ \coverflap )%
|
||||||
|
\begin{minipage}[t][\cellheight][t]{\cellwidth}%
|
||||||
|
}{%
|
||||||
|
\end{minipage}%
|
||||||
|
\end{textblock*} }
|
||||||
|
\fi
|
||||||
|
|
||||||
|
|
||||||
|
% jacket components...
|
||||||
|
%
|
||||||
|
% NOTE: jacket is part of cover-like layouts...
|
||||||
|
\ifjacketlayout
|
||||||
|
% front flap...
|
||||||
|
%
|
||||||
|
\newenvironment{frontflap}{%
|
||||||
|
\setlength\cellwidth{\dimexpr
|
||||||
|
\jacketflapfront \relax }
|
||||||
|
\setlength\cellheight{\dimexpr
|
||||||
|
\pageblockheight
|
||||||
|
+ 2\coverboardgrow \relax }
|
||||||
|
\begin{textblock*}{\jacketflapfront}(
|
||||||
|
\bleed
|
||||||
|
+ \jacketflapback
|
||||||
|
+ \coverflap
|
||||||
|
+ 2\jacketwrap
|
||||||
|
+ 2\coverboardgrow
|
||||||
|
+ 2\pageblockwidth
|
||||||
+ 2\spinefold
|
+ 2\spinefold
|
||||||
+ \spinewidth,
|
+ \spinewidth,
|
||||||
|
\bleed
|
||||||
|
+ \coverflap )%
|
||||||
|
\begin{minipage}[t][\cellheight][t]{\cellwidth}%
|
||||||
|
}{%
|
||||||
|
\end{minipage}%
|
||||||
|
\end{textblock*} }
|
||||||
|
|
||||||
|
% back flap...
|
||||||
|
%
|
||||||
|
\newenvironment{backflap}{%
|
||||||
|
\setlength\cellwidth{\dimexpr
|
||||||
|
\jacketflapback \relax }
|
||||||
|
\setlength\cellheight{\dimexpr
|
||||||
|
\pageblockheight
|
||||||
|
+ 2\coverboardgrow
|
||||||
|
\relax }
|
||||||
|
\begin{textblock*}{\jacketflapback}(
|
||||||
|
\bleed,
|
||||||
\bleed
|
\bleed
|
||||||
+ \coverflap )%
|
+ \coverflap )%
|
||||||
\begin{minipage}%
|
\begin{minipage}[t][\cellheight][t]{\cellwidth}%
|
||||||
[c][\dimexpr \pageblockheight + 2\coverboardgrow \relax][c]%
|
}{%
|
||||||
{\dimexpr \pageblockwidth + \coverboardgrow \relax}%
|
\end{minipage}%
|
||||||
}{%
|
\end{textblock*} }
|
||||||
\end{minipage}%
|
\fi
|
||||||
\end{textblock*} }
|
|
||||||
|
|
||||||
% XXX TEST...
|
|
||||||
\newenvironment{frontflap}{%
|
|
||||||
\begin{textblock*}{\jacketflapfront}(
|
|
||||||
\bleed
|
|
||||||
+ \jacketflapback
|
|
||||||
+ \coverflap
|
|
||||||
+ 2\jacketwrap
|
|
||||||
+ 2\coverboardgrow
|
|
||||||
+ 2\pageblockwidth
|
|
||||||
+ 2\spinefold
|
|
||||||
+ \spinewidth,
|
|
||||||
\bleed
|
|
||||||
+ \coverflap )%
|
|
||||||
\begin{minipage}%
|
|
||||||
[c][\dimexpr \pageblockheight + 2\coverboardgrow \relax][c]%
|
|
||||||
{\jacketflapfront}%
|
|
||||||
}{%
|
|
||||||
\end{minipage}%
|
|
||||||
\end{textblock*} }
|
|
||||||
|
|
||||||
|
|
||||||
% XXX
|
\newcommand\photobook@TemplateCell[1]{
|
||||||
% XXX should this be hirizontaly or vertically oriented???
|
\fbox{\parbox[t][\cellheight][t]{\cellwidth}{%
|
||||||
% ...options, different envs???
|
\begin{center}
|
||||||
\newenvironment{spine}{%
|
\vfill
|
||||||
\begin{textblock*}{\spinewidth}(
|
#1 \\
|
||||||
\bleed
|
(\the\cellwidth \space x \the\cellheight)
|
||||||
+ \jacketflapback
|
\vfill
|
||||||
+ \coverflap
|
\end{center} }} }
|
||||||
+ \jacketwrap
|
|
||||||
+ \coverboardgrow
|
|
||||||
+ \pageblockwidth
|
|
||||||
+ \spinefold,
|
|
||||||
\bleed
|
|
||||||
+ \coverflap )%
|
|
||||||
\begin{minipage}%
|
|
||||||
[c][\dimexpr \pageblockheight + 2\coverboardgrow \relax][c]%
|
|
||||||
{\spinewidth}%
|
|
||||||
}{%
|
|
||||||
\end{minipage}%
|
|
||||||
\end{textblock*} }
|
|
||||||
|
|
||||||
% XXX
|
|
||||||
\newenvironment{backcover}{%
|
|
||||||
\begin{textblock*}{\pageblockwidth + \coverboardgrow}(
|
|
||||||
\bleed
|
|
||||||
+ \jacketflapback
|
|
||||||
+ \coverflap
|
|
||||||
+ \jacketwrap,
|
|
||||||
\bleed
|
|
||||||
+ \coverflap )%
|
|
||||||
\begin{minipage}%
|
|
||||||
[c][\dimexpr \pageblockheight + 2\coverboardgrow \relax][c]%
|
|
||||||
{\dimexpr \pageblockwidth + \coverboardgrow \relax}%
|
|
||||||
}{%
|
|
||||||
\end{minipage}%
|
|
||||||
\end{textblock*} }
|
|
||||||
|
|
||||||
% XXX
|
|
||||||
\newenvironment{backflap}{%
|
|
||||||
\begin{textblock*}{\jacketflapback}(
|
|
||||||
\bleed,
|
|
||||||
\bleed
|
|
||||||
+ \coverflap )%
|
|
||||||
\begin{minipage}%
|
|
||||||
[c][\dimexpr \pageblockheight + 2\coverboardgrow \relax][c]%
|
|
||||||
{\jacketflapback}%
|
|
||||||
}{%
|
|
||||||
\end{minipage}%
|
|
||||||
\end{textblock*} }
|
|
||||||
|
|
||||||
|
|
||||||
% XXX might be a good idea to have an ability to just render a template...
|
% XXX centering seems to be off...
|
||||||
% ...guides and stuff with placeholders...
|
% XXX guides...
|
||||||
% XXX this should simply figure out the current mode from setup options...
|
\newcommand\GenerateTemplate{
|
||||||
\newcommand\GenerateTemplate{}
|
%\TPoptions{showboxes=true}
|
||||||
|
\begin{page}
|
||||||
|
\setlength{\parindent}{0em}
|
||||||
|
\ifcoverlikelayout
|
||||||
|
\begin{frontcover}
|
||||||
|
\photobook@TemplateCell{FRONT COVER}
|
||||||
|
\end{frontcover}
|
||||||
|
\begin{spine}
|
||||||
|
\photobook@TemplateCell{SPINE}
|
||||||
|
\end{spine}
|
||||||
|
\begin{backcover}
|
||||||
|
\photobook@TemplateCell{BACK COVER}
|
||||||
|
\end{backcover}
|
||||||
|
\fi
|
||||||
|
\ifjacketlayout
|
||||||
|
\begin{frontflap}
|
||||||
|
\photobook@TemplateCell{FRONT FLAP}
|
||||||
|
\end{frontflap}
|
||||||
|
\begin{backflap}
|
||||||
|
\photobook@TemplateCell{BACK FLAP}
|
||||||
|
\end{backflap}
|
||||||
|
\fi
|
||||||
|
\end{page} }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,33 @@
|
|||||||
|
%----------------------------------------------------------------------
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
layoutmode=cover,
|
||||||
|
spinewidth=20mm,
|
||||||
|
spinefold=7mm,
|
||||||
|
coverboardgrow=3mm,
|
||||||
|
coverflap=17mm,
|
||||||
|
jacketflap=50mm,
|
||||||
|
jacketwrap=2mm,
|
||||||
|
% page size...
|
||||||
|
blockwidth=240mm, blockheight=220mm,
|
||||||
|
bleed=4mm,
|
||||||
|
bindingoffset=5mm,
|
||||||
|
% image block configuration...
|
||||||
|
imageblockwidth=0.98, imageblockheight=0.98,
|
||||||
|
imageblockoffsettop=-0.1,
|
||||||
|
% misc...
|
||||||
|
9pt,final,openany
|
||||||
|
]{photobook}
|
||||||
|
|
||||||
|
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\GenerateTemplate
|
||||||
|
|
||||||
|
\end{document}
|
||||||
|
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------
|
||||||
|
% vim:set ts=4 sw=4 :
|
||||||
@ -0,0 +1,33 @@
|
|||||||
|
%----------------------------------------------------------------------
|
||||||
|
|
||||||
|
\documentclass[
|
||||||
|
layoutmode=jacket,
|
||||||
|
spinewidth=20mm,
|
||||||
|
spinefold=7mm,
|
||||||
|
coverboardgrow=3mm,
|
||||||
|
coverflap=17mm,
|
||||||
|
jacketflap=50mm,
|
||||||
|
jacketwrap=0mm,
|
||||||
|
% page size...
|
||||||
|
blockwidth=240mm, blockheight=220mm,
|
||||||
|
bleed=4mm,
|
||||||
|
bindingoffset=5mm,
|
||||||
|
% image block configuration...
|
||||||
|
imageblockwidth=0.98, imageblockheight=0.98,
|
||||||
|
imageblockoffsettop=-0.1,
|
||||||
|
% misc...
|
||||||
|
9pt,final,openany
|
||||||
|
]{photobook}
|
||||||
|
|
||||||
|
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\GenerateTemplate
|
||||||
|
|
||||||
|
\end{document}
|
||||||
|
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------
|
||||||
|
% vim:set ts=4 sw=4 :
|
||||||
Loading…
x
Reference in New Issue
Block a user