mirror of
				https://github.com/flynx/photobook.git
				synced 2025-10-31 19:30: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
					
				
							
								
								
									
										375
									
								
								photobook.cls
									
									
									
									
									
								
							
							
						
						
									
										375
									
								
								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,15 +769,28 @@ | |||||||
| 	\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 | 
 | ||||||
|  | 	% front cover... | ||||||
|  | 	% | ||||||
| 	\newenvironment{frontcover}{% | 	\newenvironment{frontcover}{% | ||||||
|  | 		\setlength\cellwidth{\dimexpr | ||||||
|  | 			\pageblockwidth  | ||||||
|  | 			+ \coverboardgrow \relax } | ||||||
|  | 		\setlength\cellheight{\dimexpr | ||||||
|  | 			\pageblockheight  | ||||||
|  | 			+ 2\coverboardgrow \relax } | ||||||
| 		\begin{textblock*}{\pageblockwidth + \coverboardgrow}( | 		\begin{textblock*}{\pageblockwidth + \coverboardgrow}( | ||||||
| 				\bleed  | 				\bleed  | ||||||
| 					+ \jacketflapback  | 					+ \jacketflapback  | ||||||
| @ -689,15 +802,71 @@ | |||||||
| 					+ \spinewidth, | 					+ \spinewidth, | ||||||
| 				\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{minipage}% | ||||||
| 		\end{textblock*} } | 		\end{textblock*} } | ||||||
| 
 | 
 | ||||||
| % XXX TEST... | 	% 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  | ||||||
|  | 				+ \jacketflapback  | ||||||
|  | 				+ \coverflap  | ||||||
|  | 				+ \jacketwrap  | ||||||
|  | 				+ \coverboardgrow  | ||||||
|  | 				+ \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}{% | 	\newenvironment{frontflap}{% | ||||||
|  | 		\setlength\cellwidth{\dimexpr | ||||||
|  | 			\jacketflapfront \relax } | ||||||
|  | 		\setlength\cellheight{\dimexpr  | ||||||
|  | 			\pageblockheight  | ||||||
|  | 			+ 2\coverboardgrow \relax } | ||||||
| 		\begin{textblock*}{\jacketflapfront}( | 		\begin{textblock*}{\jacketflapfront}( | ||||||
| 			\bleed  | 			\bleed  | ||||||
| 				+ \jacketflapback  | 				+ \jacketflapback  | ||||||
| @ -709,69 +878,67 @@ | |||||||
| 				+ \spinewidth, | 				+ \spinewidth, | ||||||
| 			\bleed  | 			\bleed  | ||||||
| 				+ \coverflap )%  | 				+ \coverflap )%  | ||||||
| 	\begin{minipage}% | 		\begin{minipage}[t][\cellheight][t]{\cellwidth}%  | ||||||
| 			[c][\dimexpr \pageblockheight + 2\coverboardgrow \relax][c]% |  | ||||||
| 			{\jacketflapfront}%  |  | ||||||
| 	}{% | 	}{% | ||||||
| 		\end{minipage}% | 		\end{minipage}% | ||||||
| 		\end{textblock*} } | 		\end{textblock*} } | ||||||
| 
 | 
 | ||||||
| 
 | 	% back flap... | ||||||
| % XXX | 	% | ||||||
| % XXX should this be hirizontaly or vertically oriented??? |  | ||||||
| %		...options, different envs??? |  | ||||||
| \newenvironment{spine}{% |  | ||||||
| 	\begin{textblock*}{\spinewidth}( |  | ||||||
| 		\bleed  |  | ||||||
| 			+ \jacketflapback  |  | ||||||
| 			+ \coverflap  |  | ||||||
| 			+ \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}{% | 	\newenvironment{backflap}{% | ||||||
|  | 		\setlength\cellwidth{\dimexpr | ||||||
|  | 			\jacketflapback \relax } | ||||||
|  | 		\setlength\cellheight{\dimexpr  | ||||||
|  | 			\pageblockheight  | ||||||
|  | 			+ 2\coverboardgrow | ||||||
|  | 		\relax } | ||||||
| 		\begin{textblock*}{\jacketflapback}( | 		\begin{textblock*}{\jacketflapback}( | ||||||
| 			\bleed, | 			\bleed, | ||||||
| 			\bleed  | 			\bleed  | ||||||
| 				+ \coverflap )% | 				+ \coverflap )% | ||||||
| 	\begin{minipage}% | 		\begin{minipage}[t][\cellheight][t]{\cellwidth}%  | ||||||
| 			[c][\dimexpr \pageblockheight + 2\coverboardgrow \relax][c]% |  | ||||||
| 			{\jacketflapback}% |  | ||||||
| 	}{% | 	}{% | ||||||
| 		\end{minipage}% | 		\end{minipage}% | ||||||
| 		\end{textblock*} }  | 		\end{textblock*} }  | ||||||
|  | \fi | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| % XXX might be a good idea to have an ability to just render a template... | \newcommand\photobook@TemplateCell[1]{ | ||||||
| %		...guides and stuff with placeholders... | 	\fbox{\parbox[t][\cellheight][t]{\cellwidth}{% | ||||||
| % XXX this should simply figure out the current mode from setup options... | 		\begin{center} | ||||||
| \newcommand\GenerateTemplate{} | 			\vfill | ||||||
|  | 			#1 \\ | ||||||
|  | 			(\the\cellwidth \space x \the\cellheight) | ||||||
|  | 			\vfill | ||||||
|  | 		\end{center} }} } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | % XXX centering seems to be off... | ||||||
|  | % XXX guides... | ||||||
|  | \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