summaryrefslogtreecommitdiff
path: root/language/japanese/jlreq/jlreq-trimmarks.sty
diff options
context:
space:
mode:
Diffstat (limited to 'language/japanese/jlreq/jlreq-trimmarks.sty')
-rw-r--r--language/japanese/jlreq/jlreq-trimmarks.sty392
1 files changed, 194 insertions, 198 deletions
diff --git a/language/japanese/jlreq/jlreq-trimmarks.sty b/language/japanese/jlreq/jlreq-trimmarks.sty
index 03c31e521a..d7eb46fa49 100644
--- a/language/japanese/jlreq/jlreq-trimmarks.sty
+++ b/language/japanese/jlreq/jlreq-trimmarks.sty
@@ -1,14 +1,16 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{jlreq-trimmarks}[2020/05/01 jlreq-trimmarks]
-\RequirePackage{xkeyval,etoolbox}
+\ProvidesPackage{jlreq-trimmarks}[2021/07/22 jlreq-trimmarks]
+\RequirePackage{l3keys2e,etoolbox}
\RequirePackage{jlreq-helpers}
+\ExplSyntaxOn
+
% check \tombowdatetrue
\ifx\tombowdatetrue\@undefined
- \PackageError{jlreq-trimmarks}{This package only works with pLaTeX, upLaTeX or LuaTeX-ja}{\@ehc}
+ \PackageError{jlreq-trimmarks}{This~package~only~works~with~pLaTeX,~upLaTeX~or~LuaTeX-ja}{\@ehc}
\fi
-\newcommand*{\jlreq@trimmarks@undeferr}[1]{\PackageError{jlreq-trimmarks}{Trying to delete \string#1 even though it is not defined, may be a bug}{\@ehc}}
+\newcommand*{\jlreq@trimmarks@undeferr}[1]{\PackageError{jlreq-trimmarks}{Trying~to~delete~\string#1~even~though~it~is~not~defined,~may~be~a~bug}{\@ehc}}
\newcommand*{\jlreq@trimmarks@afterpkg@addtodeletecs}[1]{%
\appto\jlreq@trimmarks@afterpkg@deletecslist{\jlreq@helper@undefcs{#1}{\jlreq@trimmarks@undeferr}}%
}
@@ -23,31 +25,22 @@
\undef{\jlreq@trimmarks@undeferr}%
}
-\newcommand*{\jlreq@trimmarks@DeclareOption}[2]{%
- \DeclareOptionX{#1}{%
- \jlreq@ifempty{##1}{}{\PackageError{jlreq-trimmarks}{The option #1 should have no value}{\@ehc}}%
- #2%
- }%
-}
-\jlreq@trimmarks@afterpkg@addtodeletecs{\jlreq@trimmarks@DeclareOption}
-
\@ifclassloaded{jlreq}{\let\ifjlreq@trimmarks@jlreqloaded=\@firstoftwo}{\let\ifjlreq@trimmarks@jlreqloaded=\@secondoftwo}
\def\ifjlreq@trimmarks@tate@{\jlreq@if{\if@tate\fi}}%
% \@firstoftwo when \if@tate is defined and \if@tate=\iftrue
\def\ifjlreq@trimmarks@tate{%
- \jlreq@if{\ifnum0\ifx\if@tate\@undefined 1\fi\ifx\if@tate\relax 1\fi>0 \fi}{\@secondoftwo}{\ifjlreq@trimmarks@tate@}%
+ \jlreq@if{\ifnum0\ifx\if@tate\@undefined 1\fi\ifx\if@tate\relax 1\fi>0~\fi}{\@secondoftwo}{\ifjlreq@trimmarks@tate@}%
}
-
% dvipdfmx=f,dvips=s,dviout = o, lualatex = l
-\jlreq@trimmarks@DeclareOption{dvipdfmx}{\let\jlreq@trimmarks@driver=f}
-\jlreq@trimmarks@DeclareOption{dvips}{\let\jlreq@trimmarks@driver=s}
-\jlreq@trimmarks@DeclareOption{dviout}{\let\jlreq@trimmarks@driver=o}
+\keys_define:nn { jlreq-trimmarks } { dvipdfmx .code:n = {\let\jlreq@trimmarks@driver=f}, .value_forbidden:n = true }
+\keys_define:nn { jlreq-trimmarks } { dvips .code:n = {\let\jlreq@trimmarks@driver=s}, .value_forbidden:n = true }
+\keys_define:nn { jlreq-trimmarks } { dviout .code:n = {\let\jlreq@trimmarks@driver=o}, .value_forbidden:n = true }
\let\jlreq@trimmarks@engine=\jlreq@engine
-\jlreq@trimmarks@DeclareOption{lualatex}{\let\jlreq@trimmarks@engine=l}
-\jlreq@trimmarks@DeclareOption{uplatex}{\let\jlreq@trimmarks@engine=u}
-\jlreq@trimmarks@DeclareOption{platex}{\let\jlreq@trimmarks@engine=p}
+\keys_define:nn { jlreq-trimmarks } { lualatex .code:n = {\let\jlreq@trimmarks@engine=l}, .value_forbidden:n = true }
+\keys_define:nn { jlreq-trimmarks } { uplatex .code:n = {\let\jlreq@trimmarks@engine=u}, .value_forbidden:n = true }
+\keys_define:nn { jlreq-trimmarks } { platex .code:n = {\let\jlreq@trimmarks@engine=p}, .value_forbidden:n = true }
\def\jlreq@trimmarks@switchpapersize{}
\def\jlreq@trimmarks@addpapersize#1{%
@@ -58,7 +51,7 @@
\@tempa
}
\newcommand*{\jlreq@trimmarks@addpapersize@@}[3]{%
- \@for\@tempa:=#1\do{%
+ \clist_map_variable:nNn {#1} \@tempa {
\eappto\jlreq@trimmarks@switchpapersize{{\expandonce{\@tempa}}{\unexpanded{\def\jlreq@resulta{#2}\def\jlreq@resultb{#3}}}}%
}%
}
@@ -122,8 +115,7 @@
}
\jlreq@trimmarks@afterpkg@addtodeletecs{\jlreq@trimmarks@analyzepapersize}
-\def\jlreq@trimmarks@option@papersize{+2in}
-\DeclareOptionX{trimmarks_paper}{\def\jlreq@trimmarks@option@papersize{#1}}
+\keys_define:nn { jlreq-trimmarks } { trimmarks_paper .tl_set:N = \jlreq@trimmarks@option@papersize }
\jlreq@trimmarks@afterpkg@addtodeletecs{\jlreq@trimmarks@option@papersize}
\newif\ifjlreq@trimmarks@digital \jlreq@trimmarks@digitaltrue
@@ -133,60 +125,64 @@
% flag: `show` is specified or not
\newif\ifjlreq@trimmarks@option@show \jlreq@trimmarks@option@showfalse
-\DeclareOptionX{show}{%
- \jlreq@trimmarks@option@showtrue
- \jlreq@ifempty{#1}{
- \jlreq@trimmarks@showtrue\tombowdatetrue\jlreq@trimmarks@digitaltrue
- }{
- \jlreq@trimmarks@showfalse\tombowdatefalse\jlreq@trimmarks@digitalfalse
- \@for\jlreq@trimmarks@tempa:=#1\do{%
- \expandafter\jlreq@helper@trim\expandafter{\jlreq@trimmarks@tempa}{\jlreq@trimmarks@tempa}
- \jlreq@switch{\jlreq@trimmarks@tempa}{
- {trimmarks}{\jlreq@trimmarks@showtrue}
- {banner}{\tombowdatetrue}
- {digital}{\jlreq@trimmarks@digitaltrue}
- {digital*}{\jlreq@trimmarks@digitaltrue\jlreq@trimmarks@show@artboxtrue}
- {no}{\tombowdatefalse\jlreq@trimmarks@showfalse\jlreq@trimmarks@digitalfalse}
- }[\PackageError{jlreq-trimmarks}{Unknown value `##1' in the option `show'}{\@ehc}]
+\keys_define:nn { jlreq-trimmarks } {
+ show .code:n = {
+ \jlreq@trimmarks@option@showtrue
+ \jlreq@ifempty{#1}{
+ \jlreq@trimmarks@showtrue\tombowdatetrue\jlreq@trimmarks@digitaltrue
+ }{
+ \jlreq@trimmarks@showfalse\tombowdatefalse\jlreq@trimmarks@digitalfalse
+ \clist_map_variable:nNn {#1} \jlreq@trimmarks@tempa {
+ \expandafter\jlreq@helper@trim\expandafter{\jlreq@trimmarks@tempa}{\jlreq@trimmarks@tempa}
+ \jlreq@switch{\jlreq@trimmarks@tempa}{
+ {trimmarks}{\jlreq@trimmarks@showtrue}
+ {banner}{\tombowdatetrue}
+ {digital}{\jlreq@trimmarks@digitaltrue}
+ {digital*}{\jlreq@trimmarks@digitaltrue\jlreq@trimmarks@show@artboxtrue}
+ {no}{\tombowdatefalse\jlreq@trimmarks@showfalse\jlreq@trimmarks@digitalfalse}
+ }[\PackageError{jlreq-trimmarks}{Unknown~value~`##1'~in~the~option~`show'}{\@ehc}]
+ }
}
}
}
-\@for\jlreq@tempa:=top,bottom,gutter,fore-edge\do{%
- \expandafter\def\csname jlreq@trimmarks@bleed@\jlreq@tempa\endcsname{3mm}
-}
-\DeclareOptionX{bleed_margin}{%
- \begingroup
- \def\jlreq@do{}%
- \jlreq@parsekeyval@nokey{
- \ifjlreq@parsekeyval@nokey@novalue{%
- \@for\jlreq@tempa:=top,bottom,gutter,fore-edge\do{%
- \epreto\jlreq@do{%
- \noexpand\def\expandonce{\csname jlreq@trimmarks@bleed@\jlreq@tempa\endcsname}{##1}%
- }%
- }%
- }{%
- \ifthenelse{\equal{##1}{top} \OR \equal{##1}{bottom} \OR \equal{##1}{gutter} \OR \equal{##1}{fore-edge}}{%
- \eappto\jlreq@do{%
- \noexpand\def\expandonce{\csname jlreq@trimmarks@bleed@##1\endcsname}{##2}%
+\keys_define:nn { jlreq-trimmarks } {
+ bleed_margin .code:n = {
+ \begingroup
+ \def\jlreq@do{}%
+ \jlreq@parsekeyval@nokey{
+ \ifjlreq@parsekeyval@nokey@novalue{%
+ \clist_map_variable:nNn { top,bottom,gutter,fore-edge } \jlreq@tempa {
+ \epreto\jlreq@do{%
+ \noexpand\def\expandonce{\csname jlreq@trimmarks@bleed@\jlreq@tempa\endcsname}{##1}%
+ }%
}%
}{%
- \PackageError{jlreq-trimmarks}{Unknown position `##1' in bleed_margin}{\@ehc}
+ \bool_if:nTF {
+ \str_if_eq_p:nn {##1} {top} || \str_if_eq_p:nn {##1} {bottom} ||
+ \str_if_eq_p:nn {##1} {gutter} || \str_if_eq_p:nn {##1} {fore-edge}
+ }{
+ \eappto\jlreq@do{%
+ \noexpand\def\expandonce{\csname jlreq@trimmarks@bleed@##1\endcsname}{##2}%
+ }%
+ }{%
+ \PackageError{jlreq-trimmarks}{Unknown~position~`##1'~in~bleed_margin}{\@ehc}
+ }%
}%
- }%
- }{#1}%
- \expandafter\endgroup
- \jlreq@do
+ }{#1}%
+ \expandafter\endgroup
+ \jlreq@do
+ }
}
\newif\ifjlreq@trimmarks@landscape \jlreq@trimmarks@landscapefalse
-\jlreq@trimmarks@DeclareOption{landscape}{\jlreq@trimmarks@landscapetrue}
+\keys_define:nn { jlreq-trimmarks } { landscape .code:n = {\jlreq@trimmarks@landscapetrue}, .value_forbidden:n = true }
\jlreq@trimmarks@afterpkg@addtodeleteif{\ifjlreq@trimmarks@landscape}
-\let\jlreq@temporary@original@@removeelement=\@removeelement
-\let\@removeelement=\jlreq@helper@removeelement
-\ProcessOptionsX*\relax
-\let\@removeelement=\jlreq@temporary@original@@removeelement
-\let\jlreq@temporary@original@@removeelement=\@undefined
+\keys_set:nn { jlreq-trimmarks } {
+ trimmarks_paper = {+2in},
+ bleed_margin = { top = 3mm, bottom = 3mm, gutter = 3mm, fore-edge = 3mm },
+}
+\ProcessKeysOptions { jlreq-trimmarks }
\ifjlreq@trimmarks@option@show\else
\ifx o\jlreq@trimmarks@driver
@@ -228,7 +224,7 @@
\ifx o\jlreq@trimmarks@driver
\ifjlreq@trimmarks@digital
- \PackageError{jlreq-trimmarks}{`show=digital' can't be used with the driver `dviout'}{\@ehc}
+ \PackageError{jlreq-trimmarks}{`show=digital'~can't~be~used~with~the~driver~`dviout'}{\@ehc}
\fi
\fi
@@ -300,114 +296,115 @@
\jlreq@do
}
-\newcommand{\jlreqtrimmarkssetup}[1]{%
- \jlreq@parsekeyval[jlreqtrimmarkssetup]{
- {banner}{%
- \@for\@tempa:=odd,even\do{%
- \@for\jlreq@tempa:=tate,yoko,corner,inyoko,intate\do{%
- \@for\jlreq@tempb:=top,bottom\do{%
- \@for\jlreq@tempc:=left,right\do{%
- \@namedef{jlreq@trimmarks@banner@\@tempa @\jlreq@tempa @\jlreq@tempb @\jlreq@tempc}{}%
- }%
- }%
- }%
- \@for\jlreq@tempa:=before,after\do{%
- \@for\jlreq@tempb:=top,bottom,in\do{%
- \@namedef{jlreq@trimmarks@banner@\@tempa @\jlreq@tempa @\jlreq@tempb @center}{}%
- }%
- \@for\jlreq@tempb:=left,right,in\do{%
- \@namedef{jlreq@trimmarks@banner@\@tempa @\jlreq@tempa @center@\jlreq@tempb}{}%
+\keys_define:nn { jlreqtrimmarkssetup } {
+ banner .code:n = {
+ \clist_map_variable:nNn { odd,even } \@tempa {
+ \clist_map_variable:nNn { tate,yoko,corner,inyoko,intate } \jlreq@tempa {
+ \clist_map_variable:nNn {top,bottom} \jlreq@tempb {
+ \clist_map_variable:nNn {left,right} \jlreq@tempc {
+ \@namedef{jlreq@trimmarks@banner@\@tempa @\jlreq@tempa @\jlreq@tempb @\jlreq@tempc}{}%
}%
}%
}%
- \def\jlreq@do{}%
- \jlreq@parsekeyval@nokey{%
- \ifjlreq@parsekeyval@nokey@novalue{}{%
- \edef\jlreq@gutterodd{\ifjlreq@trimmarks@tate{right}{left}}%
- \if@twoside
- \edef\jlreq@guttereven{\ifjlreq@trimmarks@tate{left}{right}}%
- \else
- \let\jlreq@guttereven\jlreq@gutterodd
- \fi
- \jlreq@switch*{####1}{
- {top-left}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@left}{top@left}{####2}}}
- {left-top}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@left}{top@left}{####2}}}
- {top-right}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@right}{top@right}{####2}}}
- {right-top}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@right}{top@right}{####2}}}
- {top-gutter}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@\jlreq@gutterodd}{top@\jlreq@guttereven}{####2}}}
- {gutter-top}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@\jlreq@gutterodd}{top@\jlreq@guttereven}{####2}}}
- {top-fore-edge}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@\jlreq@guttereven}{top@\jlreq@gutterodd}{####2}}}
- {fore-edge-top}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@\jlreq@guttereven}{top@\jlreq@gutterodd}{####2}}}
- {bottom-left}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{bottom@left}{bottom@left}{####2}}}
- {left-bottom}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{bottom@left}{bottom@left}{####2}}}
- {bottom-right}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{bottom@right}{bottom@right}{####2}}}
- {right-bottom}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{bottom@right}{bottom@right}{####2}}}
- {bottom-gutter}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{bottom@\jlreq@gutterodd}{bottom@\jlreq@guttereven}{####2}}}
- {gutter-bottom}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{bottom@\jlreq@gutterodd}{bottom@\jlreq@guttereven}{####2}}}
- {bottom-fore-edge}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{bottom@\jlreq@guttereven}{bottom@\jlreq@gutterodd}{####2}}}
- {fore-edge-bottom}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{bottom@\jlreq@guttereven}{bottom@\jlreq@gutterodd}{####2}}}
- {top-center}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{top@center}{top@center}{####2}}}
- {center-top}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{top@center}{top@center}{####2}}}
- {bottom-center}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{bottom@center}{bottom@center}{####2}}}
- {center-bottom}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{bottom@center}{bottom@center}{####2}}}
- {center-right}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{center@right}{center@right}{####2}}}
- {right-center}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{center@right}{center@right}{####2}}}
- {center-left}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{center@left}{center@left}{####2}}}
- {left-center}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{center@left}{center@left}{####2}}}
- {center-gutter}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{center@\jlreq@gutterodd}{center@\jlreq@guttereven}{####2}}}
- {gutter-center}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{center@\jlreq@gutterodd}{center@\jlreq@guttereven}{####2}}}
- {center-fore-edge}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{center@\jlreq@guttereven}{center@\jlreq@gutterodd}{####2}}}
- {fore-edge-center}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{center@\jlreq@guttereven}{center@\jlreq@gutterodd}{####2}}}
- }%
+ \clist_map_variable:nNn {before,after} \jlreq@tempa {
+ \clist_map_variable:nNn {top,bottom,in} \jlreq@tempb {
+ \@namedef{jlreq@trimmarks@banner@\@tempa @\jlreq@tempa @\jlreq@tempb @center}{}%
}%
- }{##1}%
- \jlreq@if{\ifx\jlreq@do\@empty\fi}{
- \appto\jlreq@do{\jlreq@trimmarks@setbanner{top@left}{top@left}{##1}}%
- }{}%
- \jlreq@do
- }
- {banner_font}{\def\jlreq@trimmarks@bannerfont{##1}}
- {trimmarks_width}{\setlength{\@tombowwidth}{##1}}
- {color}{%
- \jlreq@ifempty{##1}{%
- \def\jlreq@trimmarks@color{\normalcolor}%
- }{%
- \@ifundefined{color}{%
- \PackageError{jlreq-trimmarks}{`\string\color' is not defined, please load the package `color' or its variant before this package}{\@ehc}%
+ \clist_map_variable:nNn {left,right,in} \jlreq@tempb {
+ \@namedef{jlreq@trimmarks@banner@\@tempa @\jlreq@tempa @center@\jlreq@tempb}{}%
}%
- \jlreq@switch{##1}{
- {c}{\def\jlreq@trimmarks@color{\color[cmyk]{1,0,0,0}}}
- {m}{\def\jlreq@trimmarks@color{\color[cmyk]{0,1,0,0}}}
- {y}{\def\jlreq@trimmarks@color{\color[cmyk]{0,0,1,0}}}
- {k}{\def\jlreq@trimmarks@color{\color[cmyk]{0,0,0,1}}}
- {cm}{\def\jlreq@trimmarks@color{\color[cmyk]{1,1,0,0}}}
- {cy}{\def\jlreq@trimmarks@color{\color[cmyk]{1,0,1,0}}}
- {ck}{\def\jlreq@trimmarks@color{\color[cmyk]{1,0,0,1}}}
- {my}{\def\jlreq@trimmarks@color{\color[cmyk]{0,1,1,0}}}
- {mk}{\def\jlreq@trimmarks@color{\color[cmyk]{0,1,0,1}}}
- {yk}{\def\jlreq@trimmarks@color{\color[cmyk]{0,0,1,1}}}
- {cmy}{\def\jlreq@trimmarks@color{\color[cmyk]{1,1,1,0}}}
- {cmk}{\def\jlreq@trimmarks@color{\color[cmyk]{1,1,0,1}}}
- {cyk}{\def\jlreq@trimmarks@color{\color[cmyk]{1,0,1,1}}}
- {myk}{\def\jlreq@trimmarks@color{\color[cmyk]{0,1,1,1}}}
- {cmyk}{\def\jlreq@trimmarks@color{\color[cmyk]{1,1,1,1}}}
- {%
- \jlreq@iffirsttoken{##1}{[}{%
- \def\@tempa[####1]####2\jlreq@endmark{\def\jlreq@trimmarks@color{\color[####1]{####2}}}%
- }{%
- \def\@tempa####1\jlreq@endmark{\def\jlreq@trimmarks@color{\color{####1}}}%
- }%
- \@tempa##1\jlreq@endmark
- }%
+ }%
+ }%
+ \def\jlreq@do{}%
+ \jlreq@parsekeyval@nokey{%
+ \ifjlreq@parsekeyval@nokey@novalue{}{%
+ \edef\jlreq@gutterodd{\ifjlreq@trimmarks@tate{right}{left}}%
+ \if@twoside
+ \edef\jlreq@guttereven{\ifjlreq@trimmarks@tate{left}{right}}%
+ \else
+ \let\jlreq@guttereven\jlreq@gutterodd
+ \fi
+ \jlreq@switch*{##1}{
+ {top-left}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@left}{top@left}{##2}}}
+ {left-top}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@left}{top@left}{##2}}}
+ {top-right}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@right}{top@right}{##2}}}
+ {right-top}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@right}{top@right}{##2}}}
+ {top-gutter}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@\jlreq@gutterodd}{top@\jlreq@guttereven}{##2}}}
+ {gutter-top}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@\jlreq@gutterodd}{top@\jlreq@guttereven}{##2}}}
+ {top-fore-edge}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@\jlreq@guttereven}{top@\jlreq@gutterodd}{##2}}}
+ {fore-edge-top}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@\jlreq@guttereven}{top@\jlreq@gutterodd}{##2}}}
+ {bottom-left}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{bottom@left}{bottom@left}{##2}}}
+ {left-bottom}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{bottom@left}{bottom@left}{##2}}}
+ {bottom-right}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{bottom@right}{bottom@right}{##2}}}
+ {right-bottom}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{bottom@right}{bottom@right}{##2}}}
+ {bottom-gutter}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{bottom@\jlreq@gutterodd}{bottom@\jlreq@guttereven}{##2}}}
+ {gutter-bottom}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{bottom@\jlreq@gutterodd}{bottom@\jlreq@guttereven}{##2}}}
+ {bottom-fore-edge}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{bottom@\jlreq@guttereven}{bottom@\jlreq@gutterodd}{##2}}}
+ {fore-edge-bottom}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{bottom@\jlreq@guttereven}{bottom@\jlreq@gutterodd}{##2}}}
+ {top-center}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{top@center}{top@center}{##2}}}
+ {center-top}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{top@center}{top@center}{##2}}}
+ {bottom-center}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{bottom@center}{bottom@center}{##2}}}
+ {center-bottom}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{bottom@center}{bottom@center}{##2}}}
+ {center-right}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{center@right}{center@right}{##2}}}
+ {right-center}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{center@right}{center@right}{##2}}}
+ {center-left}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{center@left}{center@left}{##2}}}
+ {left-center}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{center@left}{center@left}{##2}}}
+ {center-gutter}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{center@\jlreq@gutterodd}{center@\jlreq@guttereven}{##2}}}
+ {gutter-center}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{center@\jlreq@gutterodd}{center@\jlreq@guttereven}{##2}}}
+ {center-fore-edge}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{center@\jlreq@guttereven}{center@\jlreq@gutterodd}{##2}}}
+ {fore-edge-center}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{center@\jlreq@guttereven}{center@\jlreq@gutterodd}{##2}}}
+ }%
+ }%
+ }{#1}%
+ \jlreq@if{\ifx\jlreq@do\@empty\fi}{
+ \appto\jlreq@do{\jlreq@trimmarks@setbanner{top@left}{top@left}{#1}}%
+ }{}%
+ \jlreq@do
+ },
+ banner_font .tl_set:N = \jlreq@trimmarks@bannerfont,
+ trimmarks_width .code:n = {\setlength{\@tombowwidth}{#1}},
+ color .code:n = {
+ \jlreq@ifempty{#1}{%
+ \def\jlreq@trimmarks@color{\normalcolor}%
+ }{%
+ \@ifundefined{color}{%
+ \PackageError{jlreq-trimmarks}{`\string\color'~is~not~defined,~please~load~the~package~`color'~or~its~variant~before~this~package}{\@ehc}%
+ }%
+ \jlreq@switch{#1}{
+ {c}{\def\jlreq@trimmarks@color{\color[cmyk]{1,0,0,0}}}
+ {m}{\def\jlreq@trimmarks@color{\color[cmyk]{0,1,0,0}}}
+ {y}{\def\jlreq@trimmarks@color{\color[cmyk]{0,0,1,0}}}
+ {k}{\def\jlreq@trimmarks@color{\color[cmyk]{0,0,0,1}}}
+ {cm}{\def\jlreq@trimmarks@color{\color[cmyk]{1,1,0,0}}}
+ {cy}{\def\jlreq@trimmarks@color{\color[cmyk]{1,0,1,0}}}
+ {ck}{\def\jlreq@trimmarks@color{\color[cmyk]{1,0,0,1}}}
+ {my}{\def\jlreq@trimmarks@color{\color[cmyk]{0,1,1,0}}}
+ {mk}{\def\jlreq@trimmarks@color{\color[cmyk]{0,1,0,1}}}
+ {yk}{\def\jlreq@trimmarks@color{\color[cmyk]{0,0,1,1}}}
+ {cmy}{\def\jlreq@trimmarks@color{\color[cmyk]{1,1,1,0}}}
+ {cmk}{\def\jlreq@trimmarks@color{\color[cmyk]{1,1,0,1}}}
+ {cyk}{\def\jlreq@trimmarks@color{\color[cmyk]{1,0,1,1}}}
+ {myk}{\def\jlreq@trimmarks@color{\color[cmyk]{0,1,1,1}}}
+ {cmyk}{\def\jlreq@trimmarks@color{\color[cmyk]{1,1,1,1}}}
+ {%
+ \jlreq@iffirsttoken{##1}{[}{%
+ \def\@tempa[####1]####2\jlreq@endmark{\def\jlreq@trimmarks@color{\color[####1]{####2}}}%
+ }{%
+ \def\@tempa####1\jlreq@endmark{\def\jlreq@trimmarks@color{\color{####1}}}%
+ }%
+ \@tempa##1\jlreq@endmark
}%
}%
}%
- }{#1}%
+ }%
+}
+\newcommand{\jlreqtrimmarkssetup}[1]{%
+ \keys_set:nn { jlreqtrimmarkssetup } {#1}
}
\@onlypreamble\jlreqtrimmarkssetup
\@bannertoken{%
\jobname\space(\number\year-\two@digits\month-\two@digits\day
- \space\two@digits\hour:\two@digits\minute)%
+ \space\two@digits\hour :\two@digits\minute)%
}
\jlreqtrimmarkssetup{
banner={\the\@bannertoken},
@@ -483,11 +480,10 @@
\def\jlreq@trimmarks@bleed{3mm}
% left=gutter?
\def\ifjlreq@trimmarks@leftisgutter{%
- \ifjlreq@trimmarks@tate{%
- \jlreq@if{\ifnum 0\ifodd\c@page 1\fi\if@twoside\else 1\fi>0 \fi}{\@secondoftwo}{\@firstoftwo}%
- }{%
- \jlreq@if{\ifnum 0\ifodd\c@page 1\fi\if@twoside\else 1\fi>0 \fi}{\@firstoftwo}{\@secondoftwo}%
- }%
+ \bool_if:nTF {
+ ( \legacy_if_p:n { jlreq@trimmarks@tate } && ( ! ( \int_if_odd_p:n { \c@page } || ! \legacy_if_p:n { @twoside } ) ) ) ||
+ ( ! \legacy_if_p:n { jlreq@trimmarks@tate } && ( \int_if_odd_p:n { \c@page } || ! \legacy_if_p:n { @twoside } ) )
+ }
}
\def\jlreq@trimmarks@bleed@left{\ifjlreq@trimmarks@leftisgutter{\jlreq@trimmarks@bleed@gutter}{\expandafter\csname jlreq@trimmarks@bleed@fore-edge\endcsname}}
\def\jlreq@trimmarks@bleed@right{\ifjlreq@trimmarks@leftisgutter{\expandafter\csname jlreq@trimmarks@bleed@fore-edge\endcsname}{\jlreq@trimmarks@bleed@gutter}}
@@ -842,18 +838,18 @@
\edef\jlreq@trimmarks@pttobp#1{\noexpand\strip@pt\noexpand\dimexpr\strip@pt\jlreq@resultdimen\noexpand\dimexpr0.9963\noexpand\dimexpr#1\unexpanded{\relax\relax\relax}}
\edef\jlreq@trimmarks@trimboxsize{%
[%
- \jlreq@trimmarks@pttobp{(\jlreq@trimmarks@paperwidth - \paperwidth)/2}
- \jlreq@trimmarks@pttobp{(\jlreq@trimmarks@paperheight - \paperheight)/2}
- \jlreq@trimmarks@pttobp{(\jlreq@trimmarks@paperwidth + \paperwidth)/2}
+ \jlreq@trimmarks@pttobp{(\jlreq@trimmarks@paperwidth - \paperwidth)/2}~
+ \jlreq@trimmarks@pttobp{(\jlreq@trimmarks@paperheight - \paperheight)/2}~
+ \jlreq@trimmarks@pttobp{(\jlreq@trimmarks@paperwidth + \paperwidth)/2}~
\jlreq@trimmarks@pttobp{(\jlreq@trimmarks@paperheight + \paperheight)/2}%
]
}
\jlreq@tempcnta=\c@page
\def\@tempa{%
[%
- \jlreq@trimmarks@pttobp{(\jlreq@trimmarks@paperwidth - \paperwidth)/2 - \jlreq@trimmarks@bleed@left}
- \jlreq@trimmarks@pttobp{(\jlreq@trimmarks@paperheight - \paperheight)/2 - \jlreq@trimmarks@bleed@bottom}
- \jlreq@trimmarks@pttobp{(\jlreq@trimmarks@paperwidth + \paperwidth)/2 + \jlreq@trimmarks@bleed@right}
+ \jlreq@trimmarks@pttobp{(\jlreq@trimmarks@paperwidth - \paperwidth)/2 - \jlreq@trimmarks@bleed@left}~
+ \jlreq@trimmarks@pttobp{(\jlreq@trimmarks@paperheight - \paperheight)/2 - \jlreq@trimmarks@bleed@bottom}~
+ \jlreq@trimmarks@pttobp{(\jlreq@trimmarks@paperwidth + \paperwidth)/2 + \jlreq@trimmarks@bleed@right}~
\jlreq@trimmarks@pttobp{(\jlreq@trimmarks@paperheight + \paperheight)/2 + \jlreq@trimmarks@bleed@top}%
]
}
@@ -863,14 +859,14 @@
\edef\jlreq@trimmarks@bleedboxsize@even{\@tempa}%
\c@page=\jlreq@tempcnta
\edef\jlreq@trimmarks@pdfattribute@odd{%
- /TrimBox \jlreq@trimmarks@trimboxsize
- \ifjlreq@trimmarks@show@artbox /ArtBox \jlreq@trimmarks@trimboxsize\fi
- /BleedBox \jlreq@trimmarks@bleedboxsize@odd
+ /TrimBox~\jlreq@trimmarks@trimboxsize
+ \ifjlreq@trimmarks@show@artbox /ArtBox~\jlreq@trimmarks@trimboxsize\fi
+ /BleedBox~\jlreq@trimmarks@bleedboxsize@odd
}
\edef\jlreq@trimmarks@pdfattribute@even{%
- /TrimBox \jlreq@trimmarks@trimboxsize
- \ifjlreq@trimmarks@show@artbox /ArtBox \jlreq@trimmarks@trimboxsize\fi
- /BleedBox \jlreq@trimmarks@bleedboxsize@even
+ /TrimBox~\jlreq@trimmarks@trimboxsize
+ \ifjlreq@trimmarks@show@artbox /ArtBox~\jlreq@trimmarks@trimboxsize\fi
+ /BleedBox~\jlreq@trimmarks@bleedboxsize@even
}
\jlreq@trimmarks@afterpkg@addtodeletecs{\jlreq@trimmarks@pttobp}
\jlreq@trimmarks@afterpkg@addtodeletecs{\jlreq@trimmarks@trimboxsize}
@@ -880,9 +876,9 @@
\jlreq@trimmarks@afterpkg@addtodeletecs{\jlreq@trimmarks@pdfattribute@even}
\begingroup
- \c@page=1
+ \c@page=1\relax
\jlreq@tempdima=\jlreq@trimmarks@bleed@left
- \c@page=2
+ \c@page=2\relax
\ifdim\jlreq@trimmarks@bleed@left=\jlreq@tempdima
\global\let\jlreq@tempa\@firstoftwo
\else
@@ -896,13 +892,13 @@
\@tempa
\fi
\ifx f\jlreq@trimmarks@driver
- \epreto\@outputtombow{\noexpand\special{pdf: put @thispage <<\jlreq@trimmarks@pdfattribute@odd>>}}
+ \epreto\@outputtombow{\noexpand\special{pdf:~put~@thispage~<<\jlreq@trimmarks@pdfattribute@odd>>}}
\fi
\ifx s\jlreq@trimmarks@driver
- \edef\@tempa{\noexpand\special{ps:SDict begin
- [ /TrimBox \jlreq@trimmarks@trimboxsize /PAGE pdfmark
- \ifjlreq@trimmarks@show@artbox [ /ArtBox \jlreq@trimmarks@trimboxsize /PAGE pdfmark \fi
- [ /BleedBox \jlreq@trimmarks@bleedboxsize@odd /PAGE pdfmark
+ \edef\@tempa{\noexpand\special{ps:SDict~begin~
+ [~/TrimBox~\jlreq@trimmarks@trimboxsize /PAGE~pdfmark~
+ \ifjlreq@trimmarks@show@artbox [~/ArtBox~\jlreq@trimmarks@trimboxsize /PAGE~pdfmark~\fi
+ [~/BleedBox~\jlreq@trimmarks@bleedboxsize@odd /PAGE~pdfmark~
end}}%
\@tempa
\fi
@@ -916,20 +912,20 @@
\fi
\ifx f\jlreq@trimmarks@driver
\epreto\@outputtombow{%
- \unexpanded{\ifodd\c@page\special}{pdf: put @thispage <<\jlreq@trimmarks@pdfattribute@odd>>}%
- \unexpanded{\else\special}{pdf: put @thispage <<\jlreq@trimmarks@pdfattribute@even>>}\noexpand\fi
+ \unexpanded{\ifodd\c@page\special}{pdf:~put~@thispage~<<\jlreq@trimmarks@pdfattribute@odd>>}%
+ \unexpanded{\else\special}{pdf:~put~@thispage~<<\jlreq@trimmarks@pdfattribute@even>>}\noexpand\fi
}
\fi
\ifx s\jlreq@trimmarks@driver
\epreto\@outputtombow{%
- \unexpanded{\ifodd\c@page\special}{ps:SDict begin
- [ /TrimBox \jlreq@trimmarks@trimboxsize /PAGE pdfmark
- \ifjlreq@trimmarks@show@artbox [ /ArtBox \jlreq@trimmarks@trimboxsize /PAGE pdfmark \fi
- [ /BleedBox \jlreq@trimmarks@bleedboxsize@odd /PAGE pdfmark
- end}\unexpanded{\else\special}{ps:SDict begin
- [ /TrimBox \jlreq@trimmarks@trimboxsize /PAGE pdfmark
- \ifjlreq@trimmarks@show@artbox [ /ArtBox \jlreq@trimmarks@trimboxsize /PAGE pdfmark \fi
- [ /BleedBox \jlreq@trimmarks@bleedboxsize@even /PAGE pdfmark
+ \unexpanded{\ifodd\c@page\special}{ps:SDict~begin~
+ [~/TrimBox~\jlreq@trimmarks@trimboxsize /PAGE~pdfmark~
+ \ifjlreq@trimmarks@show@artbox [~/ArtBox~\jlreq@trimmarks@trimboxsize /PAGE~pdfmark~\fi
+ [~/BleedBox~\jlreq@trimmarks@bleedboxsize@odd /PAGE~pdfmark~
+ end}\unexpanded{\else\special}{ps:SDict~begin~
+ [~/TrimBox~\jlreq@trimmarks@trimboxsize /PAGE~pdfmark~
+ \ifjlreq@trimmarks@show@artbox [~/ArtBox~\jlreq@trimmarks@trimboxsize /PAGE~pdfmark~\fi
+ [~/BleedBox~\jlreq@trimmarks@bleedboxsize@even /PAGE~pdfmark~
end}\noexpand\fi
}
\fi
@@ -939,5 +935,5 @@
% always true
\tombowtrue
-
+\ExplSyntaxOff
\endinput