% \iffalse meta-comment % % Copyright (C) 2015-2020 by Tibor Tomacs % % This file may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.2 % of this license or (at your option) any later version. % The latest version of this license is in: % % http://www.latex-project.org/lppl.txt % % and version 1.2 or later is part of all distributions of LaTeX % version 1999/12/01 or later. % % \fi % % \iffalse %<*driver> \ProvidesFile{bookcover.dtx} \newcommand{\eifiledate}{2020/12/06} \newcommand{\eifilever}{v3.0} % % %\NeedsTeXFormat{LaTeX2e}[2020/10/01] %\ProvidesClass{bookcover}[2020/12/06 v3.0 class for book covers and dust jackets] % %<*driver> \documentclass{ltxdoc} \OnlyDescription \usepackage[T1]{fontenc} \usepackage[paperwidth=210mm,paperheight=295mm,textwidth=160mm,top=25mm,bottom=25mm,outer=25mm]{geometry} \usepackage[unicode,pdfstartview=FitH,bookmarksnumbered,colorlinks,allcolors=teal]{hyperref} \usepackage[english]{babel} \usepackage{graphicx,listings,calc,multirow,array,paralist,eso-pic,tikz} \colorlet{command}{blue!80!black} \colorlet{param}{green!50!black} \lstnewenvironment{examplelst}{\lstset{ gobble=2, aboveskip=1.4pt, basicstyle=\small\ttfamily, backgroundcolor=\color{black!10}, columns=fullflexible, comment=[l][\ttfamily\color{purple}]{\%}, frame=trbl, framesep=3pt, xleftmargin=3.4pt, xrightmargin=3.4pt, keepspaces}}{} \lstnewenvironment{commandlst}{\lstset{ literate={<}{{$\langle$}}1{>}{{$\rangle$}}1, delim=[is][\color{param}\normalfont\itshape\small]{!}{!}, gobble=2, belowskip=-4pt, aboveskip=4pt, basicstyle=\color{command}\ttfamily, backgroundcolor=\color{white}, columns=fullflexible, frame=trbl, frameround=tttt, framesep=3pt, xleftmargin=3.4pt, xrightmargin=3.4pt, keepspaces}}{} \lstdefinestyle{examplefile}{ literate={ü}{{\"u}}1{ó}{{\'o}}1{é}{{\'e}}1{á}{{\'a}}1{Á}{{\'A}}1, basicstyle=\small\ttfamily, backgroundcolor=\color{black!10}, columns=fullflexible, keepspaces, frame=trbl, framesep=3pt, xleftmargin=3.4pt, xrightmargin=3.4pt, comment=[l][\ttfamily\color{purple}]{\%}} \newcommand{\commandinline}{\lstinline[ literate={<}{{$\langle$}}1{>}{{$\rangle$}}1, delim={[is][\color{param}\normalfont\itshape\small]{!}{!}}, basicstyle=\color{command}\ttfamily, columns=fullflexible, keepspaces]} \def\meta#1{{\color{param}\normalfont\itshape\small$\langle$#1$\rangle$}} \def\example{{\setlength{\fboxsep}{3pt}\colorbox{command}{\footnotesize\sffamily\bfseries\color{white}EXAMPLE}}} \def\BookCover{{\def\sfdefault{ugq}\sffamily\bfseries \color{black!90}\mbox{}\lower.15ex\hbox{[B}ook% \color{red!80!black}\lower.15ex\hbox{C}over\lower.15ex\hbox{]}}} \setlength{\parindent}{0pt} \setlength{\parskip}{8pt} \renewcommand{\descriptionlabel}[1]{\hspace{5mm}} \setlength{\fboxsep}{0pt} \newcounter{partfig} \begin{document} \DocInput{./bookcover.dtx} \end{document} % % \fi % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z % Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z % Digits \0\1\2\3\4\5\6\7\8\9 % Exclamation \! Double quote \" Hash (number) \# % Dollar \$ Percent \% Ampersand \& % Acute accent \' Left paren \( Right paren \) % Asterisk \* Plus \+ Comma \, % Minus \- Point \. Solidus \/ % Colon \: Semicolon \; Less than \< % Equals \= Greater than \> Question mark \? % Commercial at \@ Left bracket \[ Backslash \\ % Right bracket \] Circumflex \^ Underscore \_ % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % % \GetFileInfo{bookcover.cls} % % \title{{\Huge\BookCover\\[5mm]} % \textsf{Class for book covers and dust jackets}\\[2mm] % {\large\texttt{bookcover.cls}\\ % \eifilever\ (\eifiledate)}} % \author{Tibor T\'{o}m\'{a}cs\\{\normalsize\href{mailto:tomacs.tibor@uni-eszterhazy.hu}{\texttt{tomacs.tibor@uni-eszterhazy.hu}}}} % \date{} % \maketitle % % \AddToShipoutPictureBG*{\tikz[overlay]\fill[top color=black!50, bottom color=white] (current page.north west) rectangle +(\paperwidth,-11cm);} % % \section{Introduction} % In the following picture you can see a typical book cover with flaps, i.e.\ a dust jacket. Its parts are back flap, back cover, spine, front cover and front flap. The dust jacket is removable, whereas a book cover without flaps is a fixed part of the book. % \begin{center} % \includegraphics{figures/bookcover-einstein} % \end{center} % When you prepare a book cover for printing, some marks are needed to know where to trim or fold the paper. The crop marks determine a special area of the sheet, which is called ``bleed'' (see the green area in the next figure). The background will be expanded onto the bleed, taking account of slight inaccuracy when trimming. If there is no bleed, the likelihood of having a white strip on the edge of the finished product is high. In the next schematics figure, the red lines are the marks. The scissors symbols show the crop marks, and the other ones are the fold marks. The blue frame is the border of the printed area. % \begin{center} % \includegraphics{figures/bookcover-scheme} % \end{center} % The ``wraps'' are the areas between the front cover and front flap, and back cover and back flap (see the gray area in the previous figure). The reason this is defined is that if the front and back covers have background colors or images that continue to the foreedge of each cover, they must continue onto the flap. Because putting the edge of color right at the edge of the board would result in an unsightly boundary line when the book is closed. % % We get the following result after trimming: % \begin{center} % \includegraphics{figures/bookcover-result} % \end{center} % The \texttt{bookcover} document class can be used to create such book covers. % % \section{Loading class}\label{sec:class} % The \texttt{bookcover} class requires the services of the \texttt{article} class and the following packages: % \texttt{kvoptions}, \texttt{geometry}, \texttt{graphicx}, \texttt{calc}, \texttt{tikz}, \texttt{xparse}, \texttt{etoolbox}, \texttt{fgruler}. % % Load the class as usual, with % \begin{commandlst} % \documentclass[!!]{bookcover} % \end{commandlst} % % \medskip The list of \meta{options}: % % \begin{compactdesc} % \item[]\commandinline|coverheight=!!| Cover height (default \texttt{coverheight=240mm}). % \item[]\commandinline|coverwidth=!!| Front/back cover width (default \texttt{coverwidth=170mm}). % \item[]\commandinline|spinewidth=!!| Spine width (default \texttt{spinewidth=5mm}). % \item[]\commandinline|flapwidth=!!| Flap width (default \texttt{flapwidth=0mm}). % \item[]\commandinline|wrapwidth=!!| Wrap width (default \texttt{wrapwidth=0mm}). It only has an effect if the flap width is positive. % \item[]\commandinline|bleedwidth=!!| Bleed width (default \texttt{bleedwidth=5mm}). % \item[]\commandinline|marklength=!!| Mark length (default \texttt{marklength=10mm}). % \end{compactdesc} % \begin{center} % \includegraphics{figures/bookcover-sizes} % \end{center} % \begin{compactdesc} % \item[]\commandinline|10pt| (Default.) Normal font size is 10\,pt. % \item[]\commandinline|11pt| Normal font size is 11\,pt. % \item[]\commandinline|12pt| Normal font size is 12\,pt. % \item[]\commandinline|markthick=!!| Thickness of marks (default \texttt{markthick=0.4pt}). % \item[]\commandinline|markcolor=!!| Color of marks (default \texttt{markcolor=red}). % \item[]\commandinline|pagecolor=!!| Color of page (default \texttt{pagecolor=white}). % \item[]\commandinline|trimmed| or \commandinline|trimmed=true| Trimmed version for demonstration. % \item[]\commandinline|trimmed=false| (Default.) No trimming. Use this for printing! % \item[]\commandinline|trimmingcolor=!!| Color of trimming (default \texttt{trimmingcolor=white}). % \end{compactdesc} % % \section{Commands and environments} % Use \commandinline{bookcover} environment in the document body to make a new book cover. If you need to edit both sides of the cover, you can do it with two \texttt{bookcover} environments (see an example in subsection~\ref{subsec-two-sided-example}). You can create a component of the book cover by the following command or environment in the \texttt{bookcover} environment: % \begin{commandlst} % \bookcovercomponent{!!}{!!}[!!,!!,!!,!!]{!!} % \end{commandlst} % or its equivalent % \begin{commandlst} % \begin{bookcoverelement}{!!}{!!}[!!,!!,!!,!!] % !! % \end{bookcoverelement} % \end{commandlst} % See the section~\ref{sec:componenttypes} for the description of \meta{component type}. You can read the description of \meta{part} in section~\ref{sec:parts}. The \meta{left}, \meta{bottom}, \meta{right} and \meta{top} are the margins of the \meta{part}. The default value of every margin is \texttt{0mm}. If the \meta{left}, \meta{bottom}, \meta{right} or \meta{top} is empty or space, then its value will be \texttt{0mm}. The \meta{content} depends on the \meta{component type} (see section~\ref{sec:componenttypes}). You can use the following length commands in \meta{content}: % % \begin{compactdesc} % \item[]\commandinline{\partwidth} The width of the \meta{part} reduced by \meta{left} and \meta{right}. % \item[]\commandinline{\partheight} The height of the \meta{part} reduced by \meta{bottom} and \meta{top}. % \end{compactdesc} % % Every |\bookcovercomponent| command and |bookcoverelement| environment generates a layer on the sheet. The first one generates the bottom layer and the last one generates the top layer. % % In the following example we use |\bookcovercomponent| commands. % % \example % \begin{examplelst} % \documentclass[spinewidth=15mm,markcolor=black]{bookcover} % \begin{document} % \begin{bookcover} % \bookcovercomponent{color}{bg whole}{orange} % \bookcovercomponent{normal}{front}[,,,5cm]{\centering\bfseries\huge Book title\par} % \end{bookcover} % \end{document} % \end{examplelst} % % In the following example we use |bookcoverelement| environments. This example is equivalent to the previous one. % % \example % \begin{examplelst} % \documentclass[spinewidth=15mm,markcolor=black]{bookcover} % \begin{document} % \begin{bookcover} % \begin{bookcoverelement}{color}{bg whole} % orange % \end{bookcoverelement} % \begin{bookcoverelement}{normal}{front}[,,,5cm] % \centering\bfseries\huge Book title\par % \end{bookcoverelement} % \end{bookcover} % \end{document} % \end{examplelst} % % If the value of the \texttt{trimmed} option is \texttt{true}, then you can set the trimmed part by the following command before any \texttt{bookcover} environment: % \begin{commandlst} % \bookcovertrimmedpart{!!}[!!,!!,!!,!!] % \end{commandlst} % % Without this command, or if the \meta{trimmed part} is empty or space, then its value will be \texttt{whole} (see section~\ref{sec:parts}). The \meta{left}, \meta{bottom}, \meta{right} and \meta{top} are the margins of the \meta{part}. The default value of every margin is \texttt{0mm}. If the \meta{left}, \meta{bottom}, \meta{right} or \meta{top} is empty or space, then its value will be \texttt{0mm}. The trimmed area will be the \meta{trimmed part} reduced by the margins. % % You can change some options before any \texttt{bookcover} environment by the following command: % \begin{commandlst} % \setbookcover{!!} % \end{commandlst} % The \meta{options} can be as follows: \commandinline|markthick=!!|, \commandinline|markcolor=!!|, \commandinline|pagecolor=!!|, \commandinline|trimmed|, \commandinline|trimmed=false|, \commandinline|trimmingcolor=!!| (see section~\ref{sec:class}). See an example in the subsection~\ref{subsec:trimming} % % Use \commandinline{bookcoverdescription} environment in the document body for adding the description of the book cover and other information. Don't use it in |bookcover| environment! You can set the page geometry of the description by the following command: % \begin{commandlst} % \bookcoverdescgeometry{!!} % \end{commandlst} % The possible \meta{geometry parameteres} are the same as for |\newgeometry| in the |geometry| package. Its default value is |margin=1in|. Unlike |\newgeometry|, it can be used in the preamble as well. See an example in the subsection~\ref{subsec:desc}. % % You can use the following length commands, which are declared by the options of the document class: % \begin{compactdesc} % \item[]\commandinline{\coverwidth} % \item[]\commandinline{\coverheight} % \item[]\commandinline{\spinewidth} % \item[]\commandinline{\flapwidth} % \item[]\commandinline{\wrapwidth} % \item[]\commandinline{\marklength} % \item[]\commandinline{\bleedwidth} % \end{compactdesc} % % \section{Component types}\label{sec:componenttypes} % % Predefined component types: \commandinline{color}, \commandinline{tikz}, \commandinline{tikz clip}, \commandinline{picture}, \commandinline{normal}, \commandinline{center}, \commandinline{ruler}. % % \subsection{The color component type} % It determines the color of the part. The \meta{content} is the options of the |\fill| in the \texttt{tikz} package: % \begin{compactdesc} % \item[]\commandinline{!!} (See it in the \texttt{xcolor} package.) % \item[]\commandinline{color=!!} (It is equivalent to the previous one.) % \item[]\commandinline{top color=!!} % \item[]\commandinline{bottom color=!!} % \item[]\commandinline{middle color=!!} % \item[]\commandinline{inner color=!!} % \item[]\commandinline{outer color=!!} % \item[]\commandinline{ball color=!!} % \item[]\commandinline{shading angle=!!} It rotates the shading by the given angle. % \item[]\commandinline{opacity=!!} Sets the filling opacity. The \meta{value} is between 0 and 1. % \end{compactdesc} % % \example % \begin{examplelst} % \begin{bookcover} % \bookcovercomponent{color}{bg front}{red} % \bookcovercomponent{color}{bg back}{ % top color=white, bottom color=blue!50!black, shading angle=60} % \end{bookcover} % \end{examplelst} % % \subsection{The tikz component type} % The \meta{content} is a Ti\emph{k}Z code without |\tikz| command and |tikzpicture| environment. The origin of the Ti\emph{k}Z figure is the lower left corner of the \meta{part}. Two rectangle nodes come into being: \commandinline{part} and \commandinline{trimmed part}. (Thanks to Zunbeltz Izaola for the idea.) % % \begin{minipage}{\textwidth} % \example % \begin{examplelst} % \begin{bookcover} % \bookcovercomponent{tikz}{bg whole}{ % \fill[yellow] (part.south west) rectangle (part.north east); % \fill[gray] (trimmed part.south east) rectangle (trimmed part.north west);} % \bookcovercomponent{tikz}{bg front}{ % \fill[green] (part.south west) -- (part.center) -- (part.north west) -- cycle;} % \end{bookcover} % \end{examplelst} % \end{minipage} % \begin{center} % \fcolorbox{black!50}{white}{\includegraphics{figures/bookcover-tikz}} % \end{center} % % \subsection{The tikz clip component type} % It works the same way as the \texttt{tikz} component type, but it clips the \meta{part}. % % \example % \begin{examplelst} % \begin{bookcover} % \bookcovercomponent{tikz clip}{front}{ % \fill[green] (part.west) circle [radius=8mm];} % \bookcovercomponent{tikz}{front}{ % \fill[orange] (part.west) circle [radius=4mm];} % \end{bookcover} % \end{examplelst} % \begin{center} % \fcolorbox{black!50}{white}{\includegraphics{figures/bookcover-tikzclip}} % \end{center} % % \subsection{The picture component type} % The \meta{content} is a picture file, which will be rescaled according to the sizes of the \meta{part}. % % \example % \begin{examplelst} % \begin{bookcover} % \bookcovercomponent{picture}{bg whole}{fig.png} % \end{bookcover} % \end{examplelst} % % \subsection{The normal component type} % In this case, the \meta{content} is not specific. You can choose it as text or picture etc. % % \example % \begin{examplelst} % \begin{bookcover} % \bookcovercomponent{normal}{front}[,,,5cm]{ % \centering % {\bfseries\huge Book title}\\[5mm] % \includegraphics[width=0.4\partwidth]{fig.png}\\} % \end{bookcover} % \end{examplelst} % % \subsection{The center component type} % It works the same way as the \texttt{normal} component type, but the position of the content is the center of the part horizontally and vertically. % % \example % \begin{examplelst} % \begin{bookcover} % \bookcovercomponent{center}{above front}{ % \textcolor{blue}{Remark above front}} % \bookcovercomponent{center}{spine}{ % \rotatebox[origin=c]{-90}{\bfseries\Large Book title}} % \end{bookcover} % \end{examplelst} % % \subsection{The ruler component type} % Use the \texttt{ruler} component type to check the dimensions of the part. It draws a square ruler at the borders of the part. The \meta{content} is % \begin{commandlst} % !!,!!,!! % \end{commandlst} % % \medskip\meta{unit} The ruler unit: % \begin{compactdesc} % \item[]\commandinline{cm} Metric ruler (centimeter). If the \meta{unit} is empty or space, then its value will be \texttt{cm}. % \item[]\commandinline{in} English ruler (inch). % \end{compactdesc} % % \meta{origin} The origin of the square ruler: % \begin{compactdesc} % \item[]\commandinline{upperleft } The origin is the upper left corner of the part. Directions: down and right. If the \meta{origin} is empty or space, then its value will be \texttt{upperleft}. % \item[]\commandinline{upperright} The origin is the upper right corner of the part. Directions: down and left. % \item[]\commandinline{lowerleft } The origin is the lower left corner of the part. Directions: up and right. % \item[]\commandinline{lowerright} The origin is the lower right corner of the part. Directions: up and left. % \end{compactdesc} % % \meta{color name} The color of the ruler. If it is empty or space, then its value will be the color of the marks. % % \example % \begin{examplelst} % \begin{bookcover} % \bookcovercomponent{ruler}{back}{,,} % \bookcovercomponent{ruler}{back}[2cm,,,1cm]{,,blue} % \bookcovercomponent{ruler}{front}{,lowerright,green} % \bookcovercomponent{ruler}{front}[,1cm,2cm,]{,lowerright,gray} % \end{bookcover} % \end{examplelst} % \begin{center} % \fcolorbox{black!50}{white}{\includegraphics{figures/bookcover-ruler}} % \end{center} % % \subsection{Defining component type} % You can define a new component type, redefine or rename a defined component type with the following commands: % \begin{commandlst} % \newbookcovercomponenttype{!!}{!!} % \renewbookcovercomponenttype{!!}{!!} % \newnamebookcovercomponenttype{!!}{!!} % \letnamebookcovercomponenttype{!!}{!!} % \end{commandlst} % % \medskip Using |\newnamebookcovercomponenttype|, the definition of \meta{new component type name} and \meta{defined component type name} are always the same, even if you redefine \meta{defined component type name} later with |\renewbookcovercomponenttype|. % % Using |\letnamebookcovercomponenttype|, the definition of \meta{new component type name} is the same as the current definition of \meta{defined component type name}. If you change \meta{defined component type name} later with |\renewbookcovercomponenttype|, \meta{new component type name} doesn't change with it. % % You can use the following length commands in \meta{formatting}: % % \begin{compactdesc} % \item[]\commandinline{\partwidth} The width of the part (reduced by the margins) in which you are using the defined component type. % \item[]\commandinline{\partheight} The height of the part (reduced by the margins) in which you are using the defined component type. % \end{compactdesc} % % You have to referrence the content as \verb|#1|. % % \example % \begin{examplelst} % \documentclass{bookcover} % \newbookcovercomponenttype{center picture}{ % \vfill % \centering % \includegraphics[width=0.5\partwidth]{#1} % \vfill} % \begin{document} % \begin{bookcover} % \bookcovercomponent{center picture}{front}{fig.pdf} % \end{bookcover} % \end{document} % \end{examplelst} % % \section{Parts}\label{sec:parts} % % Each predefined part is illustrated below. The background parts are expanded onto the bleed, taking account of slight inaccuracy when trimming. In contrast, the foreground parts do not extend onto the bleed. The names of the background parts start with \commandinline{bg}. % % If your book will also have printing on the inside cover, the layout for the inside cover will be the exact opposite of the outside cover. Therefore, these parts also have synonymous names. The synonymous names contain \commandinline{inside front} instead of \commandinline{back} and \commandinline{inside back} instead of \commandinline{front}. For example \commandinline{bg front} is the same as \commandinline{bg inside back}, \commandinline{above back} is the same as \commandinline{above inside front}, etc. % % You can also use short names to specify foreground and background parts. The elements of the abbreviations are as follows: % \begin{compactdesc} % \item[]\commandinline{F}: flap % \item[]\commandinline{W}: wrap % \item[]\commandinline{C}: cover % \item[]\commandinline{S}: spine % \item[]\commandinline{l}: left (a part to the left of the spine) % \item[]\commandinline{r}: right (a part to the right of the spine) % \end{compactdesc} % For example \commandinline{lC} is the abbreviation of the left cover, i.e.\ the back cover of the outside cover, or the inside front cover of the inside cover. It is not extended onto the bleed, i.e.\ it is a foreground part. If you want to extend that part onto the bleed, type \commandinline{bg} and then a space in the front of the name. For example \commandinline{bg lC} is the left cover extended onto the bleed. Use a hyphen to specify multi-piece parts. For example \commandinline{lW-S} is the part from the left wrap to the spine, which is not extended onto the bleed. % % The following figures also show the normal and abbreviated names of the yellow parts. % % \subsection{Book cover widthout flaps, background parts} % % \setcounter{partfig}{1} % \loop % \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\hfill\stepcounter{partfig} % \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\par\smallskip\stepcounter{partfig} % \ifnum\value{partfig}<7\repeat % % \subsection{Book cover widthout flaps, foreground parts} % % \loop % \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\hfill\stepcounter{partfig} % \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\par\smallskip\stepcounter{partfig} % \ifnum\value{partfig}<13\repeat % % \subsection{Book cover widthout flaps, other parts} % % \loop % \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\hfill\stepcounter{partfig} % \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\par\smallskip\stepcounter{partfig} % \ifnum\value{partfig}<17\repeat % \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\stepcounter{partfig} % % \subsection{Book cover width flaps, background parts} % % \loop % \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\hfill\stepcounter{partfig} % \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\par\smallskip\stepcounter{partfig} % \ifnum\value{partfig}<46\repeat % % \subsection{Book cover width flaps, foreground parts} % % \loop % \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\hfill\stepcounter{partfig} % \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\par\smallskip\stepcounter{partfig} % \ifnum\value{partfig}<74\repeat % % \subsection{Book cover width flaps, other parts} % % \loop % \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\hfill\stepcounter{partfig} % \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}}\par\smallskip\stepcounter{partfig} % \ifnum\value{partfig}<78\repeat % \fbox{\includegraphics[page=\thepartfig]{figures/bookcover-parts.pdf}} % % \subsection{Defining part} % You can define a new rectangular part, redefine or rename a defined part with the following commands: % \begin{commandlst} % \newbookcoverpart{!!}{!!} % \renewbookcoverpart{!!}{!!} % \newnamebookcoverpart{!!}{!!} % \letnamebookcoverpart{!!}{!!} % \end{commandlst} % % \medskip Using |\newnamebookcoverpart|, the definition of \meta{new part name} and \meta{defined part name} are always the same, even if you redefine \meta{defined part name} later with |\renewbookcoverpart|. % % Using |\letnamebookcoverpart|, the definition of \meta{new part name} is the same as the current definition of \meta{defined part name}. If you change \meta{defined part name} later with |\renewbookcoverpart|, \meta{new part name} doesn't change with it. % % In \meta{setting} you have to set the new part sizes, the coordinates of its upper left corner (the origin is the upper left corner of the printed area), and the parameters of the \texttt{trimmed part} rectangle node in \texttt{tikz} and \texttt{tikz clip} component types. For this purpose, use the following commands: % \begin{commandlst} % \setpartposx{!!} % \setpartposy{!!} % \setpartwidth{!!} % \setpartheight{!!} % \settrimmedpart{!!}{!!}{!!}{!!} % \end{commandlst} % % \begin{center} % \includegraphics{./figures/bookcover-newpart} % \end{center} % % To give the previous lengths, you can use the following length commands, which are declared by the options of the document class: % % \begin{compactdesc} % \item[]\commandinline{\coverwidth} % \item[]\commandinline{\coverheight} % \item[]\commandinline{\spinewidth} % \item[]\commandinline{\flapwidth} % \item[]\commandinline{\wrapwidth} % \item[]\commandinline{\marklength} % \item[]\commandinline{\bleedwidth} % \end{compactdesc} % % \example % \begin{examplelst} % \documentclass[flapwidth=3cm]{bookcover} % Also try it with flapwidth=0cm option! % \newbookcoverpart{bg half front}{ % \setpartposx{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\spinewidth+1.5\coverwidth} % \setpartposy{\marklength} % \setpartheight{\coverheight+2\bleedwidth} % \ifdim\flapwidth>0mm % \setpartwidth{.5\coverwidth} % \settrimmedpart{0pt}{2\bleedwidth}{0pt}{\bleedwidth} % \else % \setpartwidth{.5\coverwidth+\bleedwidth} % \settrimmedpart{\bleedwidth}{2\bleedwidth}{0pt}{\bleedwidth}\fi} % \begin{document} % \begin{bookcover} % \bookcovercomponent{tikz}{bg half front}{ % \fill[blue] (part.south west) rectangle (part.north east); % \fill[green] (trimmed part.south west) rectangle (trimmed part.north east);} % \end{bookcover} % \end{document} % \end{examplelst} % % \section{Examples} % \subsection{A dust jacket} % \begin{center} % \fcolorbox{black!50}{white}{\includegraphics[width=\textwidth-.8pt]{bookcover-example1}} % \end{center} % \lstinputlisting[style=examplefile]{bookcover-example1.tex} % % \subsection{Barcode} % \begin{center} % \fcolorbox{black!50}{white}{\includegraphics[width=\textwidth-.8pt]{figures/bookcover-barcode}} % \end{center} % \begin{examplelst} % \documentclass{bookcover} % % The pdflatex or lualatex should be called with the -shell-escape option. % % The next line is only required for pdflatex and lualatex. % \usepackage[pdfcrop={-hires}]{auto-pst-pdf} % \usepackage{pst-barcode} % \begin{document} % \begin{bookcover} % \bookcovercomponent{normal}{back}[0mm,5mm,0mm,0mm]{ % \vfill % \centering % \begin{pspicture}(1.5in,1in) % \psbarcode{1787-6117}{includetext height=1 width=1.5}{issn} % \end{pspicture}} % \end{bookcover} % \end{document} % \end{examplelst} % % \subsection{A two-sided book cover}\label{subsec-two-sided-example} % \begin{center} % \fcolorbox{black!50}{white}{\includegraphics[page=1,width=\textwidth-.8pt]{bookcover-example2}}\\[5mm] % \fcolorbox{black!50}{white}{\includegraphics[page=2,width=\textwidth-.8pt]{bookcover-example2}} % \end{center} % \lstinputlisting[style=examplefile]{bookcover-example2.tex} % % \subsection{Trimming and checking dimensions}\label{subsec:trimming} % % The next example shows the usage of the \texttt{trimmed} option and the |\bookcovertrimmedpart| command. These allow you to view the finished product for demonstration purposes. We also check the cover dimensions. Set the value of the \texttt{trimmed} option \texttt{false} and clear \texttt{ruler} component type before printing! % % \medskip % \begin{examplelst} % \documentclass[markcolor=black,spinewidth=15mm,trimmed,trimmingcolor=gray]{bookcover} % \usepackage[latin]{babel} % \usepackage{lipsum,microtype} % % \begin{document} % % % Trimmed outside cover % \begin{bookcover} % % \bookcovercomponent{color}{bg whole}{ % top color=white, bottom color=green!30!black} % % \bookcovercomponent{normal}{front}[22mm,60mm,22mm,70mm]{ % \centering % {\huge\bfseries ANNALES\\ INFORMATICAE\par} % \vfill % {\large\bfseries TOMUS 43.~(2020)} % \vfill % {\large COMMISSIO REDACTORIUM}\\[3mm] % \lipsum[2]} % % \bookcovercomponent{normal}{back}[22mm,10mm,22mm,30mm]{ % {\centering\large ABSTRACTUM\\[5mm]} % \lipsum[1-4]} % % \bookcovercomponent{center}{spine}{ % \rotatebox[origin=c]{-90}{\footnotesize\bfseries % ANNALES INFORMATICAE 43.~(2020)}} % % \bookcovercomponent{ruler}{whole}{,,} % Check dimensions % % \end{bookcover} % % % Trimmed inside back cover % \setbookcover{trimmingcolor=black,markcolor=white} % \bookcovertrimmedpart{inside back} % % \begin{bookcover} % % \bookcovercomponent{normal}{inside back}[22mm,10mm,22mm,30mm]{ % {\centering\large GRATULATIO\\[5mm]} % \lipsum[1-4]} % % \end{bookcover} % % \end{document} % \end{examplelst} % % \newpage\begin{center} % \fcolorbox{black!50}{white}{\includegraphics[page=1,width=\textwidth-.8pt]{figures/bookcover-trimming}}\\[5mm] % \fcolorbox{black!50}{white}{\includegraphics[page=2,width=\textwidth-.8pt]{figures/bookcover-trimming}} % \end{center}% % \subsection{Adding description}\label{subsec:desc} % \begin{examplelst} % \documentclass{bookcover} % \usepackage[latin]{babel} % \usepackage{lipsum,multicol,microtype} % \bookcoverdescgeometry{vmargin=25mm,hmargin=9cm} % % \begin{document} % % % Description text % \begin{bookcoverdescription} % \title{Description} % \author{John Taylor} % \date{} % \maketitle % \begin{multicols}{3} % \lipsum % \end{multicols} % \end{bookcoverdescription} % % % Book cover % \begin{bookcover} % \bookcovercomponent{center}{front}{\Huge TITULUS LIBRIA} % \end{bookcover} % % \end{document} % \end{examplelst} % % \StopEventually{} % % \begin{macrocode} %% OPTIONS \RequirePackage{kvoptions} \SetupKeyvalOptions{family=bookcover,prefix=bookcover@} \DeclareVoidOption{10pt}{\PassOptionsToClass{10pt}{article}} \DeclareVoidOption{11pt}{\PassOptionsToClass{11pt}{article}} \DeclareVoidOption{12pt}{\PassOptionsToClass{12pt}{article}} \DeclareStringOption[170mm]{coverwidth} \DeclareStringOption[240mm]{coverheight} \DeclareStringOption[5mm]{spinewidth} \DeclareStringOption[0mm]{flapwidth} \DeclareStringOption[0mm]{wrapwidth} \DeclareStringOption[10mm]{marklength} \DeclareStringOption[.4pt]{markthick} \DeclareStringOption[5mm]{bleedwidth} \DeclareStringOption[red]{markcolor} \DeclareStringOption[white]{pagecolor} \DeclareStringOption[white]{trimmingcolor} \DeclareBoolOption[false]{trimmed} \ProcessKeyvalOptions{bookcover} %% CLASS AND PACKAGES \LoadClass{article} \RequirePackage{geometry,graphicx,calc,tikz,xparse,etoolbox} \RequirePackage[nonefgrulers]{fgruler} %% PAGE STYLE \pagestyle{empty} \def\ps@plain{} %% NEW IF \newif\if@inbookcoverenv %% USER LENGTHS \newlength{\coverwidth} \newlength{\coverheight} \newlength{\spinewidth} \newlength{\flapwidth} \newlength{\wrapwidth} \newlength{\marklength} \newlength{\markthick} \newlength{\bleedwidth} %% INTERNAL LENGTHS \newlength{\bookcover@templength@} \newlength{\bookcover@xpos@} \newlength{\bookcover@ypos@} \newlength{\bookcover@partwidth@} \newlength{\bookcover@partheight@} \newlength{\bookcover@tikz@trimmed@part@width@minus} \newlength{\bookcover@tikz@trimmed@part@height@minus} \newlength{\bookcover@tikz@trimmed@part@push@right} \newlength{\bookcover@tikz@trimmed@part@push@up} \let\partheight\bookcover@partheight@ \let\partwidth\bookcover@partwidth@ %% USER LENGTHS SETTING \setlength{\coverwidth}{\bookcover@coverwidth} \setlength{\coverheight}{\bookcover@coverheight} \setlength{\spinewidth}{\bookcover@spinewidth} \setlength{\flapwidth}{\bookcover@flapwidth} \setlength{\wrapwidth}{\bookcover@wrapwidth} \ifdim\flapwidth=0pt\setlength{\wrapwidth}{0pt}\fi \setlength{\marklength}{\bookcover@marklength} \setlength{\markthick}{\bookcover@markthick} \setlength{\bleedwidth}{\bookcover@bleedwidth} %% PAGE DIMENSIONS SETTING \geometry{% margin=0pt, paperwidth=2\marklength+2\bleedwidth+2\coverwidth+2\flapwidth+2\wrapwidth+\spinewidth, paperheight=2\marklength+2\bleedwidth+\coverheight} %% INTERNAL LENGTHS SETTING \def\bookcover@xpos#1{\setlength{\bookcover@xpos@}{#1}} \def\bookcover@ypos#1{\setlength{\bookcover@ypos@}{#1}} \def\bookcover@partwidth#1{\setlength{\bookcover@partwidth@}{#1}} \def\bookcover@partheight#1{\setlength{\bookcover@partheight@}{#1}} \def\bookcover@tikz@trimmed@part@param#1#2#3#4{% \setlength{\bookcover@tikz@trimmed@part@width@minus}{#1}% \setlength{\bookcover@tikz@trimmed@part@height@minus}{#2}% \setlength{\bookcover@tikz@trimmed@part@push@right}{#3}% \setlength{\bookcover@tikz@trimmed@part@push@up}{#4}} \let\setpartposx\bookcover@xpos \let\setpartposy\bookcover@ypos \let\setpartwidth\bookcover@partwidth \let\setpartheight\bookcover@partheight \let\settrimmedpart\bookcover@tikz@trimmed@part@param %% SETBOOKCOVER \def\setbookcover#1{% \setkeys{bookcover}{#1}% \setlength{\markthick}{\bookcover@markthick}} %% BOOKCOVERDESCGEOMETRY \def\bookcoverdescgeometry#1{\def\bookcover@descgeometry{#1}} \def\bookcover@descgeometry{margin=1in} %% BOOKCOVERDESCRIPTION \newenvironment{bookcoverdescription}{% \if@inbookcoverenv\@latexerr{Don't use 'bookcoverdescription' in 'bookcover' environment!}{}\fi}{} \AddToHook{env/bookcoverdescription/before}{\expandafter\newgeometry\expandafter{\bookcover@descgeometry}} \AddToHook{env/bookcoverdescription/after}{\restoregeometry} %% POSBOX \newcommand{\bookcover@posbox}[5]{% \setlength{\bookcover@templength@}{#4}% \put(#3,-\bookcover@templength@){% \parbox[b][0pt][t]{#1}{% \parbox[t][#2][t]{#1}{#5}}}} %% MARKS \def\bookcover@marks{\bookcovercomponent{bookcovertype@tikz}{bookcoverpart@wholepage}{ \begin{scope}[line width=\markthick,\bookcover@markcolor] \draw (\marklength+\bleedwidth,0mm) -- +(0mm,\marklength); \ifdim\flapwidth>0mm\draw (\marklength+\bleedwidth+\flapwidth+\wrapwidth,0) -- +(0,\marklength);\fi \draw (\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth,0) -- +(0,\marklength); \draw (\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth+\spinewidth,0) -- +(0,\marklength); \ifdim\flapwidth>0mm\draw (\marklength+\bleedwidth+\flapwidth+\wrapwidth+2\coverwidth+\spinewidth,0) -- +(0,\marklength);\fi \draw (\marklength+\bleedwidth+2\flapwidth+2\wrapwidth+2\coverwidth+\spinewidth,0) -- +(0,\marklength); \draw (\marklength+\bleedwidth,\paperheight) -- +(0,-\marklength); \ifdim\flapwidth>0mm\draw (\marklength+\bleedwidth+\flapwidth+\wrapwidth,\paperheight) -- +(0,-\marklength);\fi% \draw (\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth,\paperheight) -- +(0,-\marklength); \draw (\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth+\spinewidth,\paperheight) -- +(0,-\marklength); \ifdim\flapwidth>0mm\draw (\marklength+\bleedwidth+\flapwidth+\wrapwidth+2\coverwidth+\spinewidth,\paperheight) -- +(0,-\marklength);\fi \draw (\marklength+\bleedwidth+2\flapwidth+2\wrapwidth+2\coverwidth+\spinewidth,\paperheight) -- +(0,-\marklength); \draw (0,\paperheight-\marklength-\bleedwidth) -- +(\marklength,0); \draw (0,\marklength+\bleedwidth) -- +(\marklength,0); \draw (\paperwidth,\paperheight-\marklength-\bleedwidth) -- +(-\marklength,0); \draw (\paperwidth,\marklength+\bleedwidth) -- +(-\marklength,0); \end{scope}}} %% TRIMMING \def\bookcover@trimming@part{% \expandafter\ifblank\expandafter{\bookcover@trimmedpart}{\def\bookcover@trimmedpart{bookcoverpart@whole}}{}% \@ifundefined{bookcover@part@param@\bookcover@trimmedpart}{\@latexerr{Part '\bookcover@trimmedpart' is undefined.}{}}{% \begingroup% \csname bookcover@part@param@\bookcover@trimmedpart\endcsname% \expandafter\bookcover@setpartmargin\expandafter(\bookcover@trimmedmargin)% \ifdim\bookcover@partwidth@>0mm \ifdim\bookcover@partheight@>0mm \bookcover@posbox{\paperwidth}{\paperheight}{0mm}{0mm}{% \begin{tikzpicture} \begin{scope}[\bookcover@trimmingcolor] \fill (0,0) rectangle (\paperwidth,\paperheight-\bookcover@ypos@-\bookcover@partheight@); \fill (0,\paperheight) rectangle (\paperwidth,\paperheight-\bookcover@ypos@); \fill (0,0) rectangle (\bookcover@xpos@,\paperheight); \fill (\bookcover@xpos@+\bookcover@partwidth@,0) rectangle (\paperwidth,\paperheight); \end{scope} \end{tikzpicture}}\fi\fi \endgroup}} \NewDocumentCommand{\bookcovertrimmedpart}{ m O{,,,} }{\def\bookcover@trimmedpart{#1}\def\bookcover@trimmedmargin{#2}} \def\bookcover@trimmedpart{bookcoverpart@whole} \def\bookcover@trimmedmargin{,,,} %% BOOKCOVER ENVIRONMENT \def\bookcover{% \@inbookcoverenvtrue% \newpage% \pagecolor{\bookcover@pagecolor} \noindent% \begin{picture}(\paperwidth,\paperheight)(0,-\paperheight)} \def\endbookcover{% \ifbookcover@trimmed\bookcover@trimming@part\fi% \bookcover@marks% \end{picture}% \par\@inbookcoverenvfalse} %% BOOKCOVER COMPONENT \def\bookcover@setpartmargin(#1,#2,#3,#4){% \ifblank{#1}{}{% \addtolength{\bookcover@xpos@}{#1}% \addtolength{\bookcover@partwidth@}{-#1}}% \ifblank{#2}{}{% \addtolength{\bookcover@partheight@}{-#2}}% \ifblank{#3}{}{% \addtolength{\bookcover@partwidth@}{-#3}}% \ifblank{#4}{}{% \addtolength{\bookcover@ypos@}{#4}% \addtolength{\bookcover@partheight@}{-#4}}} \NewDocumentCommand{\bookcovercomponent}{ m m O{,,,} +m }{% \if@inbookcoverenv\else% \@latexerr{Use \string\bookcovercomponent\space or 'bookcoverelement' in 'bookcover' environment!}{}\fi% \@ifundefined{bookcover@part@param@#2}{\@latexerr{Part '#2' is undefined.}{}}{% \@ifundefined{bookcover@componenttype@#1}{\@latexerr{Component type '#1' is undefined.}{}}{% \ifblank{#4}{}{% \begingroup% \csname bookcover@part@param@#2\endcsname% \bookcover@setpartmargin(#3)% \ifdim\bookcover@partwidth@>0mm% \ifdim\bookcover@partheight@>0mm% \csname bookcover@componenttype@#1\endcsname{#4}\fi\fi% \endgroup}}}} %% BOOKCOVERELEMENT ENVIRONMENT \NewDocumentEnvironment{bookcoverelement}{ m m O{,,,} +b }{\bookcovercomponent{#1}{#2}[#3]{#4}} %% NEW BOOKCOVER PART \def\newbookcoverpart#1#2{% \@ifundefined{bookcover@part@param@#1}{% \expandafter\def\csname bookcover@part@param@#1\endcsname{#2}} {\@latexerr{Part '#1' is already defined.}{}}} %% RENEW BOOKCOVER PART \def\renewbookcoverpart#1#2{% \ifstrequal{#1}{bookcoverpart@wholepage}{\@latexerr{Part '#1' is protected.}{}}% \ifstrequal{#1}{bookcoverpart@whole}{\@latexerr{Part '#1' is protected.}{}}% \@ifundefined{bookcover@part@param@#1}{\@latexerr{Part '#1' is undefined.}{}}{% \expandafter\def\csname bookcover@part@param@#1\endcsname{#2}}} %% NEW NAME BOOKCOVER PART \def\newnamebookcoverpart#1#2{% \@ifundefined{bookcover@part@param@#1}{% \@ifundefined{bookcover@part@param@#2}{\@latexerr{Part '#2' is undefined.}{}}{% \expandafter\def\csname bookcover@part@param@#1\endcsname{% \csname bookcover@part@param@#2\endcsname}}} {\@latexerr{Part '#1' is already defined.}{}}} %% LET NAME BOOKCOVER PART \def\letnamebookcoverpart#1#2{% \@ifundefined{bookcover@part@param@#1}{% \@ifundefined{bookcover@part@param@#2}{\@latexerr{Part '#2' is undefined.}{}}{% \csletcs{bookcover@part@param@#1}{bookcover@part@param@#2}}} {\@latexerr{Part '#1' is already defined.}{}}} %% NEW BOOKCOVER COMPONENT TYPE \def\newbookcovercomponenttype#1#2{% \@ifundefined{bookcover@componenttype@#1}{% \long\expandafter\def\csname bookcover@componenttype@#1\endcsname##1{% \bookcover@posbox{\bookcover@partwidth@}{\bookcover@partheight@}{\bookcover@xpos@}{\bookcover@ypos@}{#2}}} {\@latexerr{Component type '#1' is already defined.}{}}} %% RENEW BOOKCOVER COMPONENT TYPE \def\renewbookcovercomponenttype#1#2{% \ifstrequal{#1}{bookcovertype@tikz}{\@latexerr{Component type '#1' is protected.}{}}% \@ifundefined{bookcover@componenttype@#1}{\@latexerr{Component type '#1' is undefined.}{}}{% \long\expandafter\def\csname bookcover@componenttype@#1\endcsname##1{% \bookcover@posbox{\bookcover@partwidth@}{\bookcover@partheight@}{\bookcover@xpos@}{\bookcover@ypos@}{#2}}}} %% NEW NAME BOOKCOVER COMPONENT TYPE \def\newnamebookcovercomponenttype#1#2{% \@ifundefined{bookcover@componenttype@#1}{% \@ifundefined{bookcover@componenttype@#2}{\@latexerr{Component type '#2' is undefined.}{}}{% \expandafter\def\csname bookcover@componenttype@#1\endcsname{% \csname bookcover@componenttype@#2\endcsname}}} {\@latexerr{Component type '#1' is already defined.}{}}} %% LET NAME BOOKCOVER COMPONENT TYPE \def\letnamebookcovercomponenttype#1#2{% \@ifundefined{bookcover@componenttype@#1}{% \@ifundefined{bookcover@componenttype@#2}{\@latexerr{Component type '#2' is undefined.}{}}{% \csletcs{bookcover@componenttype@#1}{bookcover@componenttype@#2}}} {\@latexerr{Component type '#1' is already defined.}{}}} %% COMPONENT TYPES \newbookcovercomponenttype{color}{% \tikz\fill\expandafter[#1] (0,0) rectangle (\bookcover@partwidth@,\bookcover@partheight@);} \newbookcovercomponenttype{picture}{% \includegraphics[width=\bookcover@partwidth@,height=\bookcover@partheight@]{#1}} \newbookcovercomponenttype{tikz}{% \begin{tikzpicture}[overlay,yshift=-\bookcover@partheight@] \begin{scope}[transparent,line width=0pt] \pgfset{minimum width=\bookcover@partwidth@,minimum height=\bookcover@partheight@} \pgfnode{rectangle}{south west}{}{part}{\pgfusepath{draw}} \pgfset{minimum width=\bookcover@partwidth@-\bookcover@tikz@trimmed@part@width@minus, minimum height=\bookcover@partheight@-\bookcover@tikz@trimmed@part@height@minus} \pgftransformshift{\pgfpoint{\bookcover@tikz@trimmed@part@push@right} {\bookcover@tikz@trimmed@part@push@up}} \pgfnode{rectangle}{south west}{}{trimmed part}{\pgfusepath{draw}} \end{scope} #1 \end{tikzpicture}} \letnamebookcovercomponenttype{bookcovertype@tikz}{tikz} % bookcovertype@tikz is protected type \newbookcovercomponenttype{tikz clip}{% \begin{tikzpicture}[overlay,yshift=-\bookcover@partheight@] \begin{scope}[transparent,line width=0pt] \pgfset{minimum width=\bookcover@partwidth@,minimum height=\bookcover@partheight@} \pgfnode{rectangle}{south west}{}{part}{\pgfusepath{draw}} \pgfset{minimum width=\bookcover@partwidth@-\bookcover@tikz@trimmed@part@width@minus, minimum height=\bookcover@partheight@-\bookcover@tikz@trimmed@part@height@minus} \pgftransformshift{\pgfpoint{\bookcover@tikz@trimmed@part@push@right} {\bookcover@tikz@trimmed@part@push@up}} \pgfnode{rectangle}{south west}{}{trimmed part}{\pgfusepath{draw}} \end{scope} \clip (part.south west) rectangle (part.north east); #1 \end{tikzpicture}} \newbookcovercomponenttype{normal}{#1} \newbookcovercomponenttype{center}{\vfill\begin{center}#1\end{center}\vfill} \newbookcovercomponenttype{ruler}{\expandafter\bookcover@setruler\expandafter(#1)} \def\bookcover@setruler(#1,#2,#3){% \rulernorotatenum% \ifblank{#3}{\rulerparams{}{}{\bookcover@markcolor}{}{}}{\rulerparams{}{}{#3}{}{}}% \ifblank{#2}% {\ifblank{#1}% {\squareruler{upperleft}{\bookcover@partwidth@}{\bookcover@partheight@}}% {\squareruler[#1]{upperleft}{\bookcover@partwidth@}{\bookcover@partheight@}}}% {\ifblank{#1}% {\squareruler{#2}{\bookcover@partwidth@}{\bookcover@partheight@}}% {\squareruler[#1]{#2}{\bookcover@partwidth@}{\bookcover@partheight@}}}} %% BOOKCOVER PARTS \newbookcoverpart{bg back flap}{ \ifdim\flapwidth>0mm \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \bookcover@xpos{\marklength} \bookcover@partwidth{\flapwidth+\bleedwidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}\fi} \newbookcoverpart{bg back wrap}{ \ifdim\flapwidth>0mm \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} \bookcover@partwidth{\wrapwidth} \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth}\fi} \newbookcoverpart{bg back}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \ifdim\flapwidth>0mm \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} \bookcover@partwidth{\coverwidth} \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} \else \bookcover@xpos{\marklength} \bookcover@partwidth{\coverwidth+\bleedwidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}\fi} \newbookcoverpart{bg spine}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth} \bookcover@partwidth{\spinewidth} \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth}} \newbookcoverpart{bg front}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth+\spinewidth} \ifdim\flapwidth>0mm \bookcover@partwidth{\coverwidth} \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} \else \bookcover@partwidth{\coverwidth+\bleedwidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{0pt}{\bleedwidth}\fi} \newbookcoverpart{bg front wrap}{ \ifdim\flapwidth>0mm \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+2\coverwidth+\spinewidth} \bookcover@partwidth{\wrapwidth} \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth}\fi} \newbookcoverpart{bg front flap}{ \ifdim\flapwidth>0mm \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+2\wrapwidth+2\coverwidth+\spinewidth} \bookcover@partwidth{\flapwidth+\bleedwidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{0pt}{\bleedwidth}\fi} \newbookcoverpart{bg back flap and wrap}{ \ifdim\flapwidth>0mm \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \bookcover@xpos{\marklength} \bookcover@partwidth{\flapwidth+\wrapwidth+\bleedwidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}\fi} \newbookcoverpart{bg back and wrap}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \ifdim\flapwidth>0mm \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} \bookcover@partwidth{\coverwidth+\wrapwidth} \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} \else \bookcover@xpos{\marklength} \bookcover@partwidth{\coverwidth+\bleedwidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}\fi} \newbookcoverpart{bg back and spine}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \ifdim\flapwidth>0mm \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} \bookcover@partwidth{\coverwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} \else \bookcover@xpos{\marklength} \bookcover@partwidth{\coverwidth+\bleedwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}\fi} \newbookcoverpart{bg front and spine}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth} \ifdim\flapwidth>0mm \bookcover@partwidth{\coverwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} \else \bookcover@partwidth{\coverwidth+\spinewidth+\bleedwidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{0pt}{\bleedwidth}\fi} \newbookcoverpart{bg front and wrap}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth+\spinewidth} \ifdim\flapwidth>0mm \bookcover@partwidth{\coverwidth+\wrapwidth} \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} \else \bookcover@partwidth{\coverwidth+\bleedwidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{0pt}{\bleedwidth}\fi} \newbookcoverpart{bg front flap and wrap}{ \ifdim\flapwidth>0mm \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+2\coverwidth+\spinewidth} \bookcover@partwidth{\flapwidth+\wrapwidth+\bleedwidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{0pt}{\bleedwidth}\fi} \newbookcoverpart{bg back and flap}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \bookcover@xpos{\marklength} \bookcover@partwidth{\bleedwidth+\flapwidth+\wrapwidth+\coverwidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}} \newbookcoverpart{bg back and spine and wrap}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \ifdim\flapwidth>0mm \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} \bookcover@partwidth{\wrapwidth+\coverwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} \else \bookcover@xpos{\marklength} \bookcover@partwidth{\wrapwidth+\coverwidth+\bleedwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}\fi} \newbookcoverpart{bg back and spine and front}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \ifdim\flapwidth>0mm \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} \bookcover@partwidth{2\coverwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} \else \bookcover@xpos{\marklength} \bookcover@partwidth{2\coverwidth+2\bleedwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{2\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}\fi} \newbookcoverpart{bg front and spine and wrap}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth} \ifdim\flapwidth>0mm \bookcover@partwidth{\coverwidth+\spinewidth+\wrapwidth} \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} \else \bookcover@partwidth{\coverwidth+\spinewidth+\bleedwidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{0pt}{\bleedwidth}\fi} \newbookcoverpart{bg front and flap}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth+\spinewidth} \bookcover@partwidth{\coverwidth+\flapwidth+\wrapwidth+\bleedwidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{0pt}{\bleedwidth}} \newbookcoverpart{bg back and flap and spine}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \bookcover@xpos{\marklength} \bookcover@partwidth{\bleedwidth+\flapwidth+\wrapwidth+\coverwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}} \newbookcoverpart{bg back and spine and front and back wrap}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \ifdim\flapwidth>0mm \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} \bookcover@partwidth{2\coverwidth+\spinewidth+\wrapwidth} \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} \else \bookcover@xpos{\marklength} \bookcover@partwidth{2\coverwidth+2\bleedwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{2\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}\fi} \newbookcoverpart{bg back and spine and front and front wrap}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \ifdim\flapwidth>0mm \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} \bookcover@partwidth{2\coverwidth+\spinewidth+\wrapwidth} \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} \else \bookcover@xpos{\marklength} \bookcover@partwidth{2\coverwidth+2\bleedwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{2\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}\fi} \newbookcoverpart{bg front and flap and spine}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth} \bookcover@partwidth{\coverwidth+\flapwidth+\bleedwidth+\wrapwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{0pt}{\bleedwidth}} \newbookcoverpart{bg whole without front flap and wrap}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \bookcover@xpos{\marklength} \ifdim\flapwidth>0mm \bookcover@partwidth{2\coverwidth+\flapwidth+\wrapwidth+\bleedwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth} \else \bookcover@partwidth{2\coverwidth+2\bleedwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{2\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}\fi} \newbookcoverpart{bg whole without flaps}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \ifdim\flapwidth>0mm \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} \bookcover@partwidth{2\coverwidth+\spinewidth+2\wrapwidth} \bookcover@tikz@trimmed@part@param{0pt}{2\bleedwidth}{0pt}{\bleedwidth} \else \bookcover@xpos{\marklength} \bookcover@partwidth{2\coverwidth+2\bleedwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{2\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}\fi} \newbookcoverpart{bg whole without back flap and wrap}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \ifdim\flapwidth>0mm \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} \bookcover@partwidth{2\coverwidth+\flapwidth+\wrapwidth+\bleedwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{0mm}{\bleedwidth} \else \bookcover@xpos{\marklength} \bookcover@partwidth{2\coverwidth+2\bleedwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{2\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}\fi} \newbookcoverpart{bg whole without front flap}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \bookcover@xpos{\marklength} \ifdim\flapwidth>0mm \bookcover@partwidth{2\coverwidth+\flapwidth+2\wrapwidth+\bleedwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth} \else \bookcover@partwidth{2\coverwidth+2\bleedwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{2\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}\fi} \newbookcoverpart{bg whole without back flap}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \ifdim\flapwidth>0mm \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} \bookcover@partwidth{2\coverwidth+\flapwidth+2\wrapwidth+\bleedwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{\bleedwidth}{2\bleedwidth}{0mm}{\bleedwidth} \else \bookcover@xpos{\marklength} \bookcover@partwidth{2\coverwidth+2\bleedwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{2\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}\fi} \newbookcoverpart{bg whole}{ \bookcover@ypos{\marklength} \bookcover@partheight{\coverheight+2\bleedwidth} \bookcover@xpos{\marklength} \bookcover@partwidth{2\coverwidth+2\bleedwidth+2\flapwidth+2\wrapwidth+\spinewidth} \bookcover@tikz@trimmed@part@param{2\bleedwidth}{2\bleedwidth}{\bleedwidth}{\bleedwidth}} \newbookcoverpart{whole page}{ \bookcover@partheight{\paperheight} \bookcover@partwidth{\paperwidth}} \letnamebookcoverpart{bookcoverpart@wholepage}{whole page} % bookcoverpart@wholepage is protected part \newbookcoverpart{back flap}{ \ifdim\flapwidth>0mm \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth} \bookcover@partwidth{\flapwidth}\fi} \newbookcoverpart{back wrap}{ \ifdim\flapwidth>0mm \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} \bookcover@partwidth{\wrapwidth}\fi} \newbookcoverpart{back}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} \bookcover@partwidth{\coverwidth}} \newbookcoverpart{spine}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth} \bookcover@partwidth{\spinewidth}} \newbookcoverpart{front}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth+\spinewidth} \bookcover@partwidth{\coverwidth}} \newbookcoverpart{front wrap}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+2\coverwidth+\spinewidth} \bookcover@partwidth{\wrapwidth}} \newbookcoverpart{front flap}{ \ifdim\flapwidth>0mm \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+2\wrapwidth+2\coverwidth+\spinewidth} \bookcover@partwidth{\flapwidth}\fi} \newbookcoverpart{above front}{ \ifdim\marklength>0mm \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth+\spinewidth} \bookcover@ypos{0mm} \bookcover@partwidth{\coverwidth} \bookcover@partheight{\marklength}\fi} \newbookcoverpart{below front}{ \ifdim\marklength>0mm \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth+\spinewidth} \bookcover@ypos{\marklength+2\bleedwidth+\coverheight} \bookcover@partwidth{\coverwidth} \bookcover@partheight{\marklength}\fi} \newbookcoverpart{above back}{ \ifdim\marklength>0mm \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} \bookcover@ypos{0mm} \bookcover@partwidth{\coverwidth} \bookcover@partheight{\marklength}\fi} \newbookcoverpart{below back}{ \ifdim\marklength>0mm \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} \bookcover@ypos{\marklength+2\bleedwidth+\coverheight} \bookcover@partwidth{\coverwidth} \bookcover@partheight{\marklength}\fi} \newbookcoverpart{back flap and wrap}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth} \bookcover@partwidth{\flapwidth+\wrapwidth}} \newbookcoverpart{back and wrap}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} \bookcover@partwidth{\coverwidth+\wrapwidth}} \newbookcoverpart{back and spine}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} \bookcover@partwidth{\coverwidth+\spinewidth}} \newbookcoverpart{front and spine}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth} \bookcover@partwidth{\coverwidth+\spinewidth}} \newbookcoverpart{front and wrap}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth+\spinewidth} \bookcover@partwidth{\coverwidth+\wrapwidth}} \newbookcoverpart{front flap and wrap}{ \ifdim\flapwidth>0mm \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+2\coverwidth+\spinewidth} \bookcover@partwidth{\flapwidth+\wrapwidth}\fi} \newbookcoverpart{back and flap}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@xpos{\marklength+\bleedwidth} \bookcover@partwidth{\flapwidth+\wrapwidth+\coverwidth} \bookcover@partheight{\coverheight}} \newbookcoverpart{back and spine and wrap}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} \bookcover@partwidth{\coverwidth+\spinewidth+\wrapwidth}} \newbookcoverpart{back and spine and front}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} \bookcover@partwidth{2\coverwidth+\spinewidth}} \newbookcoverpart{front and spine and wrap}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth} \bookcover@partwidth{\coverwidth+\spinewidth+\wrapwidth}} \newbookcoverpart{front and flap}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth+\spinewidth} \bookcover@partwidth{\coverwidth+\flapwidth+\wrapwidth}} \newbookcoverpart{back and flap and spine}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@xpos{\marklength+\bleedwidth} \bookcover@partwidth{\flapwidth+\wrapwidth+\coverwidth+\spinewidth} \bookcover@partheight{\coverheight}} \newbookcoverpart{back and spine and front and back wrap}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} \bookcover@partwidth{2\coverwidth+\spinewidth+\wrapwidth}} \newbookcoverpart{back and spine and front and front wrap}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} \bookcover@partwidth{2\coverwidth+\spinewidth+\wrapwidth}} \newbookcoverpart{front and flap and spine}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth+\coverwidth} \bookcover@partwidth{\coverwidth+\flapwidth+\wrapwidth+\spinewidth}} \newbookcoverpart{whole without front flap and wrap}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth} \bookcover@partwidth{2\coverwidth+\flapwidth+\wrapwidth+\spinewidth}} \newbookcoverpart{whole without flaps}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} \bookcover@partwidth{2\coverwidth+\spinewidth+2\wrapwidth}} \newbookcoverpart{whole without back flap and wrap}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth+\wrapwidth} \bookcover@partwidth{2\coverwidth+\flapwidth+\wrapwidth+\spinewidth}} \newbookcoverpart{whole without front flap}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth} \bookcover@partwidth{2\coverwidth+\flapwidth+2\wrapwidth+\spinewidth}} \newbookcoverpart{whole without back flap}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth+\flapwidth} \bookcover@partwidth{2\coverwidth+\flapwidth+2\wrapwidth+\spinewidth}} \newbookcoverpart{whole}{ \bookcover@ypos{\marklength+\bleedwidth} \bookcover@partheight{\coverheight} \bookcover@xpos{\marklength+\bleedwidth} \bookcover@partwidth{2\coverwidth+2\flapwidth+2\wrapwidth+\spinewidth}} \letnamebookcoverpart{bookcoverpart@whole}{whole} % bookcoverpart@whole is protected part %% SYNONYMOUS PART NAMES FOR INSIDE COVER ('INSIDE FRONT' = 'BACK', 'INSIDE BACK' = 'FRONT') \@for\bookcover@partname@:={% bg back flap,bg back wrap,bg back,bg front,bg front wrap,bg front flap,% bg back flap and wrap,bg back and wrap,bg back and spine,bg front and spine,bg front and wrap,bg front flap and wrap,% bg back and flap,bg back and spine and wrap,bg back and spine and front,bg front and spine and wrap,bg front and flap,% bg back and flap and spine,bg back and spine and front and back wrap,bg back and spine and front and front wrap,bg front and flap and spine,% bg whole without front flap and wrap,bg whole without back flap and wrap,% bg whole without front flap,bg whole without back flap,% back flap,back wrap,back,front,front wrap,front flap,above back,above front,below back,below front,% back flap and wrap,back and wrap,back and spine,front and spine,front and wrap,front flap and wrap,% back and flap,back and spine and wrap,back and spine and front,front and spine and wrap,front and flap,% back and flap and spine,back and spine and front and back wrap,back and spine and front and front wrap,front and flap and spine,% whole without front flap and wrap,whole without back flap and wrap,% whole without front flap,whole without back flap}% \do{% \let\bookcover@partname@original@\bookcover@partname@% \patchcmd{\bookcover@partname@}{back}{b@ck}{}{}% \patchcmd{\bookcover@partname@}{front}{fr@nt}{}{}% \patchcmd{\bookcover@partname@}{b@ck}{inside front}{}{}% \patchcmd{\bookcover@partname@}{fr@nt}{inside back}{}{}% \letnamebookcoverpart{\bookcover@partname@}{\bookcover@partname@original@}} %% SHORT PART NAMES \def\bookcover@shortpartname@#1=#2.{\letnamebookcoverpart{#1}{#2}\letnamebookcoverpart{bg #1}{bg #2}} \@for\bookcover@partname@:={% lF=back flap.,lW=back wrap.,lC=back.,S=spine.,rC=front.,rW=front wrap.,rF=front flap.,% lF-lW=back flap and wrap.,lW-lC=back and wrap.,lC-S=back and spine.,S-rC=front and spine.,rC-rW=front and wrap.,rW-rF=front flap and wrap.,% lF-lC=back and flap.,lW-S=back and spine and wrap.,lC-rC=back and spine and front.,S-rW=front and spine and wrap.,rC-rF=front and flap.,% lF-S=back and flap and spine.,lW-rC=back and spine and front and back wrap.,lC-rW=back and spine and front and front wrap.,S-rF=front and flap and spine.,% lF-rC=whole without front flap and wrap.,lW-rW=whole without flaps.,lC-rF=whole without back flap and wrap.,% lF-rW=whole without front flap.,lW-rF=whole without back flap.,% lF-rF=whole.}% \do{\expandafter\bookcover@shortpartname@\bookcover@partname@} % \end{macrocode} % \Finale \endinput