templates/latex/review-jlreq/review-jlreq.cls in review-3.0.0.preview3 vs templates/latex/review-jlreq/review-jlreq.cls in review-3.0.0.preview4
- old
+ new
@@ -35,11 +35,11 @@
%% graphicx: added nosetpagesize
\IfFileExists{platexrelease.sty}{%% is bundled in TL16 or higher release version
\PassOptionsToPackage{nosetpagesize}{graphicx}%%for TL16 or higher version
}{}
-\RequirePackage{xkeyval}
+\RequirePackage{xkeyval,everypage}
%% useful helpers
\newcommand\recls@get@p@[2]{%
\edef#2{\expandafter\@recls@GET@P@\the#1}}
{\catcode`p=12\catcode`t=12\gdef\@recls@GET@P@#1pt{#1}}%
@@ -55,10 +55,56 @@
\DeclareOptionX{#1}{%
\recls@ifempty{##1}{}{%
\ClassError{recls}{The option #1 should have no value}{\@ehc}}%
#2}}
+%% \recls@set@hiddenfolio{<preset>}
+%% <preset>: default, marusho-ink (丸正インキ), nikko-pc (日光企画),
+%% shippo (ねこのしっぽ)
+\def\recls@set@hiddenfolio#1{\ifx#1\@empty\else
+ \@ifundefined{@makehiddenfolio@#1}{%
+ \recls@error{Not define such hiddenfolio: #1}}\relax
+ %% set hiddenfolio preset
+ \expandafter\let\expandafter\@makehiddenfolio\csname @makehiddenfolio@#1\endcsname
+ %% redefine to output \@makehiddenfolio for every page
+ \@bannertoken{\hskip-5mm\smash{\hiddenfolio@font\@makehiddenfolio}}%
+ \AddEverypageHook{\maketombowbox}%
+\fi}
+
+\def\hiddenfolio@font{\reset@font
+ \scriptsize\sffamily\baselineskip.8\baselineskip}
+
+%% hiddenfolio=default
+\@namedef{@makehiddenfolio@default}{%
+ \ifodd\c@page
+ \llap{\thepage\hspace{\dimexpr\recls@tombobleed}}%
+ \else
+ \rlap{\hspace{\dimexpr\paperwidth+\recls@tombobleed}\thepage}%
+ \fi}
+
+%% hiddenfolio=marusho-ink
+\@namedef{@makehiddenfolio@marusho-ink}{%
+ \gdef\recls@tombobleed{5mm}%
+ \@nameuse{@makehiddenfolio@nikko-pc}}
+
+%% hiddenfolio=nikko-pc
+\@namedef{@makehiddenfolio@nikko-pc}{%
+ \def\recls@hiddfolio{%
+ \edef\recls@tmp{\thepage}%
+ \lower\dimexpr4pt+\recls@tombobleed+.5\paperheight+5\p@\hbox{%
+ \vbox{\expandafter\@tfor\expandafter\recls@x\expandafter:\expandafter=\recls@tmp\do{%
+ \hbox to 1zw{\hss\recls@x\hss}}}}}%
+ \ifodd\c@page
+ \rlap{\recls@hiddfolio}%
+ \else
+ \llap{\recls@hiddfolio\hspace{-\paperwidth}}%
+ \fi}
+
+%% hiddenfolio=shippo
+\@namedef{@makehiddenfolio@shippo}{%
+ \@nameuse{@makehiddenfolio@nikko-pc}}
+
%% cameraready=print,ebook,preview
\newif\if@cameraready \@camerareadyfalse
\newif\if@pdfhyperlink \@pdfhyperlinkfalse
\newif\if@pdftombo \@pdftombofalse
\newif\if@reclscover \@reclscovertrue
@@ -68,14 +114,17 @@
\DeclareOptionX{bleed_margin}[3mm]{\gdef\recls@tombobleed{#1}}
\DeclareOptionX{cover}[\@empty]{\gdef\recls@forcecover{#1}}
\DeclareOptionX{startpage}[1]{\gdef\recls@startpage{\numexpr #1-1\relax}}
\DeclareOptionX{serial_pagination}[false]{\csname recls@serialpage#1\endcsname}
+%% 隠しノンブルプリセット
+\DeclareOptionX{hiddenfolio}{\gdef\recls@hiddenfolio{#1}}%%default: (none)
+
% jlreqのオプションについては https://github.com/abenori/jlreq/blob/master/README-ja.md を参照
\PassOptionsToClass{book,paper=a5}{jlreq}% クラスで必ず使うオプションの指定。デフォルトをA5にしておく
\DeclareOptionX*{\PassOptionsToClass{\CurrentOption}{jlreq}}%
-\ExecuteOptionsX{cameraready,tombopaper,bleed_margin,cover,startpage,serial_pagination}
+\ExecuteOptionsX{cameraready,tombopaper,bleed_margin,cover,startpage,serial_pagination,hiddenfolio}
\ProcessOptionsX\relax
\def\recls@tmp{preview}\ifx\recls@cameraready\recls@tmp
\@camerareadyfalse\@pdfhyperlinktrue\@pdftombofalse\@reclscovertrue
\else\def\recls@tmp{print}\ifx\recls@cameraready\recls@tmp
@@ -97,9 +146,14 @@
\fi\fi
% トンボ設定
\if@pdftombo
\RequirePackage[trimmarks_paper=\recls@tombopaper,bleed_margin=\recls@tombobleed]{jlreq-trimmarks}
+ % https://github.com/abenori/jlreq/blob/master/jlreq-trimmarks-ja.md を参照
+ \jlreqtrimmarkssetup{banner={}}
+ % 隠しノンブル
+ \AtEndOfClass{%
+ \recls@set@hiddenfolio{\recls@hiddenfolio}}
\fi
% エンジンとドライバの情報。jlreq-trimmarksが定義されていればそっちから持ってくる。
% 定義されていなければjlreqから持ってくる
\def\recls@engine{}