summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/bookcover
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-11-17 03:00:38 +0000
committerNorbert Preining <norbert@preining.info>2020-11-17 03:00:38 +0000
commitae5cb0f32e931708a1fe4e7e84793590c0d59df4 (patch)
treeca7c24224dd6563eee7e67d5ead99aaf3369d678 /macros/latex/contrib/bookcover
parent1e974f97ab28af897be376bdbd15593048fa45ea (diff)
CTAN sync 202011170300
Diffstat (limited to 'macros/latex/contrib/bookcover')
-rw-r--r--macros/latex/contrib/bookcover/bookcover-example1.pdfbin276016 -> 276039 bytes
-rw-r--r--macros/latex/contrib/bookcover/bookcover-example1.tex75
-rw-r--r--macros/latex/contrib/bookcover/bookcover-example2.pdfbin170222 -> 150046 bytes
-rw-r--r--macros/latex/contrib/bookcover/bookcover-example2.tex50
-rw-r--r--macros/latex/contrib/bookcover/bookcover.dtx230
-rw-r--r--macros/latex/contrib/bookcover/bookcover.pdfbin1378688 -> 1395230 bytes
-rw-r--r--macros/latex/contrib/bookcover/figures/barcode.pdfbin4978 -> 4957 bytes
7 files changed, 209 insertions, 146 deletions
diff --git a/macros/latex/contrib/bookcover/bookcover-example1.pdf b/macros/latex/contrib/bookcover/bookcover-example1.pdf
index 91286e1c69..57ce8d14de 100644
--- a/macros/latex/contrib/bookcover/bookcover-example1.pdf
+++ b/macros/latex/contrib/bookcover/bookcover-example1.pdf
Binary files differ
diff --git a/macros/latex/contrib/bookcover/bookcover-example1.tex b/macros/latex/contrib/bookcover/bookcover-example1.tex
index 446263394c..9351a8687a 100644
--- a/macros/latex/contrib/bookcover/bookcover-example1.tex
+++ b/macros/latex/contrib/bookcover/bookcover-example1.tex
@@ -1,46 +1,58 @@
\documentclass[spinewidth=25mm,coverwidth=15cm,coverheight=20cm,flapwidth=6cm]{bookcover}
+
\newbookcovercomponenttype{center rotate}{
\parbox[t][\partheight][c]{\partwidth}{
\begin{center}
- \rotatebox[origin=c]{90}{#1}
+ \rotatebox[origin=c]{90}{#1}
\end{center}}}
-\usepackage[outline]{contour}
-\usepackage{lipsum}
+
+\usepackage[outline]{contour}% It doesn't work with xelatex and lualatex
\contourlength{1pt}
\definecolor{lightbrown}{RGB}{176,88,0}
\colorlet{title}{yellow!60!black}
+\usepackage[latin]{babel}
+\usepackage{lipsum}
+
\begin{document}
\begin{bookcover}
+% Remark
+\begin{bookcoverelement}{center}{above front}
+ \textcolor{blue}{A DUST JACKET}
+\end{bookcoverelement}
+
% Black background color on the whole cover
-\bookcovercomponent{color}{bg whole}{color=black}
+\begin{bookcoverelement}{color}{bg whole}
+ black
+\end{bookcoverelement}
% Brown background picture on the whole cover, without the flaps
-\bookcovercomponent{picture}{bg whole without flaps}{./figures/bg.jpg}
+\begin{bookcoverelement}{picture}{bg whole without flaps}
+ ./figures/bg.jpg
+\end{bookcoverelement}
% Vertical light brown transparent trails on the back cover by a tikz code
-\bookcovercomponent{tikz}{bg back}{
+\begin{bookcoverelement}{tikz}{bg back}
\fill[opacity=0.3,color=lightbrown]
- (0mm,0mm) rectangle (20mm,210mm) (100mm,0mm) rectangle (150mm,210mm);}
+ (0mm,0mm) rectangle (20mm,210mm) (100mm,0mm) rectangle (150mm,210mm);
+\end{bookcoverelement}
% Vertical light brown transparent trails on the front cover by a tikz code
-\bookcovercomponent{tikz}{bg front}{
+\begin{bookcoverelement}{tikz}{bg front}
\fill[opacity=0.3,color=lightbrown]
- (0mm,0mm) rectangle (50mm,210mm) (130mm,0mm) rectangle (150mm,210mm);}
+ (0mm,0mm) rectangle (50mm,210mm) (130mm,0mm) rectangle (150mm,210mm);
+\end{bookcoverelement}
-% Remark
-\bookcovercomponent{center}{above front}{
- \color{blue}A DUST JACKET}
-
-% Picture (cards.png) on the front, behind the title
-\bookcovercomponent{normal}{front}{
+% Picture on the front, behind the title
+\begin{bookcoverelement}{normal}{front}
\vspace{70mm}
\centering
- \includegraphics[width=8cm]{./figures/cards.png}}
+ \includegraphics[width=8cm]{./figures/cards.png}
+\end{bookcoverelement}
% Text on the front cover
-\bookcovercomponent{normal}{front}{
+\begin{bookcoverelement}{normal}{front}
\centering
\vspace{60mm}
\color{title}\sffamily\bfseries
@@ -49,35 +61,40 @@
\resizebox*{90mm}{40mm}{\parbox{35mm}{
\centering
\contour{black}{PROBABILITY}\\
- \contour{black}{THEORY}\\}}}
+ \contour{black}{THEORY}\\}}
+\end{bookcoverelement}
% Text on the spine
-\bookcovercomponent{center rotate}{spine}{%
+\begin{bookcoverelement}{center rotate}{spine}
\contour{black}{%
- \color{title}\huge\sffamily\bfseries%
- Rose Taylor -- Probability Theory}}
+ \color{title}\huge\sffamily\bfseries
+ Rose Taylor -- Probability Theory}
+\end{bookcoverelement}
% Text on the back cover
-\bookcovercomponent{normal}{back}{
+\begin{bookcoverelement}{normal}{back}
\centering
\vspace{20mm}
- \parbox{110mm}{\color{white}\lipsum[1]}}
+ \parbox{110mm}{\color{white}\lipsum[1]}
+\end{bookcoverelement}
-% Text and picture (dice.png) on the front flap
-\bookcovercomponent{normal}{front flap}{
+% Text and picture on the front flap
+\begin{bookcoverelement}{normal}{front flap}
\centering
\vspace{20mm}
\parbox{40mm}{\color{white}\lipsum[2]}
\vfill
\includegraphics[width=30mm]{./figures/dice.png}
- \vspace{10mm}}
+ \vspace{10mm}
+\end{bookcoverelement}
% Text on the back flap
-\bookcovercomponent{normal}{back flap}{
+\begin{bookcoverelement}{normal}{back flap}
\centering
\vspace{20mm}
- \parbox{40mm}{\color{white}\lipsum[2]}}
+ \parbox{40mm}{\color{white}\lipsum[2]}
+\end{bookcoverelement}
\end{bookcover}
-\end{document} \ No newline at end of file
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/bookcover/bookcover-example2.pdf b/macros/latex/contrib/bookcover/bookcover-example2.pdf
index 896896656b..14918ecb48 100644
--- a/macros/latex/contrib/bookcover/bookcover-example2.pdf
+++ b/macros/latex/contrib/bookcover/bookcover-example2.pdf
Binary files differ
diff --git a/macros/latex/contrib/bookcover/bookcover-example2.tex b/macros/latex/contrib/bookcover/bookcover-example2.tex
index 9444376f89..7397045035 100644
--- a/macros/latex/contrib/bookcover/bookcover-example2.tex
+++ b/macros/latex/contrib/bookcover/bookcover-example2.tex
@@ -1,40 +1,39 @@
\documentclass[markcolor=black,spinewidth=15mm]{bookcover}
-\usepackage[utf8]{inputenc}
-\usepackage[T1]{fontenc}
-\usepackage[english]{babel}
-\usepackage{url,lipsum}
-\definecolor{amiyellow}{cmyk}{0,0,.5,0}
+\usepackage[latin]{babel}
+\usepackage{lipsum}
+\definecolor{amiyellow}{cmyk}{0,0,.6,0}
+
\begin{document}
-% The outside of the book cover
+% The outside of the book cover
\begin{bookcover}
+% Remark
+\bookcovercomponent{center}{above front}{
+ \textcolor{red}{\textsc{Annales Mathematicae et Informaticae} book cover -- outside}}
+
% Yellow triangle on the back cover by tikz code
\bookcovercomponent{tikz}{bg back}{
- \fill[color=amiyellow](.5,.5)--(17.5,24.5)--(17.5,0)--(.5,0)--cycle;}
+ \fill[amiyellow](.5,.5)--(17.5,24.5)--(17.5,0)--(.5,0)--cycle;}
% Yellow triangle on the front cover by tikz code
\bookcovercomponent{tikz}{bg front}{
- \fill[color=amiyellow](0,0)--(0,24.5)--(17,.5)--(17,0)--cycle;}
+ \fill[amiyellow](0,0)--(0,24.5)--(17,.5)--(17,0)--cycle;}
% Yellow background color on the spine
-\bookcovercomponent{color}{bg spine}{color=amiyellow}
-
-% Remark
-\bookcovercomponent{center}{above front}{
- \color{red}\textsc{Annales Mathematicae et Informaticae} book cover -- outside}
+\bookcovercomponent{color}{bg spine}{amiyellow}
% Text on the spine
\bookcovercomponent{center}{spine}{
- \rotatebox[origin=c]{90}{\footnotesize\bfseries
- ANNALES MATHEMATICAE ET INFORMATICAE 43.\ (2014)}}
+ \rotatebox[origin=c]{90}{\footnotesize\bfseries
+ ANNALES MATHEMATICAE ET INFORMATICAE 43.~(2020)}}
-% Text and pictures (summa.pdf, ekflogo.pdf) on the front cover
+% Text and pictures on the front cover
\bookcovercomponent{normal}{front}{
- \vspace{30.5mm}
+ \vspace{30mm}
\centering
{\huge\bfseries ANNALES\\ MATHEMATICAE ET\\ INFORMATICAE\\[13mm]}
- {\large\bfseries TOMUS 43.\ (2014)}\\[10mm]
+ {\large\bfseries TOMUS 43.~(2020)}\\[10mm]
\includegraphics{./figures/summa.pdf}
\vfill
{\large COMMISSIO REDACTORIUM}\\[3mm]
@@ -43,14 +42,21 @@
{\large\bfseries HUNGARIA}
\vspace{10mm}}
+% Text on the back cover
+\bookcovercomponent{normal}{back}{
+ \vspace{30mm}
+ \centering
+ {\large\bfseries Contents}\\[5mm]
+ \parbox{126mm}{\lipsum[1-4]}}
+
\end{bookcover}
-% The inside of the book cover
+% The inside of the book cover
\begin{bookcover}
% Remark
\bookcovercomponent{center}{above front}{
- \color{red}\textsc{Annales Mathematicae et Informaticae} book cover -- inside}
+ \textcolor{red}{\textsc{Annales Mathematicae et Informaticae} book cover -- inside}}
% Text on the front cover (it is back of the inside book cover!)
\bookcovercomponent{normal}{front}{
@@ -60,7 +66,7 @@
ANNALES MATHEMATICAE ET INFORMATICAE\\[3mm]
International journal for mathematics and computer science\\[3mm]
Referred by\\
- Zentralblatt für Mathematik\\
+ Zentralblatt f\"{u}r Mathematik\\
and\\
Mathematical Reviews\\
\end{center}
@@ -71,4 +77,4 @@
\end{bookcover}
-\end{document} \ No newline at end of file
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/bookcover/bookcover.dtx b/macros/latex/contrib/bookcover/bookcover.dtx
index b9ab7e69cc..876bae7142 100644
--- a/macros/latex/contrib/bookcover/bookcover.dtx
+++ b/macros/latex/contrib/bookcover/bookcover.dtx
@@ -17,12 +17,12 @@
% \iffalse
%<*driver>
\ProvidesFile{bookcover.dtx}
-\newcommand{\eifiledate}{2020/11/12}
-\newcommand{\eifilever}{v2.4}
+\newcommand{\eifiledate}{2020/11/16}
+\newcommand{\eifilever}{v2.5}
%</driver>
%<class>
-%<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<class>\ProvidesClass{bookcover}[2020/11/12 v2.4 class for book covers and dust jackets]
+%<class>\NeedsTeXFormat{LaTeX2e}[2020/10/01]
+%<class>\ProvidesClass{bookcover}[2020/11/16 v2.5 class for book covers and dust jackets]
%
%<*driver>
\documentclass{ltxdoc}
@@ -131,7 +131,7 @@
%
% \section{Loading class}
% The class \texttt{bookcover} requires the services of the class \texttt{article} and the following packages:
-% \texttt{kvoptions}, \texttt{geometry}, \texttt{graphicx}, \texttt{calc}, \texttt{ifthen}, \texttt{tikz}, \texttt{fgruler}.
+% \texttt{kvoptions}, \texttt{geometry}, \texttt{graphicx}, \texttt{calc}, \texttt{ifthen}, \texttt{tikz}, \texttt{environ}, \texttt{fgruler}.
%
% \medskip\noindent
% Load the class as usual, with
@@ -168,26 +168,29 @@
% \end{examplelst}
%
% \section{Creating book cover}\label{sec:mainmethod}
-% \subsection{Commands}
-% Use \commandinline{bookcover} environment to make a new book cover. In this environment, you can create a component of the book cover by the following command:
+% \subsection{Commands and environments}
+% Use \commandinline{bookcover} environment in the body of the document to make a new book cover. In this environment, you can create a component of the book cover by the following command or environment:
% \begin{commandlst}
% \bookcovercomponent{!<component type>!}{!<part>!}{!<content>!}
% \end{commandlst}
-% \meta{component type} See Subsection \ref{subsec:componenttypes}.
-%
-% \medskip\noindent
-% \meta{part} See Subsection \ref{subsec:parts-main-method} or Section~\ref{sec:illustration-parts}.
+% or
+% \begin{commandlst}
+% \begin{bookcoverelement}{!<component type>!}{!<part>!}
+% !<content>!
+% \end{bookcoverelement}
+% \end{commandlst}
+% See the subsection~\ref{subsec:componenttypes} for the description of \meta{component type}. You can read the description of \meta{part} in subsection~\ref{subsec:parts-main-method} and section~\ref{sec:illustration-parts}. The \meta{content} depends on the \meta{component type} (see subsection~\ref{subsec:componenttypes}).
%
% \medskip\noindent
-% \meta{content} It depends on the \meta{component type}. See Subsection \ref{subsec:componenttypes}.
+% 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.
%
% \medskip\noindent
-% Every |\bookcovercomponent| generates a layer on the sheet. The first one generates the bottom layer and the last one generates the top layer.
+% The following two examples are equivalent.
%
-% \bigskip\noindent\example
+% \medskip\noindent\example
% \begin{examplelst}
% \begin{bookcover}
-% \bookcovercomponent{color}{bg whole}{color=blue}
+% \bookcovercomponent{color}{bg whole}{blue}
% \bookcovercomponent{normal}{front}{
% \vspace{5cm}
% \begin{center}
@@ -196,8 +199,29 @@
% \end{bookcover}
% \end{examplelst}
%
+% \noindent\example
+% \begin{examplelst}
+% \begin{bookcover}
+% \begin{bookcoverelement}{color}{bg whole}
+% blue
+% \end{bookcoverelement}
+% \begin{bookcoverelement}{normal}{front}
+% \vspace{5cm}
+% \begin{center}
+% \bfseries\huge Book title
+% \end{center}
+% \end{bookcoverelement}
+% \end{bookcover}
+% \end{examplelst}
+%
+% \noindent Use \commandinline{bookcoverdescription} environment in the body of the document 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{!<geometry parameteres>!}
+% \end{commandlst}
+% See the \meta{geometry parameteres} in the |geometry| package. Its default value is |margin=1in|. See an example in the subsection~\ref{subsec:desc}.
+%
% \subsection{Parts}\label{subsec:parts-main-method}
-% Important: The background parts are expanded onto the bleed, taking account of slight inaccuracy when trimming!
+% It is important, that the background parts are expanded onto the bleed, taking account of slight inaccuracy when trimming!
% \subsubsection{One-piece background parts}
% \commandinline{bg back flap}, \commandinline{bg back}, \commandinline{bg spine}, \commandinline{bg front}, \commandinline{bg front flap}
%
@@ -223,7 +247,7 @@
% \end{center}
%
% \subsubsection{Combined parts}
-% The following combined parts are defined. You can see illustrations in the Section~\ref{sec:illustration-parts}.
+% The following combined parts are defined. You can see illustrations in the section~\ref{sec:illustration-parts}.
% \begin{center}
% \begin{tabular}{@{}>{\color{command}\ttfamily}l@{\hspace{1cm}}>{\color{command}\ttfamily}l@{}}
% {\rmfamily\bfseries\textcolor{black}{background}}&{\rmfamily\bfseries\textcolor{black}{foreground}}\\
@@ -245,14 +269,11 @@
% \subsection{Component types}\label{subsec:componenttypes}
% The following component types are defined: \commandinline{color}, \commandinline{picture}, \commandinline{tikz}, \commandinline{tikz clip}, \commandinline{normal}, \commandinline{center}, \commandinline{ruler}.
% \subsubsection[color]{Component type: \texttt{color}}
-% \begin{commandlst}
-% \bookcovercomponent{color}{!<part>!}{!<colors>!}
-% \end{commandlst}
-% It determines the color of the part.
+% It determines the color of the part. The \meta{content} is the options of the |\fill| in the \texttt{tikz} package:
%
-% \medskip\noindent
-% \meta{colors} The options of the |\fill| in the \texttt{tikz} package:\label{page:color}\\
-% \indent\commandinline{color=!<color name>!} See \meta{color name} in the \texttt{xcolor} package.\\
+% \medskip
+% \indent\commandinline{!<color name>!} (See it in the \texttt{xcolor} package.)\\
+% \indent\commandinline{color=!<color name>!} (It is equivalent to the previous one.)\\
% \indent\commandinline{top color=!<color name>!}\\
% \indent\commandinline{bottom color=!<color name>!}\\
% \indent\commandinline{middle color=!<color name>!}\\
@@ -261,43 +282,41 @@
% \indent\commandinline{ball color=!<color name>!}\\
% \indent\commandinline{shading angle=!<degree>!} It rotates the shading by the given angle.
%
-% \pagebreak\bigskip\noindent\example
+% \bigskip\noindent\example
+% \begin{examplelst}
+% \bookcovercomponent{color}{bg whole without flaps}{red}
+% \end{examplelst}
+%
+% \noindent\example\ It is equivalent to the previous example.
% \begin{examplelst}
-% \begin{bookcover}
-% \bookcovercomponent{color}{bg whole without flaps}{
-% top color=white, bottom color=blue!50!black, shading angle=60}
-% \end{bookcover}
+% \bookcovercomponent{color}{bg whole without flaps}{color=red}
+% \end{examplelst}
+%
+% \noindent\example
+% \begin{examplelst}
+% \bookcovercomponent{color}{bg whole without flaps}{
+% top color=white, bottom color=blue!50!black, shading angle=60}
% \end{examplelst}
%
% \subsubsection[picture]{Component type: \texttt{picture}}
-% \begin{commandlst}
-% \bookcovercomponent{picture}{!<part>!}{!<picture file>!}
-% \end{commandlst}
-% The picture will be rescaled according to the sizes of the \meta{part}.
+% The \meta{content} is a picture file, which will be rescaled according to the sizes of the \meta{part}.
%
% \bigskip\noindent\example
% \begin{examplelst}
-% \begin{bookcover}
-% \bookcovercomponent{picture}{bg front flap}{fig.png}
-% \end{bookcover}
+% \bookcovercomponent{picture}{bg front flap}{fig.png}
% \end{examplelst}
%
% \subsubsection[tikz]{Component type: \texttt{tikz}}
-% \begin{commandlst}
-% \bookcovercomponent{tikz}{!<part>!}{!<tikz code>!}
-% \end{commandlst}
-% 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.)
+% 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.)
%
% \bigskip\noindent\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);
% \draw[green] (0,0) circle [radius=10mm];}
% \bookcovercomponent{tikz}{bg spine}{
% \fill[orange] (part.center) circle [radius=8mm];}
-% \end{bookcover}
% \end{examplelst}
% \begin{center}
% \setlength{\fboxsep}{0pt}\setlength{\fboxrule}{.4pt}
@@ -305,21 +324,16 @@
% \end{center}
%
% \subsubsection[tikz clip]{Component type: \texttt{tikz clip}}
-% \begin{commandlst}
-% \bookcovercomponent{tikz clip}{!<part>!}{!<tikz code>!}
-% \end{commandlst}
% It works the same as the \texttt{tikz} component type, but it clips the \meta{part}.
%
% \bigskip\noindent\example
% \begin{examplelst}
-% \begin{bookcover}
% \bookcovercomponent{tikz clip}{bg whole}{
% \fill[yellow] (part.south west) rectangle (part.north east);
% \fill[gray] (trimmed part.south east) rectangle (trimmed part.north west);
% \draw[green] (0,0) circle [radius=10mm];}
% \bookcovercomponent{tikz clip}{bg spine}{
% \fill[orange] (part.center) circle [radius=8mm];}
-% \end{bookcover}
% \end{examplelst}
% \begin{center}
% \setlength{\fboxsep}{0pt}\setlength{\fboxrule}{.4pt}
@@ -327,43 +341,33 @@
% \end{center}
%
% \subsubsection[normal]{Component type: \texttt{normal}}
-% \begin{commandlst}
-% \bookcovercomponent{normal}{!<part>!}{!<content>!}
-% \end{commandlst}
% In this case, the \meta{content} is not specific. You can choose it as text or picture etc.
%
% \bigskip\noindent\example
% \begin{examplelst}
-% \begin{bookcover}
-% \bookcovercomponent{normal}{front}{
-% \vspace{5cm}
-% \begin{center}
-% {\bfseries\huge Book title}\\[5mm]
-% \includegraphics[width=6cm]{fig.png}
-% \end{center}}
-% \end{bookcover}
+% \bookcovercomponent{normal}{front}{
+% \vspace{5cm}
+% \begin{center}
+% {\bfseries\huge Book title}\\[5mm]
+% \includegraphics[width=6cm]{fig.png}
+% \end{center}}
% \end{examplelst}
%
% \subsubsection[center]{Component type: \texttt{center}}
-% \begin{commandlst}
-% \bookcovercomponent{center}{!<part>!}{!<content>!}
-% \end{commandlst}
% It works the same as the \texttt{normal} component type, but the position of the content is the center of the part (horizontally and vertically).
%
% \bigskip\noindent\example
% \begin{examplelst}
-% \begin{bookcover}
-% \bookcovercomponent{center}{above front}{
-% \color{blue}Remark above front}
-% \bookcovercomponent{center}{spine}{
-% \rotatebox[origin=c]{90}{\bfseries\Large Book title}}
-% \end{bookcover}
+% \bookcovercomponent{center}{above front}{
+% \textcolor{blue}{Remark above front}}
+% \bookcovercomponent{center}{spine}{
+% \rotatebox[origin=c]{90}{\bfseries\Large Book title}}
% \end{examplelst}
%
% \subsubsection[ruler]{Component type: \texttt{ruler}}
-% Use the \texttt{ruler} component type to check the sizes of the part.
+% Use the \texttt{ruler} component type to check the sizes of the part. The \meta{content} is
% \begin{commandlst}
-% \bookcovercomponent{ruler}{!<part>!}{\setruler[!<unit>!]{!<coordsys>!}{!<shift x>!}{!<shift y>!}{!<color>!}}
+% \setruler[!<unit>!]{!<coordsys>!}{!<shift x>!}{!<shift y>!}{!<color>!}
% \end{commandlst}
% \meta{unit} The ruler unit:\\
% \indent\commandinline{cm} Metric ruler (centimeter). Default value.\\
@@ -382,14 +386,12 @@
% \medskip\noindent
% \meta{color} The color of the ruler.
%
-% \pagebreak\bigskip\noindent\example
+% \bigskip\noindent\example
% \begin{examplelst}
-% \begin{bookcover}
-% \bookcovercomponent{ruler}{back}{\setruler{upper left}{0cm}{0cm}{blue}}
-% \bookcovercomponent{ruler}{back}{\setruler{upper left}{2cm}{1cm}{black}}
-% \bookcovercomponent{ruler}{front}{\setruler{lower right}{0cm}{0cm}{green}}
-% \bookcovercomponent{ruler}{front}{\setruler{lower right}{2cm}{1cm}{gray}}
-% \end{bookcover}
+% \bookcovercomponent{ruler}{back}{\setruler{upper left}{0cm}{0cm}{blue}}
+% \bookcovercomponent{ruler}{back}{\setruler{upper left}{2cm}{1cm}{black}}
+% \bookcovercomponent{ruler}{front}{\setruler{lower right}{0cm}{0cm}{green}}
+% \bookcovercomponent{ruler}{front}{\setruler{lower right}{2cm}{1cm}{gray}}
% \end{examplelst}
% \begin{center}
% \setlength{\fboxsep}{0pt}\setlength{\fboxrule}{.4pt}
@@ -467,9 +469,9 @@
% \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);}
+% \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}
@@ -482,23 +484,27 @@
% \includepdf[pages=27-35,pagecommand={}]{figures/parts.pdf}
% \includepdf[pages=43-52,pagecommand={\subsection{Foreground parts (cover widthout flaps)}}]{figures/parts.pdf}
%
-% \newpage\section{Full examples}
+% \newpage\section{Examples}
% \subsection{A dust jacket}
-% \lstinputlisting[style=examplefile]{bookcover-example1.tex}
% \begin{center}
% \setlength{\fboxsep}{0pt}\setlength{\fboxrule}{.4pt}
% \fcolorbox{black!50}{white}{\includegraphics[width=\textwidth-.8pt]{bookcover-example1}}\label{page:example1}
% \end{center}
+% \lstinputlisting[style=examplefile]{bookcover-example1.tex}
%
-% \subsection{A two-sided book cover}
-% \lstinputlisting[style=examplefile]{bookcover-example2.tex}
+% \newpage\subsection{A two-sided book cover}
% \begin{center}
% \setlength{\fboxsep}{0pt}\setlength{\fboxrule}{.4pt}%
% \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}
+% \newpage\lstinputlisting[style=examplefile]{bookcover-example2.tex}
%
-% \newpage\subsection{Barcode}
+% \subsection{Barcode}
+% \begin{center}
+% \setlength{\fboxsep}{0pt}\setlength{\fboxrule}{.4pt}
+% \fcolorbox{black!50}{white}{\includegraphics[width=\textwidth-.8pt]{figures/barcode}}
+% \end{center}
% \begin{examplelst}
% \documentclass{bookcover}
% \usepackage{pst-barcode}
@@ -521,11 +527,31 @@
% \end{examplelst}
% In this case, the \texttt{pdflatex} or \texttt{lualatex} must be called with the \texttt{-shell-escape} option.
%
-% \bigskip
-% \begin{center}
-% \setlength{\fboxsep}{0pt}\setlength{\fboxrule}{.4pt}
-% \fcolorbox{black!50}{white}{\includegraphics[width=\textwidth-.8pt]{figures/barcode}}
-% \end{center}
+% \subsection{Adding description}\label{subsec:desc}
+% \begin{examplelst}
+% \documentclass{bookcover}
+% \usepackage[latin]{babel}
+% \usepackage{lipsum,multicol}
+% \bookcoverdescgeometry{vmargin=25mm,hmargin=9cm}
+%
+% \begin{document}
+%
+% \begin{bookcoverdescription}
+% \title{Description}
+% \author{John Taylor}
+% \date{}
+% \maketitle
+% \begin{multicols}{3}
+% \lipsum
+% \end{multicols}
+% \end{bookcoverdescription}
+%
+% \begin{bookcover}
+% % book cover components
+% \end{bookcover}
+%
+% \end{document}
+% \end{examplelst}
%
% \StopEventually{}
%
@@ -552,12 +578,13 @@
%% CLASS AND PACKAGES
\LoadClass{article}
-\RequirePackage{geometry,graphicx,calc,ifthen,tikz}
+\RequirePackage{geometry,graphicx,calc,ifthen,tikz,environ}
\RequirePackage[nonefgrulers]{fgruler}
%% PAGE STYLE
\pagestyle{empty}
+\def\ps@plain{}
%% NEW IF
@@ -606,10 +633,6 @@
paperwidth=2\marklength+2\bleedwidth+2\coverwidth+2\flapwidth+\spinewidth,
paperheight=2\marklength+2\bleedwidth+\coverheight}
-%% NO PARAGRAPH INDENTATION
-
-\setlength{\parindent}{0pt}
-
%% INTERNAL LENGTHS SETTING
\def\bookcover@xpos#1{\setlength{\bookcover@xpos@}{#1}}
@@ -627,6 +650,18 @@
\let\setpartheight\bookcover@partheight
\let\settrimmedpart\bookcover@tikz@trimmed@part@param
+%% 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}[4]{%
@@ -746,6 +781,7 @@
\def\bookcover{%
\@inbookcoverenvtrue%
\newpage%
+ \noindent%
\begin{picture}(\paperwidth,\paperheight)(0,-\paperheight)}
\def\endbookcover{%
@@ -772,6 +808,10 @@
\ifdim\bookcover@partheight@>0mm
\csname bookcover@componenttype@#1\endcsname{#3}\fi\fi\fi}}}
+%% BOOKCOVERELEMENT ENVIRONMENT
+
+\NewEnviron{bookcoverelement}[2]{\bookcovercomponent{#1}{#2}{\BODY}}
+
%% NEW BOOKCOVER PART
\def\newbookcoverpart#1#2{
@@ -821,7 +861,7 @@
%% COMPONENT TYPES
\newbookcovercomponenttype{color}{
- \tikz\fill[#1] (0,0) rectangle (\bookcover@partwidth@,\bookcover@partheight@);}
+ \tikz\fill\expandafter[#1] (0,0) rectangle (\bookcover@partwidth@,\bookcover@partheight@);}
\newbookcovercomponenttype{picture}{
\includegraphics[width=\bookcover@partwidth@,height=\bookcover@partheight@]{#1}}
diff --git a/macros/latex/contrib/bookcover/bookcover.pdf b/macros/latex/contrib/bookcover/bookcover.pdf
index 997c774ba3..b6c800cfc6 100644
--- a/macros/latex/contrib/bookcover/bookcover.pdf
+++ b/macros/latex/contrib/bookcover/bookcover.pdf
Binary files differ
diff --git a/macros/latex/contrib/bookcover/figures/barcode.pdf b/macros/latex/contrib/bookcover/figures/barcode.pdf
index 8ebc815498..f06b38799f 100644
--- a/macros/latex/contrib/bookcover/figures/barcode.pdf
+++ b/macros/latex/contrib/bookcover/figures/barcode.pdf
Binary files differ