summaryrefslogtreecommitdiff
path: root/language/japanese/jlreq/jlreq-trimmarks.sty
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /language/japanese/jlreq/jlreq-trimmarks.sty
Initial commit
Diffstat (limited to 'language/japanese/jlreq/jlreq-trimmarks.sty')
-rw-r--r--language/japanese/jlreq/jlreq-trimmarks.sty957
1 files changed, 957 insertions, 0 deletions
diff --git a/language/japanese/jlreq/jlreq-trimmarks.sty b/language/japanese/jlreq/jlreq-trimmarks.sty
new file mode 100644
index 0000000000..6ba910a240
--- /dev/null
+++ b/language/japanese/jlreq/jlreq-trimmarks.sty
@@ -0,0 +1,957 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{jlreq-trimmarks}[2019/04/01 jlreq-trimmarks]
+\RequirePackage{xkeyval,etoolbox}
+\RequirePackage{jlreq-helpers}
+
+% check \tombowdatetrue
+\ifx\tombowdatetrue\@undefined
+ \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@afterpkg@addtodeletecs}[1]{%
+ \appto\jlreq@trimmarks@afterpkg@deletecslist{\jlreq@helper@undefcs{#1}{\jlreq@trimmarks@undeferr}}%
+}
+\newcommand*{\jlreq@trimmarks@afterpkg@addtodeleteif}[1]{%
+ \appto\jlreq@trimmarks@afterpkg@deletecslist{\jlreq@helper@undefif{#1}{\jlreq@trimmarks@undeferr}}%
+}
+\jlreq@trimmarks@afterpkg@addtodeletecs{\jlreq@trimmarks@afterpkg@addtodeletecs}
+\jlreq@trimmarks@afterpkg@addtodeletecs{\jlreq@trimmarks@afterpkg@addtodeleteif}
+\AtEndOfPackage{%
+ \jlreq@trimmarks@afterpkg@deletecslist
+ \jlreq@helper@undefcs{\jlreq@trimmarks@afterpkg@deletecslist}{\jlreq@trimmarks@undeferr}%
+ \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@{%
+ \if@tate\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
+}
+% \@firstoftwo when \if@tate is defined and \if@tate=\iftrue
+\def\ifjlreq@trimmarks@tate{%
+ \ifnum0\ifx\if@tate\@undefined 1\fi\ifx\if@tate\relax 1\fi>0
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\ifjlreq@trimmarks@tate@
+ \fi
+}
+
+
+% 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}
+\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}
+
+\def\jlreq@trimmarks@switchpapersize{}
+\def\jlreq@trimmarks@addpapersize#1{%
+ \@ifnextchar[{\jlreq@trimmarks@addpapersize@{#1}}{\jlreq@trimmarks@addpapersize@@{#1}}
+}
+\def\jlreq@trimmarks@addpapersize@#1[#2]{%
+ \edef\@tempa{\unexpanded{\jlreq@trimmarks@addpapersize@@{#1}}\csexpandonce{jlreq@helper@papersizelist@#2}}%
+ \@tempa
+}
+\newcommand*{\jlreq@trimmarks@addpapersize@@}[3]{%
+ \@for\@tempa:=#1\do{%
+ \eappto\jlreq@trimmarks@switchpapersize{{\expandonce{\@tempa}}{\unexpanded{\def\jlreq@resulta{#2}\def\jlreq@resultb{#3}}}}%
+ }%
+}
+\jlreq@trimmarks@afterpkg@addtodeletecs{\jlreq@trimmarks@switchpapersize}
+\jlreq@trimmarks@afterpkg@addtodeletecs{\jlreq@trimmarks@addpapersize}
+\jlreq@trimmarks@afterpkg@addtodeletecs{\jlreq@trimmarks@addpapersize@}
+\jlreq@trimmarks@afterpkg@addtodeletecs{\jlreq@trimmarks@addpapersize@@}
+
+\jlreq@trimmarks@addpapersize{a0,A0}[a0]
+\jlreq@trimmarks@addpapersize{a1,A1}[a1]
+\jlreq@trimmarks@addpapersize{a2,A2}[a2]
+\jlreq@trimmarks@addpapersize{a3,A3}[a3]
+\jlreq@trimmarks@addpapersize{a4,A4}[a4]
+\jlreq@trimmarks@addpapersize{a5,A5}[a5]
+\jlreq@trimmarks@addpapersize{a6,A6}[a6]
+\jlreq@trimmarks@addpapersize{a7,A7}[a7]
+\jlreq@trimmarks@addpapersize{a8,A8}[a8]
+\jlreq@trimmarks@addpapersize{a9,A9}[a9]
+\jlreq@trimmarks@addpapersize{a10,A10}[a10]
+
+\jlreq@trimmarks@addpapersize{b0,B0}[b0]
+\jlreq@trimmarks@addpapersize{b1,B1}[b1]
+\jlreq@trimmarks@addpapersize{b2,B2}[b2]
+\jlreq@trimmarks@addpapersize{b3,B3}[b3]
+\jlreq@trimmarks@addpapersize{b4,B4}[b4]
+\jlreq@trimmarks@addpapersize{b5,B5}[b5]
+\jlreq@trimmarks@addpapersize{b6,B6}[b6]
+\jlreq@trimmarks@addpapersize{b7,B7}[b7]
+\jlreq@trimmarks@addpapersize{b8,B8}[b8]
+\jlreq@trimmarks@addpapersize{b9,B9}[b9]
+\jlreq@trimmarks@addpapersize{b10,B10}[b10]
+
+\jlreq@trimmarks@addpapersize{c2,C2}[c2]
+\jlreq@trimmarks@addpapersize{c3,C3}[c3]
+\jlreq@trimmarks@addpapersize{c4,C4}[c4]
+\jlreq@trimmarks@addpapersize{c5,C5}[c5]
+\jlreq@trimmarks@addpapersize{c6,C6}[c6]
+\jlreq@trimmarks@addpapersize{c7,C7}[c7]
+\jlreq@trimmarks@addpapersize{c8,C8}[c8]
+
+\jlreq@trimmarks@addpapersize{a4var}[a4var]
+\jlreq@trimmarks@addpapersize{b5var}[b5var]
+
+\jlreq@trimmarks@addpapersize{letter}[letter]
+\jlreq@trimmarks@addpapersize{legal}[legal]
+\jlreq@trimmarks@addpapersize{executive}[executive]
+\jlreq@trimmarks@addpapersize{hagaki}[hagaki]
+
+% width -> \jlreq@resulta, height -> \jlreq@resultb
+\edef\jlreq@trimmarks@analyzepapersize#1{
+ \noexpand\jlreq@switch{#1}{
+ \expandonce{\jlreq@trimmarks@switchpapersize}%
+ {%
+ \noexpand\jlreq@helper@dividebycomma{#1}%
+ \unexpanded{\ifjlreq@result\else}%
+ \unexpanded{\def\jlreq@resulta}{#1}%
+ \unexpanded{\def\jlreq@resultb}{#1}%
+ \noexpand\fi
+ }%
+ }\noexpand\relax
+}
+\jlreq@trimmarks@afterpkg@addtodeletecs{\jlreq@trimmarks@analyzepapersize}
+
+\def\jlreq@trimmarks@option@papersize{+2in}
+\DeclareOptionX{trimmarks_paper}{\def\jlreq@trimmarks@option@papersize{#1}}
+\jlreq@trimmarks@afterpkg@addtodeletecs{\jlreq@trimmarks@option@papersize}
+
+\newif\ifjlreq@trimmarks@digital \jlreq@trimmarks@digitaltrue
+\newif\ifjlreq@trimmarks@show \jlreq@trimmarks@showtrue
+\newif\ifjlreq@trimmarks@show@artbox \jlreq@trimmarks@show@artboxfalse
+\tombowdatetrue
+% 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}]
+ }
+ }
+}
+\@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}%
+ }%
+ }{%
+ \PackageError{jlreq-trimmarks}{Unknown position `##1' in bleed_margin}{\@ehc}
+ }%
+ }%
+ }{#1}%
+ \expandafter\endgroup
+ \jlreq@do
+}
+
+\newif\ifjlreq@trimmarks@landscape \jlreq@trimmarks@landscapefalse
+\jlreq@trimmarks@DeclareOption{landscape}{\jlreq@trimmarks@landscapetrue}
+\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
+
+\ifjlreq@trimmarks@option@show\else
+ \ifx o\jlreq@trimmarks@driver
+ \jlreq@trimmarks@digitalfalse
+ \jlreq@trimmarks@showtrue
+ \jlreq@trimmarks@show@artboxfalse
+ \fi
+\fi
+
+\def\jlreq@trimmarks@setpapersize#1{
+ \jlreq@ifcontains{#1}{+}{
+ \def\@tempa##1+##2\jlreq@endmark{
+ \jlreq@helper@trim{##1}{\jlreq@trimmarks@tempa}
+ \jlreq@helper@trim{##2}{\jlreq@trimmarks@tempb}
+ \ifx\jlreq@trimmarks@tempa\@empty
+ \let\jlreq@tempa=\paperwidth
+ \let\jlreq@tempb=\paperheight
+ \else
+ \expandafter\jlreq@trimmarks@analyzepapersize\expandafter{\jlreq@trimmarks@tempa}
+ \let\jlreq@tempa=\jlreq@resulta
+ \let\jlreq@tempb=\jlreq@resultb
+ \ifjlreq@trimmarks@landscape\jlreq@helper@swap{\jlreq@tempa}{\jlreq@tempb}\fi
+ \fi
+ \expandafter\jlreq@trimmarks@analyzepapersize\expandafter{\jlreq@trimmarks@tempb}
+ \ifjlreq@trimmarks@landscape\jlreq@helper@swap{\jlreq@resulta}{\jlreq@resultb}\fi
+ \edef\jlreq@trimmarks@paperwidth{\the\dimexpr\jlreq@tempa + \jlreq@resulta\relax}
+ \edef\jlreq@trimmarks@paperheight{\the\dimexpr\jlreq@tempb + \jlreq@resultb\relax}
+ }
+ \@tempa#1\jlreq@endmark
+ }{
+ \jlreq@trimmarks@analyzepapersize{#1}
+ \ifjlreq@trimmarks@landscape\jlreq@helper@swap{\jlreq@resulta}{\jlreq@resultb}\fi
+ \edef\jlreq@trimmarks@paperwidth{\jlreq@resulta}
+ \edef\jlreq@trimmarks@paperheight{\jlreq@resultb}
+ }
+}
+\jlreq@trimmarks@afterpkg@addtodeletecs{\jlreq@trimmarks@setpapersize}
+\expandafter\jlreq@trimmarks@setpapersize\expandafter{\jlreq@trimmarks@option@papersize}
+
+\ifx o\jlreq@trimmarks@driver
+ \ifjlreq@trimmarks@digital
+ \PackageError{jlreq-trimmarks}{`show=digital' can't be used with the driver `dviout'}{\@ehc}
+ \fi
+\fi
+
+\long\def\jlreq@trimmarks@setbanner#1#2#3{%
+ \begingroup
+ \def\jlreq@do{}%
+ \jlreq@parsekeyval@nokey{%
+ \ifjlreq@parsekeyval@nokey@novalue{}{%
+ \jlreq@switch{##1}{
+ {yoko}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@@{yoko@#1}{yoko@#2}{##2}}}
+ {horizontal}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@@{yoko@#1}{yoko@#2}{##2}}}
+ {tate}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@@{tate@#1}{tate@#2}{##2}}}
+ {vertial}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@@{tate@#1}{tate@#2}{##2}}}
+ {corner}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@@{corner@#1}{corner@#2}{##2}}}
+ {in-yoko}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@@{inyoko@#1}{inyoko@#2}{##2}}}
+ {in-horizontal}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@@{inyoko@#1}{inyoko@#2}{##2}}}
+ {in-tate}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@@{intate@#1}{intate@#2}{##2}}}
+ {in-vertial}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@@{intate@#1}{intate@#2}{##2}}}
+ }%
+ }%
+ }{#3}%
+ \ifx\jlreq@do\@empty
+ \appto\jlreq@do{\jlreq@trimmarks@setbanner@@{yoko@#1}{yoko@#2}{#3}}%
+ \fi
+ \expandafter\endgroup
+ \jlreq@do
+}
+
+\long\def\jlreq@trimmarks@setbanner@#1#2#3{%
+ \begingroup
+ \def\jlreq@do{}%
+ \jlreq@parsekeyval@nokey{%
+ \ifjlreq@parsekeyval@nokey@novalue{}{%
+ \jlreq@switch*{##1}{
+ {left}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@@{before@#1}{before@#2}{##2}}}
+ {right}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@@{after@#1}{after@#2}{##2}}}
+ {above}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@@{before@#1}{before@#2}{##2}}}
+ {below}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@@{after@#1}{after@#2}{##2}}}
+ {in}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@@{in@#1}{in@#2}{##2}}}
+ }%
+ }%
+ }{#3}%
+ \ifx\jlreq@do\@empty
+ \appto\jlreq@do{\jlreq@trimmarks@setbanner@@{before@#1}{before@#2}{#3}}%
+ \fi
+ \expandafter\endgroup
+ \jlreq@do
+}
+
+% #1 = odd, #2 = even
+\long\def\jlreq@trimmarks@setbanner@@#1#2#3{%
+ \begingroup
+ \def\jlreq@do{}%
+ \jlreq@parsekeyval@nokey{%
+ \ifjlreq@parsekeyval@nokey@novalue{}{%
+ \jlreq@switch*{##1}{
+ {odd}{\appto\jlreq@do{\expandafter\edef\csname jlreq@trimmarks@banner@odd@#1\endcsname{\unexpanded{##2}}}}
+ {even}{\appto\jlreq@do{\expandafter\edef\csname jlreq@trimmarks@banner@even@#2\endcsname{\unexpanded{##2}}}}
+ }%
+ }%
+ }{#3}%
+ \ifx\jlreq@do\@empty
+ \appto\jlreq@do{%
+ \expandafter\edef\csname jlreq@trimmarks@banner@odd@#1\endcsname{\unexpanded{#3}}%
+ \expandafter\edef\csname jlreq@trimmarks@banner@even@#2\endcsname{\unexpanded{#3}}%
+ }%
+ \fi
+ \expandafter\endgroup
+ \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}{}%
+ }%
+ }%
+ }%
+ \@bannertoken{}%
+ \def\jlreq@do{}%
+ \jlreq@parsekeyval@nokey{%
+ \ifjlreq@parsekeyval@nokey@novalue{}{%
+ \jlreq@tempafalse
+ \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}{\jlreq@tempatrue\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@left}{top@left}{####2}}}
+ {left-top}{\jlreq@tempatrue\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}}}
+ }%
+ \ifjlreq@tempa
+ \appto\jlreq@do{\expandafter\@bannertoken\expandafter{\jlreq@trimmarks@banner@odd@yoko@top@left}}%
+ \fi
+ }%
+ }{##1}%
+ \ifx\jlreq@do\@empty
+ \jlreq@trimmarks@setbanner{top@left}{##1}%
+ \expandafter\@bannertoken\expandafter{\jlreq@trimmarks@banner@odd@yoko@top@left}%
+ \else
+ \jlreq@do
+ \fi
+ }
+ {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}%
+ }%
+ \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}%
+}
+\@onlypreamble\jlreqtrimmarkssetup
+\jlreqtrimmarkssetup{
+ banner={%
+ \jobname\space(\number\year-\two@digits\month-\two@digits\day
+ \space\two@digits\hour:\two@digits\minute)%
+ },
+ banner_font={},
+ color={}
+}
+
+\ifx\jlreq@trimmarks@engine\@undefined
+ \jlreq@helper@guessengine
+ \let\jlreq@trimmarks@engine=\jlreq@result
+\fi
+
+\ifx\jlreq@trimmarks@driver\@undefined
+ \ifx l\jlreq@trimmarks@engine
+ \let\jlreq@trimmarks@driver=l
+ \else
+ % default: dvipdfmx
+ \let\jlreq@trimmarks@driver=f
+ \fi
+\fi
+
+\ifx l\jlreq@trimmarks@engine
+ \setlength{\pagewidth}{\dimexpr\jlreq@trimmarks@paperwidth\relax}
+ \setlength{\pageheight}{\dimexpr\jlreq@trimmarks@paperheight\relax}
+\else
+ \setlength{\pdfpagewidth}{\dimexpr\jlreq@trimmarks@paperwidth\relax}
+ \setlength{\pdfpageheight}{\dimexpr\jlreq@trimmarks@paperheight\relax}
+\fi
+
+\hoffset=\dimexpr(\jlreq@trimmarks@paperwidth - \paperwidth)/2 - \ifx l\jlreq@trimmarks@engine 1in\else 1truein\fi\relax
+\voffset=\dimexpr(\jlreq@trimmarks@paperheight - \paperheight)/2 - \ifx l\jlreq@trimmarks@engine 1in\else 1truein\fi\relax
+\ifx l\jlreq@trimmarks@engine\else
+ \@ifundefined{@tombowreset@@paper}{
+ \AtBeginDocument{%
+ \addtolength{\oddsidemargin}{\dimexpr 1truein - 1in\relax}%
+ \addtolength{\evensidemargin}{\dimexpr 1truein - 1in\relax}%
+ \addtolength{\topmargin}{\dimexpr 1truein - 1in\relax}%
+ }
+ }{
+ \def\@tombowreset@@paper{%
+ \@@topmargin\topmargin
+ \iftombow
+ \@@paperwidth\paperwidth
+ \advance\@@paperwidth 2\dimexpr\@tombowbleed\relax
+ \@@paperheight\paperheight \advance\@@paperheight 10mm\relax
+ \advance\@@paperheight 2\dimexpr\@tombowbleed\relax
+ % 1in -> 1truein
+ \advance\@@topmargin 1truein\relax \advance\@themargin 1truein\relax
+ \fi
+ }
+ }
+\fi
+
+\ifx l\jlreq@trimmarks@driver\else
+ \jlreq@helper@divide{\the\mag pt}{1000pt}
+ \edef\@tempa{\noexpand\AtBeginDvi{\noexpand\special{papersize=\the\dimexpr\strip@pt\jlreq@resultdimen\dimexpr\jlreq@trimmarks@paperwidth\relax\relax, \the\dimexpr\strip@pt\jlreq@resultdimen\dimexpr\jlreq@trimmarks@paperheight\relax\relax}}}
+ \@tempa
+\fi
+\@ifundefined{stockheight}{\newlength{\stockheight}}{}
+\@ifundefined{stockwidth}{\newlength{\stockwidth}}{}
+\setlength{\stockwidth}{\dimexpr\jlreq@trimmarks@paperwidth\relax}
+\setlength{\stockheight}{\dimexpr\jlreq@trimmarks@paperheight\relax}
+
+\def\jlreq@trimmarks@outputbanner#1#2{%
+ \iftombowdate
+ \expandafter\let\expandafter\jlreq@tempa\csname jlreq@trimmarks@banner@\ifodd\c@page odd\else even\fi @#1\endcsname
+ \ifx\jlreq@tempa\@empty\else
+ \def\@tempa##1{#2}%
+ \expandafter\@tempa\expandafter{\jlreq@tempa}%
+ \fi
+ \fi
+}
+\def\jlreq@trimmarks@bleed{3mm}
+% left=gutter?
+\def\ifjlreq@trimmarks@leftisgutter{%
+ \ifjlreq@trimmarks@tate{%
+ \ifnum 0\ifodd\c@page 1\fi\if@twoside\else 1\fi>0 \expandafter\@secondoftwo\else\expandafter\@firstoftwo\fi
+ }{%
+ \ifnum 0\ifodd\c@page 1\fi\if@twoside\else 1\fi>0 \expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
+ }%
+}
+\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}}
+
+\def\jlreq@trimmarks@outputtombow{%
+ \vbox to\z@{%
+ \kern-\dimexpr 10mm + \jlreq@trimmarks@bleed@top\relax
+ \boxmaxdepth\maxdimen
+ \moveleft\jlreq@trimmarks@bleed@left\vbox to\@@paperheight{%
+ \color@begingroup\jlreq@trimmarks@color
+ \hbox to\@@paperwidth{%
+ \hskip\jlreq@trimmarks@bleed@left\relax
+ \setbox\jlreq@tempboxa=\hbox to\z@{% \@TL
+ \yoko\hss
+ \vrule width\dimexpr 10mm + \jlreq@trimmarks@bleed@left\relax height\@tombowwidth depth\z@
+ \vrule height10mm width\@tombowwidth depth\z@
+ \iftombowdate
+ \setbox\jlreq@tempboxa=\hbox to\z@{\hskip5mm\@bannerfont\jlreq@trimmarks@bannerfont
+ \ifodd\c@page\the\@bannertoken\else\jlreq@trimmarks@banner@even@yoko@top@left\fi
+ \hss}%
+ \dp\jlreq@tempboxa=0pt
+ \raise 4pt\box\jlreq@tempboxa
+ \fi
+ \jlreq@trimmarks@outputbanner{inyoko@top@left}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}%
+ \jlreq@tempdima=\dimexpr\ht\jlreq@tempboxa + \jlreq@trimmarks@bleed@top\relax
+ \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt
+ \raise-\jlreq@tempdima\box\jlreq@tempboxa
+ }%
+ }%
+ \dp\jlreq@tempboxa=0pt
+ \box\jlreq@tempboxa
+ \hfill
+ \setbox\jlreq@tempboxa=\hbox{% \@TC
+ \yoko
+ \vrule width10mm height\@tombowwidth depth\z@
+ \jlreq@trimmarks@outputbanner{before@top@center}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\hss\@bannerfont\jlreq@trimmarks@bannerfont##1\hskip 5mm}%
+ \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \wd\jlreq@tempboxa=0pt
+ \raise 4pt\box\jlreq@tempboxa
+ }%
+ \jlreq@trimmarks@outputbanner{in@top@center}{%
+ \setbox\jlreq@tempboxa=\hbox{\@bannerfont\jlreq@trimmarks@bannerfont##1}%
+ \jlreq@tempdima=\dimexpr\ht\jlreq@tempboxa + \jlreq@trimmarks@bleed@top\relax
+ \jlreq@tempdimb=0.5\wd\jlreq@tempboxa
+ \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \wd\jlreq@tempboxa=0pt
+ \kern-\jlreq@tempdimb\raise-\jlreq@tempdima\box\jlreq@tempboxa\kern\jlreq@tempdimb
+ }%
+ \vrule height10mm width\@tombowwidth depth\z@
+ \jlreq@trimmarks@outputbanner{after@top@center}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\hskip 5mm\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}%
+ \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \wd\jlreq@tempboxa=0pt
+ \raise 4pt\box\jlreq@tempboxa
+ }%
+ \vrule width10mm height\@tombowwidth depth\z@
+ }%
+ \dp\jlreq@tempboxa=0pt
+ \box\jlreq@tempboxa
+ \hfill
+ \setbox\jlreq@tempboxa=\hbox to\z@{% \@TR
+ \yoko
+ \jlreq@trimmarks@outputbanner{yoko@top@right}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\yoko\hss\@bannerfont\jlreq@trimmarks@bannerfont##1\hskip 5mm}%
+ \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt
+ \raise 4pt\box\jlreq@tempboxa
+ }%
+ \jlreq@trimmarks@outputbanner{inyoko@top@right}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\yoko\hss\@bannerfont\jlreq@trimmarks@bannerfont##1}%
+ \jlreq@tempdima=\dimexpr\jlreq@trimmarks@bleed@top + \ht\jlreq@tempboxa\relax
+ \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt
+ \raise-\jlreq@tempdima\box\jlreq@tempboxa
+ }%
+ \vrule height10mm width\@tombowwidth depth\z@
+ \jlreq@trimmarks@outputbanner{corner@top@right}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\hskip\dimexpr\jlreq@trimmarks@bleed@right + 4pt\relax\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}%
+ \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt
+ \raise 4pt\box\jlreq@tempboxa
+ }%
+ \vrule width\dimexpr 10mm + \jlreq@trimmarks@bleed@right\relax height\@tombowwidth depth\z@\hss
+ }%
+ \dp\jlreq@tempboxa=0pt
+ \box\jlreq@tempboxa
+ \hskip\jlreq@trimmarks@bleed@right
+ }%
+ \kern-10mm
+ \hbox to\@@paperwidth{%
+ \hbox to\z@{% \@Tl
+ \yoko\hss
+ \vrule width10mm height\@tombowwidth depth\z@
+ \jlreq@trimmarks@outputbanner{corner@top@left}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\hss\@bannerfont\jlreq@trimmarks@bannerfont##1\hskip 4pt}%
+ \dp\jlreq@tempboxa=0pt \ht\jlreq@tempboxa=0pt
+ \raise\dimexpr \jlreq@trimmarks@bleed@top + 4pt\relax\box\jlreq@tempboxa
+ }%
+ \vrule height\dimexpr 10mm + \jlreq@trimmarks@bleed@top\relax width\@tombowwidth depth\z@
+ \jlreq@trimmarks@outputbanner{tate@top@left}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}%
+ \ifx l\jlreq@trimmarks@engine
+ \jlreq@tempdima=\dimexpr 4pt + \ht\jlreq@tempboxa\relax
+ \else
+ \jlreq@tempdima=\dimexpr 4pt + \wd\jlreq@tempboxa\relax
+ \fi
+ \wd\jlreq@tempboxa=0pt \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt
+ \kern-\jlreq@tempdima\raise-5mm\box\jlreq@tempboxa\kern\jlreq@tempdima
+ }%
+ \jlreq@trimmarks@outputbanner{intate@top@left}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}%
+ \jlreq@tempdima=\dimexpr\jlreq@trimmarks@bleed@left \ifx l\jlreq@trimmarks@engine + \ht\jlreq@tempboxa\fi\relax
+ \wd\jlreq@tempboxa=0pt \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt
+ \kern\jlreq@tempdima\box\jlreq@tempboxa\kern-\jlreq@tempdima
+ }%
+ }%
+ \hfill
+ \hbox to\z@{% \@Tr
+ \yoko
+ \jlreq@trimmarks@outputbanner{tate@top@right}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}%
+ \jlreq@tempdima=\dimexpr 4pt \ifx l\jlreq@trimmarks@engine + \dp\jlreq@tempboxa\fi\relax
+ \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \wd\jlreq@tempboxa=0pt
+ \kern\jlreq@tempdima\raise -5mm\box\jlreq@tempboxa\kern-\jlreq@tempdima
+ }%
+ \jlreq@trimmarks@outputbanner{intate@top@right}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}%
+ \ifx l\jlreq@trimmarks@engine
+ \jlreq@tempdima=\dimexpr\jlreq@trimmarks@bleed@top + \ht\jlreq@tempboxa\relax
+ \else
+ \jlreq@tempdima=\dimexpr\jlreq@trimmarks@bleed@top + \wd\jlreq@tempboxa\relax
+ \fi
+ \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \wd\jlreq@tempboxa=0pt
+ \kern-\jlreq@tempdima\box\jlreq@tempboxa\kern\jlreq@tempdima
+ }%
+ \vrule height\dimexpr 10mm + \jlreq@trimmarks@bleed@top\relax width\@tombowwidth depth\z@
+ \vrule width10mm height\@tombowwidth depth\z@
+ \hss
+ }%
+ }%
+ \vfill
+ \hbox to\@@paperwidth{%
+ \hbox to\z@{% \@CL
+ \yoko\hss
+ \vrule width10mm height.5\@tombowwidth depth.5\@tombowwidth
+ \jlreq@trimmarks@outputbanner{before@center@left}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\hss\adjustbaseline\@bannerfont\jlreq@trimmarks@bannerfont##1\hskip 5mm}%
+ \ifx l\jlreq@trimmarks@engine
+ \jlreq@tempdima=\dimexpr 4pt + \ht\jlreq@tempboxa\relax
+ \else
+ \jlreq@tempdima=\dimexpr 4pt + \wd\jlreq@tempboxa\relax
+ \fi
+ \dp\jlreq@tempboxa=0pt \ht\jlreq@tempboxa=0pt \wd\jlreq@tempboxa=0pt
+ \kern-\jlreq@tempdima\box\jlreq@tempboxa\kern\jlreq@tempdima
+ }%
+ \jlreq@trimmarks@outputbanner{after@center@left}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\hskip 5mm\adjustbaseline\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}%
+ \ifx l\jlreq@trimmarks@engine
+ \jlreq@tempdima=\dimexpr 4pt + \ht\jlreq@tempboxa\relax
+ \else
+ \jlreq@tempdima=\dimexpr 4pt + \wd\jlreq@tempboxa\relax
+ \fi
+ \dp\jlreq@tempboxa=0pt \ht\jlreq@tempboxa=0pt \wd\jlreq@tempboxa=0pt
+ \kern-\jlreq@tempdima\box\jlreq@tempboxa\kern\jlreq@tempdima
+ }%
+ \vrule height10mm depth10mm width\@tombowwidth
+ \jlreq@trimmarks@outputbanner{in@center@left}{%
+ \setbox\jlreq@tempboxa=\hbox{\tate\adjustbaseline\@bannerfont\jlreq@trimmarks@bannerfont##1}%
+ \ifx l\jlreq@trimmarks@engine
+ \jlreq@tempdima=\dimexpr\jlreq@trimmarks@bleed@left + \ht\jlreq@tempboxa\relax
+ \jlreq@tempdimb=.5\wd\jlreq@tempboxa
+ \else
+ \jlreq@tempdima=\dimexpr\jlreq@trimmarks@bleed@left\relax
+ \jlreq@tempdimb=.5\dimexpr\ht\jlreq@tempboxa + \dp\jlreq@tempboxa\relax
+ \fi
+ \dp\jlreq@tempboxa=0pt \ht\jlreq@tempboxa=0pt \wd\jlreq@tempboxa=0pt
+ \kern\jlreq@tempdima\raise\jlreq@tempdimb\box\jlreq@tempboxa\kern-\jlreq@tempdima
+ }%
+ }%
+ \hfill
+ \hbox to\z@{% \@CR
+ \yoko
+ \jlreq@trimmarks@outputbanner{in@center@right}{%
+ \setbox\jlreq@tempboxa=\hbox{\tate\adjustbaseline\@bannerfont\jlreq@trimmarks@bannerfont##1}%
+ \ifx l\jlreq@trimmarks@engine
+ \jlreq@tempdima=\dimexpr\jlreq@trimmarks@bleed@right + \ht\jlreq@tempboxa\relax
+ \jlreq@tempdimb=0.5\wd\jlreq@tempboxa
+ \else
+ \jlreq@tempdima=\dimexpr\jlreq@trimmarks@bleed@right + \wd\jlreq@tempboxa\relax
+ \jlreq@tempdimb=0.5\dimexpr\ht\jlreq@tempboxa + \dp\jlreq@tempboxa\relax
+ \fi
+ \dp\jlreq@tempboxa=0pt \ht\jlreq@tempboxa=0pt \wd\jlreq@tempboxa=0pt
+ \kern-\jlreq@tempdima\raise\jlreq@tempdimb\box\jlreq@tempboxa\kern\jlreq@tempdima
+ }%
+ \vrule height10mm depth10mm width\@tombowwidth
+ \jlreq@trimmarks@outputbanner{before@center@right}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\hss\adjustbaseline\@bannerfont\jlreq@trimmarks@bannerfont##1\hskip 5mm}%
+ \jlreq@tempdima=\dimexpr 4pt \ifx l\jlreq@trimmarks@engine + \dp\jlreq@tempboxa\fi\relax
+ \dp\jlreq@tempboxa=0pt \ht\jlreq@tempboxa=0pt \wd\jlreq@tempboxa=0pt
+ \kern\jlreq@tempdima\box\jlreq@tempboxa\kern-\jlreq@tempdima
+ }%
+ \jlreq@trimmarks@outputbanner{after@center@right}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\hskip 5mm\adjustbaseline\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}%
+ \jlreq@tempdima=\dimexpr 4pt \ifx l\jlreq@trimmarks@engine + \dp\jlreq@tempboxa\fi\relax
+ \dp\jlreq@tempboxa=0pt \ht\jlreq@tempboxa=0pt \wd\jlreq@tempboxa=0pt
+ \kern\jlreq@tempdima\box\jlreq@tempboxa\kern-\jlreq@tempdima
+ }%
+ \vrule height.5\@tombowwidth depth.5\@tombowwidth width10mm\hss
+ }%
+ }%
+ \vfill
+ \hbox to\@@paperwidth{%
+ \hbox to\z@{% \@Bl
+ \yoko\hss
+ \vrule width10mm depth\@tombowwidth height\z@
+ \vrule depth\dimexpr 10mm + \jlreq@trimmarks@bleed@bottom\relax width\@tombowwidth height\z@
+ \jlreq@trimmarks@outputbanner{tate@bottom@left}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\hss\@bannerfont\jlreq@trimmarks@bannerfont##1}%
+ \ifx l\jlreq@trimmarks@engine
+ \jlreq@tempdima=\dimexpr 4pt + \ht\jlreq@tempboxa\relax
+ \else
+ \jlreq@tempdima=\dimexpr 4pt + \wd\jlreq@tempboxa\relax
+ \fi
+ \wd\jlreq@tempboxa=0pt \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt
+ \kern-\jlreq@tempdima\raise 5mm\box\jlreq@tempboxa\kern\jlreq@tempdima
+ }%
+ \jlreq@trimmarks@outputbanner{intate@bottom@left}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\hss\@bannerfont\jlreq@trimmarks@bannerfont##1}%
+ \jlreq@tempdima=\dimexpr\jlreq@trimmarks@bleed@left \ifx l\jlreq@trimmarks@engine + \ht\jlreq@tempboxa\fi\relax
+ \wd\jlreq@tempboxa=0pt \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt
+ \kern\jlreq@tempdima\box\jlreq@tempboxa\kern-\jlreq@tempdima
+ }%
+ }%
+ \hfill
+ \hbox to\z@{% \@Br
+ \yoko
+ \jlreq@trimmarks@outputbanner{tate@bottom@right}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\hss\@bannerfont\jlreq@trimmarks@bannerfont##1}%
+ \jlreq@tempdima=\dimexpr\ifx l\jlreq@trimmarks@engine\ht\jlreq@tempboxa + \fi 4pt\relax
+ \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \wd\jlreq@tempboxa=0pt
+ \kern\jlreq@tempdima\raise5mm\box\jlreq@tempboxa\kern-\jlreq@tempdima
+ }%
+ \jlreq@trimmarks@outputbanner{intate@bottom@right}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\hss\@bannerfont\jlreq@trimmarks@bannerfont##1}%
+ \ifx l\jlreq@trimmarks@engine
+ \jlreq@tempdima=\dimexpr\jlreq@trimmarks@bleed@right + \ht\jlreq@tempboxa\relax
+ \else
+ \jlreq@tempdima=\dimexpr\jlreq@trimmarks@bleed@right + \wd\jlreq@tempboxa\relax
+ \fi
+ \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \wd\jlreq@tempboxa=0pt
+ \kern-\jlreq@tempdima\box\jlreq@tempboxa\kern\jlreq@tempdima
+ }%
+ \vrule depth\dimexpr 10mm + \jlreq@trimmarks@bleed@bottom\relax width\@tombowwidth height\z@
+ \jlreq@trimmarks@outputbanner{corner@bottom@right}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\hskip 4pt\relax\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}%
+ \jlreq@tempdima=\dimexpr\ht\jlreq@tempboxa + \jlreq@trimmarks@bleed@bottom + 4pt\relax
+ \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt
+ \raise-\jlreq@tempdima\box\jlreq@tempboxa
+ }%
+ \vrule width10mm depth\@tombowwidth height\z@\hss
+ }%
+ }%
+ \kern-10mm
+ \hbox to\@@paperwidth{%
+ \hskip\jlreq@trimmarks@bleed@left\relax
+ \setbox\jlreq@tempboxa=\hbox to\z@{% \@BL
+ \yoko\hss
+ \vrule width\dimexpr 10mm + \jlreq@trimmarks@bleed@left\relax depth\@tombowwidth height\z@
+ \jlreq@trimmarks@outputbanner{corner@bottom@left}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\hss\@bannerfont\jlreq@trimmarks@bannerfont##1\hskip\dimexpr\jlreq@trimmarks@bleed@left + 4pt\relax}%
+ \jlreq@tempdima=\dimexpr\ht\jlreq@tempboxa + 4pt\relax
+ \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt
+ \raise-\jlreq@tempdima\box\jlreq@tempboxa
+ }%
+ \vrule depth10mm width\@tombowwidth height\z@
+ \jlreq@trimmarks@outputbanner{yoko@bottom@left}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\yoko\hskip 5mm\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}%
+ \jlreq@tempdima=\dimexpr\ht\jlreq@tempboxa + 4pt\relax
+ \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt
+ \raise-\jlreq@tempdima\box\jlreq@tempboxa
+ }%
+ \jlreq@trimmarks@outputbanner{inyoko@bottom@left}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\yoko\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}%
+ \jlreq@tempdima=\dimexpr\jlreq@trimmarks@bleed@bottom + \dp\jlreq@tempboxa\relax
+ \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt
+ \raise\jlreq@tempdima\box\jlreq@tempboxa
+ }%
+ }%
+ \ht\jlreq@tempboxa=0pt
+ \box\jlreq@tempboxa
+ \hfill
+ \setbox\jlreq@tempboxa=\hbox{% \@BC
+ \yoko
+ \vrule width10mm depth\@tombowwidth height\z@
+ \jlreq@trimmarks@outputbanner{before@bottom@center}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\hss\@bannerfont\jlreq@trimmarks@bannerfont##1\hskip 5mm}%
+ \jlreq@tempdima=\dimexpr\ht\jlreq@tempboxa + 4pt\relax
+ \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt
+ \raise-\jlreq@tempdima\box\jlreq@tempboxa
+ }%
+ \jlreq@trimmarks@outputbanner{in@bottom@center}{%
+ \setbox\jlreq@tempboxa=\hbox{\@bannerfont\jlreq@trimmarks@bannerfont##1}%
+ \jlreq@tempdima=\dimexpr\dp\jlreq@tempboxa + \jlreq@trimmarks@bleed@bottom\relax
+ \jlreq@tempdimb=.5\wd\jlreq@tempboxa
+ \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \wd\jlreq@tempboxa=0pt
+ \kern-\jlreq@tempdimb\raise\jlreq@tempdima\box\jlreq@tempboxa\kern\jlreq@tempdimb
+ }%
+ \vrule depth10mm width\@tombowwidth height\z@
+ \jlreq@trimmarks@outputbanner{before@bottom@center}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\hskip 5mm\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}%
+ \jlreq@tempdima=\dimexpr\ht\jlreq@tempboxa + 4pt\relax
+ \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt
+ \raise-\jlreq@tempdima\box\jlreq@tempboxa
+ }%
+ \vrule width10mm depth\@tombowwidth height\z@
+ }%
+ \ht\jlreq@tempboxa=0pt
+ \box\jlreq@tempboxa
+ \hfill
+ \setbox\jlreq@tempboxa=\hbox to 0pt{% \@BR
+ \yoko
+ \jlreq@trimmarks@outputbanner{yoko@bottom@right}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\yoko\hss\@bannerfont\jlreq@trimmarks@bannerfont##1\hskip 5mm}%
+ \jlreq@tempdima=\dimexpr\ht\jlreq@tempboxa + 4pt\relax
+ \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt
+ \raise-\jlreq@tempdima\box\jlreq@tempboxa
+ }%
+ \jlreq@trimmarks@outputbanner{inyoko@bottom@right}{%
+ \setbox\jlreq@tempboxa=\hbox to 0pt{\yoko\hss\@bannerfont\jlreq@trimmarks@bannerfont##1}%
+ \jlreq@tempdima=\dimexpr\dp\jlreq@tempboxa + \jlreq@trimmarks@bleed@bottom\relax
+ \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt
+ \raise\jlreq@tempdima\box\jlreq@tempboxa
+ }%
+ \vrule depth10mm width\@tombowwidth height\z@
+ \vrule width\dimexpr 10mm + \jlreq@trimmarks@bleed@right\relax depth\@tombowwidth height\z@\hss
+ }%
+ \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt
+ \box\jlreq@tempboxa
+ \hskip\jlreq@trimmarks@bleed@right
+ }%
+ \color@endgroup}\vss
+ }%
+}
+\def\@outputtombow{%
+ % 6mm = \@tombowbleed: from plcore
+ \@@paperwidth=\dimexpr\@@paperwidth - 6mm + \dimexpr\jlreq@trimmarks@bleed@left + \jlreq@trimmarks@bleed@right\relax\relax
+ \@@paperheight=\dimexpr\@@paperheight - 6mm + \dimexpr\jlreq@trimmarks@bleed@top + \jlreq@trimmarks@bleed@bottom\relax\relax
+ \ifjlreq@trimmarks@show\expandafter\jlreq@trimmarks@outputtombow\fi
+}
+
+\ifjlreq@trimmarks@digital
+ \ifx l\jlreq@trimmarks@engine
+ \setlength\jlreq@resultdimen{1pt}
+ \else
+ \jlreq@helper@divide{\the\mag pt}{1000pt}
+ \fi
+ % 0.9963 = 1pt/1bp (almost)
+ \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@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@paperheight + \paperheight)/2 + \jlreq@trimmarks@bleed@top}%
+ ]
+ }
+ \c@page=1
+ \edef\jlreq@trimmarks@bleedboxsize@odd{\@tempa}
+ \c@page=2
+ \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
+ }
+ \edef\jlreq@trimmarks@pdfattribute@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}
+ \jlreq@trimmarks@afterpkg@addtodeletecs{\jlreq@trimmarks@bleedboxsize@odd}
+ \jlreq@trimmarks@afterpkg@addtodeletecs{\jlreq@trimmarks@bleedboxsize@even}
+ \jlreq@trimmarks@afterpkg@addtodeletecs{\jlreq@trimmarks@pdfattribute@odd}
+ \jlreq@trimmarks@afterpkg@addtodeletecs{\jlreq@trimmarks@pdfattribute@even}
+
+ \begingroup
+ \c@page=1
+ \jlreq@tempdima=\jlreq@trimmarks@bleed@left
+ \c@page=2
+ \ifdim\jlreq@trimmarks@bleed@left=\jlreq@tempdima
+ \global\let\jlreq@tempa\@firstoftwo
+ \else
+ \global\let\jlreq@tempa\@secondoftwo
+ \fi
+ \endgroup
+ \jlreq@tempa{
+ % no difference between odd pages and even pages
+ \ifx l\jlreq@trimmarks@driver
+ \edef\@tempa{\noexpand\pdfvariable pageattr{\jlreq@trimmarks@pdfattribute@odd}}
+ \@tempa
+ \fi
+ \ifx f\jlreq@trimmarks@driver
+ \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
+ end}}%
+ \@tempa
+ \fi
+ }{
+ \ifx l\jlreq@trimmarks@driver
+ % in \@outputtombow, it's too late
+ \epreto\@outputpage{%
+ \unexpanded{\ifodd\c@page\pdfvariable} pageattr{\jlreq@trimmarks@pdfattribute@odd}%
+ \unexpanded{\else\pdfvariable} pageattr{\jlreq@trimmarks@pdfattribute@even}\noexpand\fi
+ }
+ \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
+ }
+ \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
+ end}\noexpand\fi
+ }
+ \fi
+ }
+\fi
+
+% always true
+\tombowtrue
+
+
+\endinput