summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/photobook/photobook.cls
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/photobook/photobook.cls')
-rw-r--r--Master/texmf-dist/tex/latex/photobook/photobook.cls107
1 files changed, 72 insertions, 35 deletions
diff --git a/Master/texmf-dist/tex/latex/photobook/photobook.cls b/Master/texmf-dist/tex/latex/photobook/photobook.cls
index c5e4f8d925e..8f9da6cf24d 100644
--- a/Master/texmf-dist/tex/latex/photobook/photobook.cls
+++ b/Master/texmf-dist/tex/latex/photobook/photobook.cls
@@ -33,6 +33,8 @@
% to edit it directly, edit the source instead.
%
%
+% XXC FEATURE image spread: add ability to push image sides outward to
+% account for gutter.,,
% XXX revise \clearcaption / \captionclearpage...
% XXX unify API -- see CellContent env...
% XXX make this loadable both as a class and as a package...
@@ -65,14 +67,17 @@
% - \CopyrightNotice
% - ...
% - info
+% XXX DOC add notes about external libs section:
+% - textpos
+% cell/cell* depend on absolute mode being set globally
%
%
%----------------------------------------------------------------------
%%% NOTE: \def\<module-name>@[A-Z]+ macros will be visible to both the
%%% code and the generated docs...
-\edef\photobook@FILEVERSION{v0.1.9}
-\edef\photobook@FILEDATE{2023-03-01}
+\edef\photobook@FILEVERSION{v0.1.10}
+\edef\photobook@FILEDATE{2023-03-11}
%% \documentclass{ltxdoc}
@@ -705,6 +710,8 @@
\newlength\coverflap
\setlength\coverflap{\photobook@coverflap}
+\newlength\photobook@coverflap@active
+
%% \DescribeMacro{\jacketwrap=<len>}
%% \DescribeMacro{\jacketflap=<len>}
%% \DescribeMacro{\jacketflapfront=<len>}
@@ -721,6 +728,11 @@
\newlength\jacketflapback
\setlength\jacketflapback{\photobook@jacketflapback}
+\newlength\photobook@jacketwrap@active
+\newlength\photobook@jacketflap@active
+\newlength\photobook@jacketflapfront@active
+\newlength\photobook@jacketflapback@active
+
%% \DescribeMacro{\blockwidth=<len>}
%% \DescribeMacro{\blockheight=<len>}
%
@@ -987,17 +999,28 @@
\def\pdfpagelayout{SinglePage}\fi
\else
\def\pdfpagelayout{\photobook@pdfpagelayout}\fi
- % items to ignore in different layouts...
- \ifcoverlayout\else
- \setlength\coverflap{0pt}\fi
- \ifjacketlayout\else
- \setlength\jacketwrap{0pt}
- \setlength\jacketflap{0pt}\fi
- % flaps...
- \ifdim\jacketflapfront=0pt
- \setlength\jacketflapfront{\jacketflap}\fi
- \ifdim\jacketflapback=0pt
- \setlength\jacketflapback{\jacketflap}\fi
+ % keep user settings but respect the current layout...
+ \ifcoverlayout
+ \setlength\photobook@coverflap@active{\coverflap}
+ \else
+ \setlength\photobook@coverflap@active{0pt}\fi
+ \ifjacketlayout
+ \setlength\photobook@jacketwrap@active{\jacketwrap}
+ \setlength\photobook@jacketflap@active{\jacketflap}
+ % flaps...
+ \ifdim\jacketflapfront=0pt
+ \setlength\photobook@jacketflapfront@active{\photobook@jacketflap@active}
+ \else
+ \setlength\photobook@jacketflapfront@active{\jacketflapfront}\fi
+ \ifdim\jacketflapback=0pt
+ \setlength\photobook@jacketflapback@active{\photobook@jacketflap@active}
+ \else
+ \setlength\photobook@jacketflapback@active{\jacketflapback}\fi
+ \else
+ \setlength\photobook@jacketwrap@active{0pt}
+ \setlength\photobook@jacketflap@active{0pt}
+ \setlength\photobook@jacketflapfront@active{0pt}
+ \setlength\photobook@jacketflapback@active{0pt}\fi
% block size...
\ifdim\blockwidth=0pt
% layout: block...
@@ -1041,7 +1064,7 @@
\pagestyle{empty}%
\setsepchar{,}%
\readlist*\pagefoldpanels{%
- \the\jacketflapback,
+ \the\photobook@jacketflapback@active,
\the\jacketwrap,
\the\dimexpr
\coverboardgrow
@@ -1053,7 +1076,7 @@
\coverboardgrow
+ \pageblockwidth \relax,
\the\jacketwrap,
- \the\jacketflapfront}%
+ \the\photobook@jacketflapfront@active}%
\photobook@setpagefold{out}
\setlength\blockwidth{
\dimexpr
@@ -1062,8 +1085,8 @@
+ \spinewidth
+ 2\spinefold
+ 2\jacketwrap
- + \jacketflapfront
- + \jacketflapback \relax}\fi
+ + \photobook@jacketflapfront@active
+ + \photobook@jacketflapback@active \relax}\fi
% layout: endpaper...
\ifendpaperlayout
\pagestyle{empty}%
@@ -1386,6 +1409,7 @@
%% packed in.
%%
\newenvironment{page}{%
+ % XXX do we need \null here???
\null%
\ignorespaces%
}{%
@@ -1695,6 +1719,14 @@
%
%% >> \begin{cell*}{<left>, <top>}{<width>}{<height>} ... \end{cell*}
%%
+%% |cell| and |cell*| are absolutely positioned either relative to
+%% the current page or to the closest savecell.
+%%
+% XXX should this have an explicit absolute/relative option???
+% XXX handle textpos's absolute option internally (+arg) ???
+% - save external state
+% - set internal state
+% - reset bac to saved
% XXX SYNTAX: place the second arg in braces...
% \begin{cell*}(<left>, <top>){<width>}{<height>}
%\newenvironment{cell*}[3]{%
@@ -1772,6 +1804,11 @@
%% |\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.
+%%
% XXX can/should we make this an env???
% XXX should this be split into \newsavecell{..} and \scell{..} ???
% XXX can we use root cells inside this???
@@ -3793,15 +3830,15 @@
\newenvironment{frontcover}{%
\begin{cell*}{
\bleed
- + \jacketflapback
- + \coverflap
- + \jacketwrap
+ + \photobook@jacketflapback@active
+ + \photobook@coverflap@active
+ + \photobook@jacketwrap@active
+ \coverboardgrow
+ \pageblockwidth
+ 2\spinefold
+ \spinewidth,
\bleed
- + \coverflap }%
+ + \photobook@coverflap@active }%
{ \pageblockwidth + \coverboardgrow }%
{ \pageblockheight + 2\coverboardgrow }%
}{%
@@ -3810,11 +3847,11 @@
\newenvironment{backcover}{%
\begin{cell*}{
\bleed
- + \jacketflapback
- + \coverflap
- + \jacketwrap,
+ + \photobook@jacketflapback@active
+ + \photobook@coverflap@active
+ + \photobook@jacketwrap@active,
\bleed
- + \coverflap }%
+ + \photobook@coverflap@active }%
{ \pageblockwidth + \coverboardgrow }%
{ \pageblockheight + 2\coverboardgrow }%
}{%
@@ -3826,14 +3863,14 @@
\newenvironment{spine}{%
\begin{cell*}{
\bleed
- + \jacketflapback
- + \coverflap
- + \jacketwrap
+ + \photobook@jacketflapback@active
+ + \photobook@coverflap@active
+ + \photobook@jacketwrap@active
+ \coverboardgrow
+ \pageblockwidth
+ \spinefold,
\bleed
- + \coverflap }%
+ + \photobook@coverflap@active }%
{ \spinewidth }%
{ \pageblockheight + 2\coverboardgrow }%
}{%
@@ -3854,15 +3891,15 @@
\newenvironment{frontflap}{%
\begin{cell*}{
\bleed
- + \jacketflapback
- + 2\jacketwrap
+ + \photobook@jacketflapback@active
+ + 2\photobook@jacketwrap@active
+ 2\coverboardgrow
+ 2\pageblockwidth
+ 2\spinefold
+ \spinewidth,
\bleed
- + \coverflap }%
- { \jacketflapfront }%
+ + \photobook@coverflap@active }%
+ { \photobook@jacketflapfront@active }%
{ \pageblockheight + 2\coverboardgrow }%
}{%
\end{cell*}}
@@ -3871,8 +3908,8 @@
\begin{cell*}{
\bleed,
\bleed
- + \coverflap }%
- { \jacketflapback }%
+ + \photobook@coverflap@active }%
+ { \photobook@jacketflapback@active }%
{ \pageblockheight + 2\coverboardgrow }%
}{%
\end{cell*}}