diff options
author | Karl Berry <karl@freefriends.org> | 2023-06-26 20:19:05 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-06-26 20:19:05 +0000 |
commit | c85ad0f14d77bd654bfa06eec8e8b02cd0fb5482 (patch) | |
tree | 4fbd34817ea0d7cb9b1b195f76deda1e240d8174 | |
parent | 9c223dbd17ea28e9c3a242eb2ff3c3e220e151a0 (diff) |
photobook (26jun23)
git-svn-id: svn://tug.org/texlive/trunk@67484 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/latex/photobook/Makefile | 27 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/photobook/README.md | 52 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/photobook/photobook.pdf | bin | 143897 -> 144078 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/photobook/scripts/make-spreads.sh | 12 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/photobook/photobook.cls | 206 |
5 files changed, 234 insertions, 63 deletions
diff --git a/Master/texmf-dist/doc/latex/photobook/Makefile b/Master/texmf-dist/doc/latex/photobook/Makefile index 769c5c2ac4a..59b7ea002c8 100644 --- a/Master/texmf-dist/doc/latex/photobook/Makefile +++ b/Master/texmf-dist/doc/latex/photobook/Makefile @@ -43,9 +43,6 @@ #---------------------------------------------------------------------- # Config... -.EXPORT_ALL_VARIABLES: - - # NOTE: this makes things run consistently on different systems including # things like Android... SHELL := bash @@ -245,14 +242,10 @@ LN := cp -l # list of dependencies... # -# NOTE: grep's -z flag generates a bunch if nulls that we need to clean -# out via tr. DEPENDS.txt: $(MODULE).cls - cat $< \ - | grep -Ezo '\s*\\RequirePackage(\[[^]]*\])?\{[^}]*\}' \ - | sed -e 's/.*{\(.*\)}/hard \1\n/' \ - | grep -a hard \ - | tr -d '\000' \ + make depends \ + | grep -v make \ + | sed -e 's/^/hard /' \ > $@ @@ -265,6 +258,20 @@ version: @echo $(VERSION) +# NOTE: grep's -z flag generates a bunch if nulls that we need to clean +# out via tr. +# XXX this is a bit ugly -- adding/removing "hard" and then adding it +# again for DEPENDS.txt... +.PHONY: depends +depends: $(MODULE).cls + @cat $< \ + | grep -Ezo '\s*\\RequirePackage(\[[^]]*\])?\{[^}]*\}' \ + | sed -e 's/.*{\(.*\)}/hard \1\n/' \ + | grep -a hard \ + | tr -d '\000' \ + | cut -d " " -f 2 + + #---------------------------------------------------------------------- # Main targets... diff --git a/Master/texmf-dist/doc/latex/photobook/README.md b/Master/texmf-dist/doc/latex/photobook/README.md index 004a438e86c..54e29d5eba4 100644 --- a/Master/texmf-dist/doc/latex/photobook/README.md +++ b/Master/texmf-dist/doc/latex/photobook/README.md @@ -4,27 +4,19 @@ photobook [LaTeX](https://www.latex-project.org/) document class for making photo books. -## Build requirements for docs - -- LaTeX tool chain (including: `lualatex`, `latexmk`, ..) - The simplest way to get started is [TeX Live](https://www.tug.org/texlive/), - either a full install or for specific modules see the _Packages_ section - in [photobook.cls](./photobook.cls), -- Un\*x-like environment (`bash`, GNU Make, coreutils, ...), - on Windows systems, either [Cygwin](https://www.cygwin.com/) or - [WSL/WSL2](https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux) - should work fine. - +Available on: +- CTAN: https://ctan.org/pkg/photobook +- GitHub: https://github.com/flynx/photobook -## Build / Install +## Install / Build -The package is available on: -- CTAN: https://ctan.org/pkg/photobook -- GitHub: https://github.com/flynx/photobook +The simplest way to install is to use either +[TeX Live](https://www.tug.org/texlive/)'s or [MiLTeX](https://miktex.org/)'s +standard way to install modules. -To install from source: +Installing from source: ```shell # get the source... $ git clone https://github.com/flynx/photobook.git @@ -34,14 +26,38 @@ $ cd ./photobook $ make install ``` -If only building the docs is required without installing: +The `photobook` document class requires a set of modules to be installed +for it to function, the full list is included in the docs and can be +printed by calling: ```shell -$ make pdf +$ make depends ``` For more info on `make` targets see the: [./Makefile](./Makefile) + +# Documentation + +Pre-built documentation can be found on +[CTAN](http://mirrors.ctan.org/macros/latex/contrib/photobook/photobook.pdf) +or it can be built from source by: +```shell +$ make pdf +``` + +Build requirements for docs: +- LaTeX tool chain (including: `lualatex`, `latexmk`, ..) + The simplest way to get started is [TeX Live](https://www.tug.org/texlive/), + either a full install or for specific modules see the _Packages_ section + in [photobook.cls](./photobook.cls), +- Un\*x-like environment (`bash`, GNU Make, coreutils, ...), + on Windows systems, either [Cygwin](https://www.cygwin.com/) or + [WSL/WSL2](https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux) + should work fine. + + + ## Notes - The main refetence is inline with the source [photobook.cls](./photobook.cls) diff --git a/Master/texmf-dist/doc/latex/photobook/photobook.pdf b/Master/texmf-dist/doc/latex/photobook/photobook.pdf Binary files differindex 9368564c5d1..d78e1f2b17b 100644 --- a/Master/texmf-dist/doc/latex/photobook/photobook.pdf +++ b/Master/texmf-dist/doc/latex/photobook/photobook.pdf diff --git a/Master/texmf-dist/doc/latex/photobook/scripts/make-spreads.sh b/Master/texmf-dist/doc/latex/photobook/scripts/make-spreads.sh index 6505e1091f0..41dae4ec270 100644 --- a/Master/texmf-dist/doc/latex/photobook/scripts/make-spreads.sh +++ b/Master/texmf-dist/doc/latex/photobook/scripts/make-spreads.sh @@ -56,9 +56,11 @@ ANOTATE_IMAGE_PATHS=${ANOTATE_IMAGE_PATHS:=} # supported formats/extensions... TEXT_FORMATS=${TEXT_FORMATS:=$CFG_TEXT_FORMATS} TEXT_FORMATS=${TEXT_FORMATS:=txt} +TEXT_FORMATS=${TEXT_FORMATS,,} IMAGE_FORMATS=${IMAGE_FORMATS:=$CFG_IMAGE_FORMATS} IMAGE_FORMATS=${IMAGE_FORMATS:=jpeg|jpg|png|pdf|svg|eps} +IMAGE_FORMATS=${IMAGE_FORMATS,,} SPREADS_DIR=${SPREADS_DIR:=$CFG_SPREADS_DIR} @@ -366,9 +368,9 @@ populateTemplate(){ local txt=() local elem for elem in "${items[@]}" ; do - if [[ "$elem" =~ $IMAGE_FORMATS ]] ; then + if [[ "${elem,,}" =~ $IMAGE_FORMATS ]] ; then img+=("$elem") - elif [[ "$elem" =~ $TEXT_FORMATS ]] ; then + elif [[ "${elem,,}" =~ $TEXT_FORMATS ]] ; then txt+=("$elem") fi done @@ -491,10 +493,10 @@ handleSpread(){ local txt=() local items=() for elem in "$spread"/* ; do - if [[ "$elem" =~ $IMAGE_FORMATS ]] ; then + if [[ "${elem,,}" =~ $IMAGE_FORMATS ]] ; then img+=("$elem") items+=("$elem") - elif [[ "$elem" =~ $TEXT_FORMATS ]] ; then + elif [[ "${elem,,}" =~ $TEXT_FORMATS ]] ; then txt+=("$elem") items+=("$elem") fi @@ -574,7 +576,7 @@ handleSpread(){ # slots/files from list... # image... - if [[ "$elem" =~ $IMAGE_FORMATS ]] ; then + if [[ "${elem,,}" =~ $IMAGE_FORMATS ]] ; then echo % echo "% $P page (image)..." template=`getTemplate "$spread" "$IMAGE_PAGE"` diff --git a/Master/texmf-dist/tex/latex/photobook/photobook.cls b/Master/texmf-dist/tex/latex/photobook/photobook.cls index a0188d793b8..d29c923dd30 100644 --- a/Master/texmf-dist/tex/latex/photobook/photobook.cls +++ b/Master/texmf-dist/tex/latex/photobook/photobook.cls @@ -38,10 +38,18 @@ % % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - % -% XXX should cliptocell offsets be tweakable??? -% XXX ASAP should cover/jacket/endpaper/spread template cells account -% for bleeds as an option??? -% ...i.e. include cliptocell defaults??? +% XXX ASAP: imagecell: photobook@imagecell@left and photobook@imagecell@left +% should explicitly account for clearence@left and clearence@top resp. +% XXX ASAP: imagecell: clearance should have the same semantics as cliptocell +% offsts... +% (CLEARANCE) +% XXX ASAP should cover/jacket/endpaper/spread cells set default cliptocell +% bleeds??? +% ...needs testing and experimenting... +% XXX ASAP: should \blockwidth include \bindingoffset (current) or not??? +% ...currently I think that no, as \blockwidth indicates the outer +% width of the block, and this poses the question: +% should \pagewidth include \bindingoffset??? % XXX ASAP should cover/jacket/endpaper/spread templates/cells account % for \bindingoffset (likely no) and/or \gutteroffset ??? % ...especially relevant to endpaper/spread... @@ -49,11 +57,11 @@ % ...all cells should ignore bleeds unless explicitly stated % otherwise -- needs testing... % +% % XXX captions behave in an odd way... % the internal (macro) minipage for some reason does not affect text % justification while adding a minipage in the macro argument works % as expected -- some odd input mode??? -% XXX Q: should \blockwidth include \bindingoffset (current) or not??? % XXX revise \clearcaption / \captionclearpage... % XXX unify API -- see CellContent env... % XXX make this loadable both as a class and as a package... @@ -85,8 +93,8 @@ %%% NOTE: \def\<module-name>@[A-Z]+ macros will be visible to both the %%% code and the generated docs... -\edef\photobook@FILEVERSION{v0.1.21} -\edef\photobook@FILEDATE{2023-04-22} +\edef\photobook@FILEVERSION{v0.1.23} +\edef\photobook@FILEDATE{2023-05-05} %% \documentclass{ltxdoc} @@ -952,7 +960,13 @@ %% \DescribeMacro{\cellheight=<len>} %% \DescribeMacro{\celloffsetleft=<len>} %% \DescribeMacro{\celloffsettop=<len>} -%% \DescribeMacro{\clearance=<len>} +% XXX EXPERIMENTAL CLEARANCE +%%% \DescribeMacro{\clearanceleft=<len>} +%%% \DescribeMacro{\clearancetop=<len>} +%%% \DescribeMacro{\clearanceright=<len>} +%%% \DescribeMacro{\clearancebottom=<len>} +% XXX LEGACY CLEARANCE +%%% \DescribeMacro{\clearance=<len>} % %% Cell geometry. %% @@ -973,8 +987,19 @@ \setlength\celloffsetleft{0pt} \newlength\celloffsettop \setlength\celloffsettop{0pt} -\newlength\clearance -\setlength\clearance{0pt} +% XXX EXPERIMENTAL CLEARANCE +\newlength\clearanceleft +\setlength\clearanceleft{0pt} +\newlength\clearancetop +\setlength\clearancetop{0pt} +\newlength\clearanceright +\setlength\clearanceright{0pt} +\newlength\clearancebottom +\setlength\clearancebottom{0pt} +\def\clearances{0pt} +% XXX LEGACY CLEARANCE +%\newlength\clearance +%\setlength\clearance{0pt} %% \DescribeMacro{\clearfoldoutgutter=<len>} @@ -1587,7 +1612,13 @@ %% \DescribeMacro{\cellparentheight=<len>} %% \DescribeMacro{\celloffsettop=<len>} %% \DescribeMacro{\celloffsetleft=<len>} -%% \DescribeMacro{\clearance=<len>} +% XXX EXPERIMENTAL CLEARANCE +%%% \DescribeMacro{\clearanceleft=<len>} +%%% \DescribeMacro{\clearancetop=<len>} +%%% \DescribeMacro{\clearanceright=<len>} +%%% \DescribeMacro{\clearancebottom=<len>} +% XXX LEGACY CLEARANCE +%%% \DescribeMacro{\clearance=<len>} %% %% A cell defines a set of contextual lengths: %% @@ -1719,7 +1750,13 @@ \setlength\cellheight{\photobook@protect@h}% \setlength\celloffsettop{0pt}% \setlength\celloffsetleft{0pt}% - \setlength\clearance{0pt}% + % XXX EXPERIMENTAL CLEARANCE + \setlength\clearanceleft{0pt}% + \setlength\clearancetop{0pt}% + \setlength\clearanceright{0pt}% + \setlength\clearancebottom{0pt}% + % XXX LEGACY CLEARANCE + %\setlength\clearance{0pt}% % \begin{MinipageCellContent}[\photobook@minipagecell@parentvalign]{minipagecell}% }{% @@ -2009,6 +2046,7 @@ \setlength\photobook@cliptocell@right{0mm}% \newlength\photobook@cliptocell@bottom \setlength\photobook@cliptocell@bottom{0mm}% +\def\cliptocellclearances{0mm 0mm 0mm 0mm}% %% Set the default bleeds for |cliptocell| environments %% @@ -2019,9 +2057,13 @@ %% This will only affect |cliptocell| environments on the same level, %% without affecting the nested |cliptocell|s. %% -% XXX should this set the setsepchar back to default??? -% XXX should this be public??? -% ...mainly due to setsepchar... +%%% \DescribeEnv{cliptocellclearances=<left> <bottom> <right> <top>} +%%% +%%% Set by |\cliptocellbleeds{..}| and contains clearances (negative +%%% clipping bleeds) usable by imagecell. +% +% XXX BUG: bleeds is set correctly for one value but 2 and 4 seem to be +% misbehaving (see: ./examples/endpaper.tex) \newcommand\cliptocellbleeds[1]{ \setsepchar{ }% \readlist*\photobook@cliptocell@bleeds{#1}% @@ -2055,7 +2097,13 @@ \setlength\photobook@cliptocell@right{% \photobook@cliptocell@bleeds[3]}% \setlength\photobook@cliptocell@top{% - \photobook@cliptocell@bleeds[4]}\fi} + \photobook@cliptocell@bleeds[4]}\fi% + % NOTE: trailing spaces here are significant... + \def\cliptocellclearances{% + {-\photobook@cliptocell@left} % + {-\photobook@cliptocell@bottom} % + {-\photobook@cliptocell@right} % + {-\photobook@cliptocell@top}}} \newenvironment{cliptocell}[1][0mm]{% \begingroup% @@ -2272,6 +2320,16 @@ \def\photobook@imagecell@captiontop{0pt} \def\photobook@imagecell@captionleft{0pt} +% XXX EXPERIMENTAL +\newlength\photobook@imagecell@clearance@left +\setlength\photobook@imagecell@clearance@left{0pt} +\newlength\photobook@imagecell@clearance@top +\setlength\photobook@imagecell@clearance@top{0pt} +\newlength\photobook@imagecell@clearance@right +\setlength\photobook@imagecell@clearance@right{0pt} +\newlength\photobook@imagecell@clearance@bottom +\setlength\photobook@imagecell@clearance@bottom{0pt} +% XXX LEGACY \newlength\photobook@imagecell@clearance \setlength\photobook@imagecell@clearance{0pt} @@ -2288,15 +2346,22 @@ \define@boolkey{imagecell@args}{center}[true]{% \def\photobook@imagecell@top{\dimexpr +0.5\cellheight + % XXX EXPERIMENTAL CLEARANCE -- test... + +0.5\photobook@imagecell@clearance@top + -0.5\photobook@imagecell@clearance@bottom -0.5\ht\photobook@imagebox \relax}% \def\photobook@imagecell@left{\dimexpr +0.5\cellwidth + % XXX EXPERIMENTAL CLEARANCE -- test... + +0.5\photobook@imagecell@clearance@left + -0.5\photobook@imagecell@clearance@right -0.5\wd\photobook@imagebox \relax}}% % left/right... % shortdands... \newcommand\photobook@imagecell@LEFT{% \def\photobook@imagecell@left{\dimexpr% - +\photobook@imagecell@clearance \relax}% + +\photobook@imagecell@clearance@left \relax}% + %+\photobook@imagecell@clearance \relax}% \def\photobook@imagecell@captionleft{ % XXX not sure why this branch is needed... \ifKV@imagecell@args@fit @@ -2304,12 +2369,14 @@ \else% \dimexpr% +\cellwidth - -\photobook@imagecell@clearance + -\photobook@imagecell@clearance@left + %-\photobook@imagecell@clearance -\wd\photobook@imagebox \relax\fi}}% \newcommand\photobook@imagecell@RIGHT{% \def\photobook@imagecell@left{\dimexpr +\cellwidth - -\photobook@imagecell@clearance + -\photobook@imagecell@clearance@right + %-\photobook@imagecell@clearance -\wd\photobook@imagebox \relax} % XXX not sure why 0.5 but it seems to work... \def\photobook@imagecell@captionleft{% @@ -2333,7 +2400,8 @@ % top/bottom... \define@boolkey{imagecell@args}{top}[true]{% \def\photobook@imagecell@top{% - \photobook@imagecell@clearance}% + \photobook@imagecell@clearance@top}% + %\photobook@imagecell@clearance}% \def\photobook@imagecell@captiontop{% -\dimexpr +\cellheight @@ -2342,14 +2410,55 @@ \def\photobook@imagecell@top{% \dimexpr +\cellheight - -\photobook@imagecell@clearance + -\photobook@imagecell@clearance@bottom + %-\photobook@imagecell@clearance -\ht\photobook@imagebox \relax}% \def\photobook@imagecell@captiontop{% \dimexpr \photobook@imagecell@top - +\photobook@imagecell@clearance \relax}}% + +\photobook@imagecell@clearance@bottom \relax}}% + %+\photobook@imagecell@clearance \relax}}% % clearance=<len>... +% clearance=<horizontal> <vertical>... +% clearance=<left> <bottom> <right> <top>... \define@key{imagecell@args}{clearance}{% + % XXX EXPERIMENTAL + % XXX this is essentially the same as \photobook@cliptocell@bleeds -- unite... + \def\photobook@imagecell@clearances{#1}% + \setsepchar{ } + \readlist*\photobook@imagecell@clearencelist{#1}% + \setsepchar{,}% + %% args: size + \ifnum \photobook@imagecell@clearencelistlen = 1% + \setlength\photobook@imagecell@clearance@left{% + \photobook@imagecell@clearencelist[1]}% + \setlength\photobook@imagecell@clearance@bottom{% + \photobook@imagecell@clearencelist[1]}% + \setlength\photobook@imagecell@clearance@right{% + \photobook@imagecell@clearencelist[1]}% + \setlength\photobook@imagecell@clearance@top{% + \photobook@imagecell@clearencelist[1]}\fi% + % args: horizontal vertical + \ifnum \photobook@imagecell@clearencelistlen = 2% + \setlength\photobook@imagecell@clearance@left{% + \photobook@imagecell@clearencelist[1]}% + \setlength\photobook@imagecell@clearance@bottom{% + \photobook@imagecell@clearencelist[2]}% + \setlength\photobook@imagecell@clearance@right{% + \photobook@imagecell@clearencelist[1]}% + \setlength\photobook@imagecell@clearance@top{% + \photobook@imagecell@clearencelist[2]}\fi% + % args: left bottom right top + \ifnum \photobook@imagecell@clearencelistlen = 4% + \setlength\photobook@imagecell@clearance@left{% + \photobook@imagecell@clearencelist[1]}% + \setlength\photobook@imagecell@clearance@bottom{% + \photobook@imagecell@clearencelist[2]}% + \setlength\photobook@imagecell@clearance@right{% + \photobook@imagecell@clearencelist[3]}% + \setlength\photobook@imagecell@clearance@top{% + \photobook@imagecell@clearencelist[4]}\fi% + % XXX LEGACY... \setlength\photobook@imagecell@clearance{#1}}% % offsettop=<len> / offsetleft=<len>... @@ -2398,10 +2507,14 @@ keepaspectratio, width=\photobook@imagecell@scale\dimexpr \cellwidth - - ((\photobook@imagecell@clearance) * 2) \relax, + - \photobook@imagecell@clearance@left + - \photobook@imagecell@clearance@right \relax, + %- ((\photobook@imagecell@clearance) * 2) \relax, height=\photobook@imagecell@scale\dimexpr \cellheight - - ((\photobook@imagecell@clearance) * 2) \relax]{#3}}% + - \photobook@imagecell@clearance@top + - \photobook@imagecell@clearance@bottom \relax]{#3}}% + %- ((\photobook@imagecell@clearance) * 2) \relax]{#3}}% % fill... \else\ifKV@imagecell@args@fill% % preload image to get its proportions... @@ -2420,14 +2533,18 @@ keepaspectratio, width=\photobook@imagecell@scale\dimexpr + \cellwidth - - ((\photobook@imagecell@clearance) * 2) \relax]{#3}}% + - \photobook@imagecell@clearance@left + - \photobook@imagecell@clearance@right \relax]{#3}}% + %- ((\photobook@imagecell@clearance) * 2) \relax]{#3}}% \else% \sbox{\photobook@imagebox}{% \includegraphics[% keepaspectratio, height=\photobook@imagecell@scale\dimexpr + \cellheight - - ((\photobook@imagecell@clearance) * 2) \relax]{#3}}% + - \photobook@imagecell@clearance@top + - \photobook@imagecell@clearance@bottom \relax]{#3}}% + %- ((\photobook@imagecell@clearance) * 2) \relax]{#3}}% \fi\fi\fi% % \setlength\celloffsetleft{% @@ -2470,7 +2587,14 @@ \maxdim{\celloffsetleft}{0pt}}% \setlength\celloffsettop{% \maxdim{\celloffsettop}{0pt}}% - \setlength\clearance{\photobook@imagecell@clearance}% + % XXX EXPERIMENTAL CLEARANCE + \setlength\clearanceleft{\photobook@imagecell@clearance@left} + \setlength\clearancetop{\photobook@imagecell@clearance@top} + \setlength\clearanceright{\photobook@imagecell@clearance@right} + \setlength\clearancebottom{\photobook@imagecell@clearance@bottom} + \def\clearances{\photobook@imagecell@clearences} + % XXX LEGACY CLEARANCE + %\setlength\clearance{\photobook@imagecell@clearance}% % clear parent... % XXX might be a good idea to put this into a special reusable cell... \ifphotobook@imagecell@captionclearparent% @@ -2930,7 +3054,10 @@ - \cellwidth - \clearcaption % XXX this is only present in images... - - \clearance \relax% + % XXX change this to use \clearanceleft / \clearanceright / ... + % XXX LEGACY CLEARANCE + - \clearance + \relax% \else% \photobook@captionblockcell@width\fi}% \setlength\cellparentwidth{% @@ -3917,7 +4044,9 @@ %%%%% Endpaper cells % %% \DescribeEnv{leftside} +%%% \DescribeEnv{leftside*} %% \DescribeEnv{rightside} +%%% \DescribeEnv{rightside*} % %% \begin{minipage}{\textwidth} %% \begin{verbatim} @@ -3933,14 +4062,24 @@ %% \end{verbatim} %% \end{minipage} %% +%%% The star versions set the appropriate bleeds for cliptocell. +%%% % XXX for some reason naming these anything starting with endpaper will % make LaTeX complain that that is already defined... % ...collision with bools??? \newenvironment{leftside}{% - \begin{pagecell}% + \begin{cell*}% + {\bleed, \bleed}% + {\pageblockwidth}{\pageblockheight}% }{% - \end{pagecell}} + \end{cell*}} +% XXX EXPERIMENTAL +\newenvironment{leftside*}{% + \begin{leftside}% + \cliptocellbleeds{{\bleed} {\bleed} 0mm {\bleed}}% +}{% + \end{leftside}} \newenvironment{rightside}{% \begin{cell*}% @@ -3948,6 +4087,13 @@ {\pageblockwidth}{\pageblockheight}% }{% \end{cell*}} +% XXX EXPERIMENTAL +\newenvironment{rightside*}{% + \begin{rightside}% + \cliptocellbleeds{0mm {\bleed} {\bleed} {\bleed}}% +}{% + \end{rightside}} + % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |