diff options
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/README | 5 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/zwpagelayout/adjustfoot.pdf | bin | 89001 -> 89001 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/zwpagelayout/adjusthead.pdf | bin | 88764 -> 88764 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/zwpagelayout/coversample.pdf | bin | 65926 -> 65926 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/zwpagelayout/zwpagelayout.pdf | bin | 454101 -> 466967 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/zwpagelayout/zwpagelayout.tex | 178 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/zwpagelayout/zwpagelayout.sty | 226 |
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 Binary files differindex 9b8be271b7e..24052f7a154 100644 --- a/Master/texmf-dist/doc/latex/zwpagelayout/adjustfoot.pdf +++ b/Master/texmf-dist/doc/latex/zwpagelayout/adjustfoot.pdf diff --git a/Master/texmf-dist/doc/latex/zwpagelayout/adjusthead.pdf b/Master/texmf-dist/doc/latex/zwpagelayout/adjusthead.pdf Binary files differindex 3d18a8fdcad..02779bf9520 100644 --- a/Master/texmf-dist/doc/latex/zwpagelayout/adjusthead.pdf +++ b/Master/texmf-dist/doc/latex/zwpagelayout/adjusthead.pdf diff --git a/Master/texmf-dist/doc/latex/zwpagelayout/coversample.pdf b/Master/texmf-dist/doc/latex/zwpagelayout/coversample.pdf Binary files differindex 6451360e09c..daf7931ea61 100644 --- a/Master/texmf-dist/doc/latex/zwpagelayout/coversample.pdf +++ b/Master/texmf-dist/doc/latex/zwpagelayout/coversample.pdf diff --git a/Master/texmf-dist/doc/latex/zwpagelayout/zwpagelayout.pdf b/Master/texmf-dist/doc/latex/zwpagelayout/zwpagelayout.pdf Binary files differindex 4c1cf60b38d..c917a0ffc30 100644 --- a/Master/texmf-dist/doc/latex/zwpagelayout/zwpagelayout.pdf +++ b/Master/texmf-dist/doc/latex/zwpagelayout/zwpagelayout.pdf 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 |