summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2011-11-24 04:24:45 +0000
committerNorbert Preining <preining@logic.at>2011-11-24 04:24:45 +0000
commit213491417fe149fd2ee04205f7951abbf7c45629 (patch)
treedc565cb2af6bdd08bc5ca56c8c1d0bbe5539e3d0 /Master/texmf-dist
parentd8722a924a4b12107c0936febeed83444eedc778 (diff)
zwpagelayout 1.3, 2011-11-23
git-svn-id: svn://tug.org/texlive/trunk@24645 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/latex/zwpagelayout/License.txt (renamed from Master/texmf-dist/doc/latex/zwpagelayout/License)0
-rw-r--r--Master/texmf-dist/doc/latex/zwpagelayout/README5
-rw-r--r--Master/texmf-dist/doc/latex/zwpagelayout/adjustfoot.pdfbin89001 -> 89001 bytes
-rw-r--r--Master/texmf-dist/doc/latex/zwpagelayout/adjusthead.pdfbin88764 -> 88764 bytes
-rw-r--r--Master/texmf-dist/doc/latex/zwpagelayout/coversample.pdfbin65926 -> 65926 bytes
-rw-r--r--Master/texmf-dist/doc/latex/zwpagelayout/zwpagelayout.pdfbin454101 -> 466967 bytes
-rw-r--r--Master/texmf-dist/doc/latex/zwpagelayout/zwpagelayout.tex178
-rw-r--r--Master/texmf-dist/tex/latex/zwpagelayout/zwpagelayout.sty226
8 files changed, 297 insertions, 112 deletions
diff --git a/Master/texmf-dist/doc/latex/zwpagelayout/License b/Master/texmf-dist/doc/latex/zwpagelayout/License.txt
index 90e5e3ab797..90e5e3ab797 100644
--- a/Master/texmf-dist/doc/latex/zwpagelayout/License
+++ b/Master/texmf-dist/doc/latex/zwpagelayout/License.txt
diff --git a/Master/texmf-dist/doc/latex/zwpagelayout/README b/Master/texmf-dist/doc/latex/zwpagelayout/README
index b7f64b65b10..1c1b3eb9e8e 100644
--- a/Master/texmf-dist/doc/latex/zwpagelayout/README
+++ b/Master/texmf-dist/doc/latex/zwpagelayout/README
@@ -1,5 +1,5 @@
=============================================================================
-Package: zwpagelayout Version 1.2 4 September 2011
+Package: zwpagelayout Version 1.3 22 November 2011
=============================================================================
This package was developed as a typographers toolbox offering the most
@@ -8,6 +8,9 @@ as well as the page layout. The next important feature is the ability of
printing crop marks both with TeX + dvips or (x)dvipdfm(x) and with pdfTeX.
Finally it is possible to reflect pages both horizontally and vertically.
+Version 1.3 fixes a few bugs and implements a new crop marks style for
+leaflets production.
+
Version 1.2 is a bug fix release, there was a bug in \ZWifdriver.
Version 1.1 adds a few features: support of black overprint, possibility
diff --git a/Master/texmf-dist/doc/latex/zwpagelayout/adjustfoot.pdf b/Master/texmf-dist/doc/latex/zwpagelayout/adjustfoot.pdf
index 9b8be271b7e..24052f7a154 100644
--- a/Master/texmf-dist/doc/latex/zwpagelayout/adjustfoot.pdf
+++ b/Master/texmf-dist/doc/latex/zwpagelayout/adjustfoot.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/zwpagelayout/adjusthead.pdf b/Master/texmf-dist/doc/latex/zwpagelayout/adjusthead.pdf
index 3d18a8fdcad..02779bf9520 100644
--- a/Master/texmf-dist/doc/latex/zwpagelayout/adjusthead.pdf
+++ b/Master/texmf-dist/doc/latex/zwpagelayout/adjusthead.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/zwpagelayout/coversample.pdf b/Master/texmf-dist/doc/latex/zwpagelayout/coversample.pdf
index 6451360e09c..daf7931ea61 100644
--- a/Master/texmf-dist/doc/latex/zwpagelayout/coversample.pdf
+++ b/Master/texmf-dist/doc/latex/zwpagelayout/coversample.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/zwpagelayout/zwpagelayout.pdf b/Master/texmf-dist/doc/latex/zwpagelayout/zwpagelayout.pdf
index 4c1cf60b38d..c917a0ffc30 100644
--- a/Master/texmf-dist/doc/latex/zwpagelayout/zwpagelayout.pdf
+++ b/Master/texmf-dist/doc/latex/zwpagelayout/zwpagelayout.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/zwpagelayout/zwpagelayout.tex b/Master/texmf-dist/doc/latex/zwpagelayout/zwpagelayout.tex
index 93247bc2ce5..be7228edf47 100644
--- a/Master/texmf-dist/doc/latex/zwpagelayout/zwpagelayout.tex
+++ b/Master/texmf-dist/doc/latex/zwpagelayout/zwpagelayout.tex
@@ -1,4 +1,4 @@
-%% $Id: zwpagelayout.tex 382 2011-09-04 11:06:05Z zw $
+%% $Id: zwpagelayout.tex 422 2011-11-22 21:28:05Z zw $
\input utf8-t1 % encTeX required
\documentclass[11pt]{article}
\usepackage{zwgetfdate}
@@ -531,7 +531,8 @@ The values of \cmd{hoffset} and \cmd{voffset} will be set to the sum of \opt{cro
text.
\subsection{Basic crop marks options}
-Options described in this section define basic behaviour of the crop marks.
+Options described in this section define basic behaviour of the crop marks. The options can be used
+in all crop mark styles.
\subsubsection{Option \opt{onlycropmarks}, default \false, standard \true}
\omg{onlycropmarks}
@@ -557,32 +558,7 @@ This option specifies the length of the crop mark.
\omg{cropgap}
This is the space that must be left blank between the crop marks and the trimmed page.
-\subsubsection{Option \opt{spine}}
-\omg{spine}
-This option is used for designing book covers. It specifies the width of the book spine. You can
-even request a zero width but negative values will have disastrous results.
-
-\subsubsection{Option \opt{xspine}}
-\omg{xspine}
-This option defines the extra space adjacent to the spine so that the book can be safely opened.
-This space should not be used for printing logos etc., because they will soon be damaged by
-frequent use of the book. The option is ignored unless \opt{spine} is used.
-
-\subsubsection{Option \opt{flap}}
-\omg{flap}
-This is another option for book covers. It specifies the width of the flap. If \opt{spine} is
-given, the book cover is supposed to have flaps of equal sizes on both sides. Sometimes you do not
-have flaps and the back cover remains empty, thus you do not like to prepare the design of it, you
-just wish to design the spine and the front cover. This can be acheved by specifying \opt{flap} as
-the spine thickness and omitting \opt{spine}.
-
-\subsubsection{Options \opt{trim}, \opt{xtrim}, \opt{ytrim}}
-\omg{trim}\omg{xtrim}\omg{ytrim}
-The paper or canvas used for printing the book covers is folded to the inner side yet part of it
-will be visible. Such part is specified by \opt{xtrim} in horizontal direction and \opt{ytrim} in
-vertical direction. You can use \opt{trim} to set both of them to the same value.
-
-\subsubsection{Option \opt{cropframe}, default \false, standard \true}
+\subsubsection{Option \opt{cropframe}, default \false, standard \true}\label{cropframe}
\omg{cropframe}
When designing a book cover we often wish to verify whether all elements are properly aligned.
Option \opt{cropframe} can be used to print the frames. It is active only if \opt{cropmarks} was
@@ -594,8 +570,8 @@ This is a complementary option to \opt{cropframe}.
\subsubsection{Option \opt{cropstyle}}\label{cropstyle}
\omg{cropstyle}
-This option selects the style of the crop marks. Currently only the \textit{default} style is
-defined, thus the option is only useful if you write your own extension.
+This option selects the style of the crop marks. Two styles are defined, \textit{default} and
+\textit{leaflet}.
\subsubsection{Option \opt{croptitle}}
\omg{croptitle}
@@ -645,6 +621,94 @@ required and will be loaded automatically. If you set \opt{nobleedclip} to \true
not be clipped. It may be useful if you know that nothing extends to the crop marks area and the
\pkg{color} package may clash with other packages required by your document.
+\subsection{Options for the \textit{default} style}
+These options can be used if \opt{cropstyle} is set to \textit{default} or omitted.
+
+\subsubsection{Option \opt{spine}}
+\omg{spine}
+This option is used for designing book covers. It specifies the width of the book spine. You can
+even request a zero width but negative values will have disastrous results.
+
+\subsubsection{Option \opt{xspine}}
+\omg{xspine}
+This option defines the extra space adjacent to the spine so that the book can be safely opened.
+This space should not be used for printing logos etc., because they will soon be damaged by
+frequent use of the book. The option is ignored unless \opt{spine} is used.
+
+\subsubsection{Option \opt{flap}}
+\omg{flap}
+This is another option for book covers. It specifies the width of the flap. If \opt{spine} is
+given, the book cover is supposed to have flaps of equal sizes on both sides. Sometimes you do not
+have flaps and the back cover remains empty, thus you do not like to prepare the design of it, you
+just wish to design the spine and the front cover. This can be acheved by specifying \opt{flap} as
+the spine thickness and omitting \opt{spine}.
+
+\subsubsection{Options \opt{trim}, \opt{xtrim}, \opt{ytrim}}
+\omg{trim}\omg{xtrim}\omg{ytrim}
+The paper or canvas used for printing the book covers is folded to the inner side yet part of it
+will be visible. Such part is specified by \opt{xtrim} in horizontal direction and \opt{ytrim} in
+vertical direction. You can use \opt{trim} to set both of them to the same value.
+
+\subsection{Options for the \textit{leaflet} style}\label{cropstyle.leaflet}
+The following options can be used if \opt{cropstyle} is defined as \textit{leaflet}. As the value
+says, the style is useful for leaflet production because in addtion to the crop marks additional
+marks for folding. Not all options can be used with all fold types. It will be described in greater
+detail in the following text.
+
+The leaflets are usually printed on both sides and sometimes one of the leaves needs width
+correction as will be explained later. The macros will apply the correction the one side on odd
+pages and on the other side on even pages. This can only happen if the \opt{twoside} class option
+is given or a class is used where two-side printing is the default. Usually the leaflet will
+consist of two pages only but no check is made.
+
+The \opt{cropframe} option (see~\ref{cropframe}) can also be used for previewing the leaflet
+layout.
+
+\subsubsection{Option \opt{leafcount}, default 4}
+\omg{leafcount}
+This option defines the number of leaves to be used in the Z-type. It is silently ignored with
+other fold types. Internally other fold types overwrite it with the value they need in the macros.
+
+\subsubsection{Option \opt{foldcorr}, default 0mm}
+\omg{foldcorr}
+As default all leaves have equal width. However, from technical or stylistic reasons the letmost or
+righmost leaf requires a different width. This can be achieved by this option. The value specifies
+an additional horizontal skip that is applied when printing the crop/fold marks and the optional
+frames.
+
+The width of the leaves is equal because it is achieved by \cmd{hfil}. If you specify
+\verb.foldcorr=-2mm., the corrected leaf will be 2\,mm narower that the others. Since there is
+\textit{1fil} in the width specification of the leaves, you can achieve nice tricks be specifying
+\verb.foldcorr=5cm plus -1fil.. In such a cas the \textit{1fil} in the corrected leaf will vanish
+and its width will be 5\,cm.
+
+Width corrections are not allowed in the \textit{Z} and \textit{4} types and the option value is
+ignored. The details of the \opt{foldcorr} will be given in the next section.
+
+\subsubsection{Option \opt{fold}, default 2}
+\omg{fold}
+This option selects a fold type used with the leaflet. Supported options are \textit{2},
+\textit{3left}, \textit{3right}, \textit{4}, \textit{Z}. Their exact meaning is described below.
+
+\begin{description}
+\item[2] This option is used for singly folded leaflet. Usually the leaves will have different
+widths. The width of the left leaf is modified by the \opt{foldcorr} option.
+\item[3left] This option defines a leaflet with three leaves folded inside. For technical reasons
+the leaf folded inside must be slightly narrower. Typically this is the leftmost leaf. The leaf can
+be made narrower by applying \opt{foldcorr}.
+\item[3right] This is essentially the same as the previous option with the only difference that the
+\opt{foldcorr} correction is applied to the rightmost leaf.
+\item[Z] This option is used for Z-folded leaflets. The number of leaves is defined by the
+\opt{leafcount} option and with correction is not allowed.
+\item[4] This type of leaflet looks as the Z-type but without a fold in the middle. It can be
+viewed as a middle leaf of double width and the outer leaves are folded so that they touch each
+other. The middle crop mark is therefore missing because there is no fold there but a line will be
+drawn if the \opt{cropframe} option is requested.
+\end{description}
+
+As a final remark it is important to write that the width correction is applied as explained above
+on the odd pages. The correction of the same size is applied to the opposite side of the leaflet on
+even pages.
\section{Color support}\label{color}
The package is able to produce basic color support, namely it prints the names of separations. The
@@ -1087,6 +1151,12 @@ The actual point is set to the lower left corner of the paper as defined by \cmd
current color is set according to \opt{cropcolor} option and the font is selected. Afterwards the
\cmd{cropstyle@special} macro is called.
+Some crop styles may require initialization. If it is the case of your style, you have to define
+macro \cmd{cropstyle@special@setup}. This macro will be executed in the \cmd{AtBeginDocument} hook.
+Execution of the macro in that hook allows you to defin the crop style in a package that may be
+loaded after \pkg{zwpagelayout}.
+It is not an error if the setup macro does not exist.
+
As already noted, the intention is to discourage users from writing their own crop styles. We will
therefore only mention that the package defines a few useful macros that can be used in the crop
style definition. If your temptation to design your own crop style is really strong, you should
@@ -1116,24 +1186,6 @@ Only a few most frequent drivers are automatically detected and supported. Their
in section~\ref{driver.selection}. If you use another driver, you should probably disable all
driver specific features.
-\subsection{Page style inheritance}
-It is not possible to inherit part of the definition of another page style. Suppose you need
-``plain'' pages but with a fixed running head. You will try to define it as:
-
-\vb
-
-\begin{verbatim}
-\def\ps@mypagestyle{\ps@plain
- \def\@oddhead{\hfill My running head}\let\@evenhead\@oddhead}
-\pagestyle{mypagestyle}
-\end{verbatim}
-
-\vb
-
-This will work fine if cropmarks are not requested. If you request cropmarks, \LaTeX\ will sooner
-or later fall into an endless loop which will stop when memory is exhausted. You have to define
-page styles from scratch.
-
\subsection{Shifted cropmarks when the running foot overflows}
If there is not enough space for the running foot, the cropmarks will most likely be shifted. It
usually happens if you set option \opt{footskip} to zero (which is its default value) and forget to
@@ -1177,11 +1229,37 @@ This section summarizes the changes. The version and the package date is given.
specify the date in the \cmd{usepackage} or \cmd{RequirePackage} command if you rely on a specific
feature not available in the old version of the package.
-\subsection{Version 1.1, 2010/12/xx}
+\subsection{Version 1.3, 2011/11/22}
+\begin{itemize}
+\item Bug fix, weird errors appeared if the \pkg{ifxetex} package was loaded previously either
+directly or indirectly. Loading of both \pkg{ifpdf} and \pkg{ifxetex} packages written in a different way.
+\item Bug fix, pagestyle patching redesigned (r.~409); in the previous versions the crop marks may
+disapear if \cmd{pagestyle} was issued again, mainly when the \pkg{fancyhdr} package was used.
+\item New feature, when defining a page style, a part of another style may now be inherited. The
+following code now can be used:
+\begin{verbatim}
+\def\ps@mypagestyle{\ps@plain
+ \def\@oddhead{\hfill My running head}\let\@evenhead\@oddhead}
+\pagestyle{mypagestyle}
+\end{verbatim}
+\item Bug fix: \cmd{globaldefs} is set to zero for printing crop marks. If it were nonzero,
+crop marks will not work and will spoil the document. \LaTeX\ users probably do not know this
+primitive but who knows\,\ldots
+\item Bug fix: without the \opt{twoside} class option and with asymetric margins the crop marks were
+printed on wrong positions on the even pages.
+\item New feature: crop marks style for leaflets added (section~\ref{cropstyle.leaflet}).
+\end{itemize}
+
+\subsection{Version 1.2, 2011/09/04}
+\begin{itemize}
+\item Bug fix, \cmd{fi} was missing in the definition of \cmd{ZWifdriver}.
+\end{itemize}
+
+\subsection{Version 1.1, 2010/12/21}
Two bugs were fixed and a few new features were introduced. Documentation is modified and extended as
well.
\begin{itemize}
-\item Bug fix, if \cmd{pagestyle} or \cmd{thispagestyle} was issued within a group while cropmarks
+\item Bug fix, if \cmd{pagestyle} or \cmd{thispagestyle} was issued within a group while crop marks
were active, the package often failed into an endless loop which resulted in exhausting the memory.
\item Bug fix, the code for page reflection for \texttt{dvips} did not preserve properly the old
\texttt{bop-hook}.
diff --git a/Master/texmf-dist/tex/latex/zwpagelayout/zwpagelayout.sty b/Master/texmf-dist/tex/latex/zwpagelayout/zwpagelayout.sty
index 9829e307e84..ffff213d72b 100644
--- a/Master/texmf-dist/tex/latex/zwpagelayout/zwpagelayout.sty
+++ b/Master/texmf-dist/tex/latex/zwpagelayout/zwpagelayout.sty
@@ -1,7 +1,7 @@
-\ProvidesPackage{zwpagelayout}[2011/09/04 ZW Page Layout]
-\PackageInfo{zwpagelayout}{$Id: zwpagelayout.sty 382 2011-09-04 11:06:05Z zw $\@gobble}
+\ProvidesPackage{zwpagelayout}[2011/11/22 ZW Page Layout]
+\PackageInfo{zwpagelayout}{$Id: zwpagelayout.sty 419 2011-11-22 16:57:09Z zw $\@gobble}
-%% Copyright 2008--2010 Z. Wagner, http://icebearsoft.euweb.cz
+%% Copyright 2008--2011 Z. Wagner, http://icebearsoft.euweb.cz
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -20,14 +20,26 @@
% adjustfoot.tex, adjustfoot.pdf, adjusthead.tex, adjusthead.pdf,
% coversample.tex, coversample.pdf, LoremIpsumDolor.tex.
-\IfFileExists{ifpdf.sty}{\RequirePackage{ifpdf}}{\newif\ifpdf}
-\IfFileExists{ifxetex.sty}{\RequirePackage{ifxetex}}{\newif\ifxetex}
-\RequirePackage{kvoptions}
+\@ifpackageloaded{ifpdf}{}{\IfFileExists{ifpdf.sty}{\RequirePackage{ifpdf}}{\newif\ifpdf}}
+\@ifpackageloaded{ifxetex}{}{\IfFileExists{ifxetex.sty}{\RequirePackage{ifxetex}}{\newif\ifxetex}}
+\RequirePackage{kvoptions}[2010/02/22]
\SetupKeyvalOptions{family=zwpl,prefix=zwpl@}
-% Backspace character with catcode=12
+% Fix a problem with xkeyval
-{\lccode`\!`\\ \lowercase{\gdef\PDFbksp{!}}}
+\expandafter\ifx\csname kvsetkeys\endcsname\relax
+ \let\ZWsetkeys\setkeys
+\else
+ \let\ZWsetkeys\kvsetkeys
+\fi
+
+% Backslash character with catcode=12
+
+{\lccode`\!`\\ \lowercase{\gdef\PDFbkslash{!}}}
+
+% Percent character with catcode=12
+
+{\lccode`\!`\% \lowercase{\gdef\ZWpercent{!}}}
% Driver selection macros and options
@@ -56,42 +68,42 @@
% Normalized paper sizes
-\DeclareVoidOption{a0}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={841mm,1189mm}}}
-\DeclareVoidOption{a1}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={594mm,841mm}}}
-\DeclareVoidOption{a2}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={420mm,594mm}}}
-\DeclareVoidOption{a3}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={297mm,420mm}}}
-\DeclareVoidOption{a4}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={210mm,297mm}}}
-\DeclareVoidOption{a5}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={148mm,210mm}}}
-\DeclareVoidOption{a6}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={105mm,148mm}}}
-\DeclareVoidOption{a7}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={74mm,105mm}}}
-\DeclareVoidOption{a8}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={52mm,74mm}}}
-\DeclareVoidOption{a9}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={37mm,52mm}}}
-\DeclareVoidOption{a10}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={26mm,37mm}}}
-\DeclareVoidOption{b0}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={1000mm,1414mm}}}
-\DeclareVoidOption{b1}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={707mm,1000mm}}}
-\DeclareVoidOption{b2}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={500mm,707mm}}}
-\DeclareVoidOption{b3}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={353mm,500mm}}}
-\DeclareVoidOption{b4}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={250mm,353mm}}}
-\DeclareVoidOption{b5}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={176mm,250mm}}}
-\DeclareVoidOption{b6}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={125mm,176mm}}}
-\DeclareVoidOption{b7}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={88mm,125mm}}}
-\DeclareVoidOption{b8}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={62mm,88mm}}}
-\DeclareVoidOption{b9}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={44mm,62mm}}}
-\DeclareVoidOption{b10}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={31mm,44mm}}}
-\DeclareVoidOption{c0}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={917mm,1279mm}}}
-\DeclareVoidOption{c1}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={648mm,917mm}}}
-\DeclareVoidOption{c2}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={458mm,648mm}}}
-\DeclareVoidOption{c3}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={324mm,458mm}}}
-\DeclareVoidOption{c4}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={229mm,324mm}}}
-\DeclareVoidOption{c5}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={162mm,229mm}}}
-\DeclareVoidOption{c6}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={114mm,162mm}}}
-\DeclareVoidOption{c7}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={81mm,114mm}}}
-\DeclareVoidOption{c8}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={57mm,81mm}}}
-\DeclareVoidOption{c9}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={40mm,57mm}}}
-\DeclareVoidOption{c10}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={28mm,40mm}}}
-\DeclareVoidOption{letter}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={8.5in,11in}}}
-\DeclareVoidOption{legal}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={8.5in,14in}}}
-\DeclareVoidOption{executive}{\setkeys{zwpl}{AllowWidthHeightSwitching,papersize={7.25in,10.5in}}}
+\DeclareVoidOption{a0}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={841mm,1189mm}}}
+\DeclareVoidOption{a1}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={594mm,841mm}}}
+\DeclareVoidOption{a2}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={420mm,594mm}}}
+\DeclareVoidOption{a3}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={297mm,420mm}}}
+\DeclareVoidOption{a4}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={210mm,297mm}}}
+\DeclareVoidOption{a5}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={148mm,210mm}}}
+\DeclareVoidOption{a6}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={105mm,148mm}}}
+\DeclareVoidOption{a7}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={74mm,105mm}}}
+\DeclareVoidOption{a8}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={52mm,74mm}}}
+\DeclareVoidOption{a9}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={37mm,52mm}}}
+\DeclareVoidOption{a10}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={26mm,37mm}}}
+\DeclareVoidOption{b0}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={1000mm,1414mm}}}
+\DeclareVoidOption{b1}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={707mm,1000mm}}}
+\DeclareVoidOption{b2}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={500mm,707mm}}}
+\DeclareVoidOption{b3}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={353mm,500mm}}}
+\DeclareVoidOption{b4}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={250mm,353mm}}}
+\DeclareVoidOption{b5}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={176mm,250mm}}}
+\DeclareVoidOption{b6}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={125mm,176mm}}}
+\DeclareVoidOption{b7}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={88mm,125mm}}}
+\DeclareVoidOption{b8}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={62mm,88mm}}}
+\DeclareVoidOption{b9}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={44mm,62mm}}}
+\DeclareVoidOption{b10}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={31mm,44mm}}}
+\DeclareVoidOption{c0}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={917mm,1279mm}}}
+\DeclareVoidOption{c1}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={648mm,917mm}}}
+\DeclareVoidOption{c2}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={458mm,648mm}}}
+\DeclareVoidOption{c3}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={324mm,458mm}}}
+\DeclareVoidOption{c4}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={229mm,324mm}}}
+\DeclareVoidOption{c5}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={162mm,229mm}}}
+\DeclareVoidOption{c6}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={114mm,162mm}}}
+\DeclareVoidOption{c7}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={81mm,114mm}}}
+\DeclareVoidOption{c8}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={57mm,81mm}}}
+\DeclareVoidOption{c9}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={40mm,57mm}}}
+\DeclareVoidOption{c10}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={28mm,40mm}}}
+\DeclareVoidOption{letter}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={8.5in,11in}}}
+\DeclareVoidOption{legal}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={8.5in,14in}}}
+\DeclareVoidOption{executive}{\ZWsetkeys{zwpl}{AllowWidthHeightSwitching,papersize={7.25in,10.5in}}}
% Layout (for the odd page, even page is mirrored)
@@ -137,6 +149,11 @@
\DeclareBoolOption{nobleedclip}
\DeclareBoolOption{noBboxes}
+% Leaflet cropmarks (cropmarkstyle=leaflet)
+\DeclareStringOption[0mm]{foldcorr}% Ignored when fold=4 and fold=Z
+\DeclareStringOption[2]{fold}% Valid options: 2, 3left, 3right, 4, Z
+\DeclareStringOption[4]{leafcount}% For fold=Z only
+
% Color support for cropmarks and black overprint
\DeclareBoolOption{color}
\DeclareStringOption[cmyk]{colormodel}
@@ -153,7 +170,7 @@
\DeclareStringOption{author}
\DeclareStringOption{subject}
\DeclareStringOption{keywords}
-\DeclareVoidOption{nopdfinfo}{\setkeys{zwpl}{title}}
+\DeclareVoidOption{nopdfinfo}{\ZWsetkeys{zwpl}{title}}
\def\zwpl@default@title{\ifcat$\zwpl@croptitle$\jobname\else\zwpl@croptitle\fi}
@@ -214,7 +231,7 @@
% Other packages
\ifzwpl@onlycropmarks
- \setkeys{zwpl}{cropmarks}
+ \ZWsetkeys{zwpl}{cropmarks}
\else
% Set the paper size
@@ -314,7 +331,7 @@
\@onlypreamble\SetPDFminorversion
\ifzwpl@pdfx
- \setkeys{zwpl}{pdfminorversion=3}
+ \ZWsetkeys{zwpl}{pdfminorversion=3}
\let\SetPDFminorversion\@gobble
\fi
@@ -392,7 +409,7 @@
% Page margins
\ifcat$\zwpl@margins$ \else
- \setkeys{zwpl}{topmargin=\zwpl@margins,botmargin,
+ \ZWsetkeys{zwpl}{topmargin=\zwpl@margins,botmargin,
leftmargin=\zwpl@margins,rightmargin=\zwpl@margins}
\fi
\topmargin\zwpl@topmargin
@@ -408,7 +425,7 @@
\fi
\ifcat$\zwpl@trim$ \else
- \setkeys{zwpl}{xtrim=\zwpl@trim,ytrim=\zwpl@trim}
+ \ZWsetkeys{zwpl}{xtrim=\zwpl@trim,ytrim=\zwpl@trim}
\fi
% Paper width
@@ -492,7 +509,7 @@
\ifdim\textheight>\z@ \else
\ifcat$\zwpl@botmargin$
- \setkeys{zwpl}{botmargin}
+ \ZWsetkeys{zwpl}{botmargin}
\fi
\fi
@@ -670,10 +687,13 @@
}
\or % xetex
\iffalse % disabled because it does not work
- \special{pdf: obj @opoff << /Type /ExtGState /op false /OP false /OPM 0 >>}
- \special{pdf: obj @opon << /Type /ExtGState /op true /OP true /OPM 1 >>}
- \special{pdf: obj @extgs << /GSko @opoff 0 R /GSop @opon 0 R >>}
- \special{pdf: put @resources << /ExtGState @extgs 0 R >>}
+ \special{pdf: object @opoff << /Type /ExtGState /op false /OP false /OPM 0 >>}
+ \special{pdf: object @opon << /Type /ExtGState /op true /OP true /OPM 1 >>}
+ \special{pdf: object @extgs << /GSko @opoff /GSop @opon >>}
+ %\special{pdf: object @ExtGS << /ExtGState @extgs >>}
+ %\def\ZWAddResources{\special{pdf: put @thispage << /Resources @ExtGS >>}}
+ %\def\ZWAddResources{\special{pdf: put @resources << /Resources @ExtGS >>}}
+ \def\ZWAddResources{\special{pdf: put @resources << /ExtGState @extgs >>}}
% macros for setting and resetting the overprint state
\def\zwpl@setop{\zwpl@resetop
\aftergroup\zwpl@resetop}
@@ -694,9 +714,9 @@
\aftergroup\zwpl@resetop}
\def\zwpl@resetop{%
\ifzwpl@op
- \special{ps:true setoverprint}%
+ \special{ps: true setoverprint}%
\else
- \special{ps:false setoverprint}%
+ \special{ps: false setoverprint}%
\fi
}
\fi
@@ -718,27 +738,30 @@
\advance\zwpl@low -\paperheight
\ifzwpl@cropmarks
+ \AtBeginDocument{\expandafter\ifx\csname cropmarkstyle@\zwpl@cropmarkstyle\endcsname\relax
+ \PackageWarningNoLine{zwpagelayout}{Unimplemented cropmarkstyle=\zwpl@cropmarkstyle}
+ \fi \csname cropmarkstyle@\zwpl@cropmarkstyle @setup\endcsname}
\let\zwpl@pagestyle\pagestyle
\let\zwpl@thispagestyle\thispagestyle
\def\pagestyle{\let\zwpl@next\zwpl@pagestyle \zwpl@testps}
\def\thispagestyle{\let\zwpl@next\zwpl@thispagestyle \zwpl@testps}
\fi
-\def\zwpl@testps#1{\@ifundefined{zwpl@ps@#1}{\zwpl@patchps{#1}}{}\zwpl@next{#1}}
+\def\zwpl@testps#1{\xdef\zw@pstyle{ZW\ZWpercent#1\ZWpercent}%
+ \@ifundefined{ps@\zw@pstyle}{\zwpl@patchps{#1}{\zw@pstyle}}{}\zwpl@next{\zw@pstyle}}
-\def\zwpl@patchps#1{\global\expandafter\let\csname zwpl@ps@#1\expandafter\endcsname\csname ps@#1\endcsname
- \expandafter\gdef\csname ps@#1\endcsname{\csname zwpl@ps@#1\endcsname \zwpl@patchfoot}}
+\def\zwpl@patchps#1#2{\expandafter\gdef\csname ps@#2\endcsname{\csname ps@#1\endcsname \zwpl@patchfoot}}
\def\zwpl@patchfoot{\let\zwpl@oddfoot\@oddfoot \let\zwpl@evenfoot\@evenfoot
\def\@oddfoot{\zwpl@cropbox\zwpl@oddfoot}%
\def\@evenfoot{\zwpl@cropbox\zwpl@evenfoot}}
% We must use the knockout mode in the cropmarks (added 2010-12-21)
-\def\zwpl@cropbox{{\ifzwpl@overprint\SetKnockout\fi
+\def\zwpl@cropbox{{\globaldefs=0\relax \ifzwpl@overprint\SetKnockout\fi
\rlap{% Some parameters may be changed within the document
\raisebox{\zwpl@low}[\z@][\z@]{\everyvbox{}\offinterlineskip\boxmaxdepth\z@
\hskip -\hoffset \hskip -1in \hskip -
- \ifodd\c@page \oddsidemargin \else \evensidemargin \fi
+ \if@twoside \ifodd\c@page \oddsidemargin \else \evensidemargin \fi \else \oddsidemargin \fi
\vbox to \paperheight{\hsize\paperwidth \parindent\z@
\ifzwpl@nobleedclip\else
\begingroup \vbox to \z@{\color{white}\noindent
@@ -762,6 +785,7 @@
\ifzwpl@cropmarks \zwpl@patchfoot \fi
+% General definitions for the crop marks
\newdimen\zwpl@len \zwpl@len\zwpl@croplength
\newdimen\zwpl@gap \zwpl@gap\zwpl@cropgap
\newdimen\zwpl@plus \newdimen\zwpl@minus
@@ -803,6 +827,9 @@
\fi
\hskip\zwpl@gap \zwpl@horiz}}
+\def\zwpl@cvert{\clap{\zwpl@vert}}
+
+% Vertical crop lines for the default style
\newcommand*\zwpl@vline[1][]{%
\zwpl@hh{\zwpl@cross \hskip\zwpl@gap \clap{\zwpl@vert}%
\ifcat$\zwpl@xtrim$\else
@@ -831,6 +858,7 @@
\fi
\clap{\zwpl@vert}\hskip\zwpl@gap \zwpl@cross}}
+% Default crop mark style
\def\cropmarkstyle@default{%
\expandafter\zwpl@vline\ifzwpl@color[\zwpl@showallcolors]\fi
\vskip\zwpl@gap \zwpl@hline
@@ -870,6 +898,82 @@
\fi
\zwpl@hline \vskip\zwpl@gap \zwpl@vline[\zwpl@printcroptitle]}
+% Leaflet style
+\def\zwpl@fold@use#1{\csname zwpl@fold@#1@leaf\endcsname}
+\def\zwpl@fold@def#{\expandafter\expandafter\expandafter\def\zwpl@fold@use}
+
+% We can do this because cropmark dimensions are set within a group
+\def\zwpl@switchskips{\let\zwpl@temp\zwpl@leftskip
+ \let\zwpl@leftskip\zwpl@rightskip
+ \let\zwpl@rightskip\zwpl@temp}
+
+\newif\ifzwpl@middle
+\def\zwpl@nofoldcorr{\def\zwpl@foldcorr{0mm}}
+
+% Leaflet initialization
+\zwpl@fold@def{2}{\def\zwpl@leafcount{2}%
+ \def\zwpl@leftskip{\hskip\zwpl@foldcorr}%
+ \def\zwpl@rightskip{}}
+\zwpl@fold@def{3left}{\def\zwpl@leafcount{3}%
+ \def\zwpl@leftskip{\hskip\zwpl@foldcorr}%
+ \def\zwpl@rightskip{}}
+\zwpl@fold@def{3right}{\zwpl@fold@use{3left}\zwpl@switchskips}
+\zwpl@fold@def{Z}{\def\zwpl@leftskip{}\let\zwpl@rightskip\zwpl@leftskip\zwpl@nofoldcorr}
+\zwpl@fold@def{4}{\zwpl@fold@use{Z}\def\zwpl@leafcount{4}\zwpl@middletrue}
+
+\def\cropmarkstyle@leaflet@setup{%
+ \expandafter\expandafter\expandafter\ifx\zwpl@fold@use{\zwpl@fold}\relax
+ \PackageWarningNoLine{zwpagelayout}{Unimplemented leaflet fold=\zwpl@fold.\MessageBreak
+ Leaflet crop marks will not be printed.}
+ \def\zwpl@cropmarkstyle{\ZWpercent}
+ \else
+ \zwpl@fold@use{\zwpl@fold}%
+ % Test the variables by assignments
+ \@tempskipa=\zwpl@foldcorr\relax
+ \count@=\zwpl@leafcount\relax
+ \fi
+}
+
+% vertical crop lines for a leaflet
+\newcommand*\zwpl@vleaf[1][]{%
+ \zwpl@hh{\zwpl@cross \hskip\zwpl@gap \zwpl@cvert
+ \rlap{\hskip\zwpl@gap #1}\zwpl@leftskip
+ \count@=1
+ \loop
+ \hfil
+ \ifzwpl@middle
+ \ifnum\count@>1
+ \zwpl@middlefalse
+ \else
+ \zwpl@cvert
+ \fi
+ \else
+ \zwpl@cvert
+ \fi
+ \advance\count@ 1
+ \ifnum\count@<\zwpl@leafcount \repeat
+ \hfil \zwpl@rightskip
+ \zwpl@cvert\hskip\zwpl@gap \zwpl@cross}}
+
+% Crop marks for a leaflet
+\def\cropmarkstyle@leaflet{%
+ \if@twoside \ifodd\c@page \else \zwpl@switchskips \fi \fi
+ \expandafter\zwpl@vleaf\ifzwpl@color[\zwpl@showallcolors]\fi
+ \vskip\zwpl@gap \zwpl@hline
+ \vss
+ \ifzwpl@cropframe
+ \zwpl@hh{\hskip \hoffset \zwpl@frm \zwpl@leftskip
+ \count@=1
+ \loop
+ \hfil \zwpl@frm
+ \advance\count@ 1
+ \ifnum\count@<\zwpl@leafcount \repeat
+ \hfil \zwpl@rightskip
+ \zwpl@frm \hskip \hoffset}\vss
+ \fi
+ \zwpl@hline \vskip\zwpl@gap \zwpl@vleaf[\zwpl@printcroptitle]}
+
+% Print the crop title
\def\zwpl@printcroptitle{\raisebox{.8ex}[\z@][\z@]{\ifzwpl@usepagenumbers
\ifzwpl@pagenumberfirst
\thePageNumber