%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjp-geometry}[2015/01/01 Patch to geometry for LuaTeX-ja with vertical writing mode]
-\RequirePackage{ifluatex}
-
+\ProvidesPackage{lltjp-geometry}[2018/01/19 Patch to geometry for LuaTeX-ja with vertical writing mode]
\ifdefined\if@ltj@@geometry@tate\expandafter\endinput\fi
\newif\if@ltj@@geometry@tate
+\newif\if@ltj@@geometry@forceoff
\@ltj@@geometry@tatefalse
-\ifluatex\else % pTeX
- \@ltj@@geometry@tatetrue
+\@ltj@@geometry@forceofffalse
+\DeclareOption{force}{\@ltj@@geometry@tatetrue}
+\DeclareOption{disable}{\@ltj@@geometry@forceofftrue}
+
+\ProcessOptions\relax
+
+\RequirePackage{ifluatex}
+\ifluatex
+ \ifdefined\luatexjaLoaded\else
+ \PackageError{lltjp-geometry}{%
+ lltjp-geometry does not work without luatexja.
+ }{}
+\fi
+\else % pTeX
\def \AtBeginDvi #1{%
\global \setbox \@begindvibox
\vbox{\yoko\unvbox \@begindvibox #1}%
\fi
\RequirePackage{filehook}
+\RequirePackage{etoolbox}
\newif\ifGm@ltj@layoutswitch
\let\orig@PackageWarningNoLine=\PackageWarningNoLine
% define ifGm@swap@papersize if it is undefined
\edef\Gm@ltj@footskip{\the\footskip}
\ifluatex
\ifnum\ltjgetparameter{direction}=3 \@ltj@@geometry@tatetrue\fi
+\else
+ \@gobble\iftrue\csname iftdir\endcsname\@ltj@@geometry@tatetrue\fi
\fi
+\patchcmd\@begindocumenthook{\tate}{\tate}{\@ltj@@geometry@tatetrue}{}%
\if@ltj@@geometry@tate
- \let\PackageWarningNoLine\@gobbletwo% 警告抑止
+ \if@ltj@@geometry@forceoff
+ \@ltj@@geometry@tatefalse
+ \else
+ \let\PackageWarningNoLine\@gobbletwo% 警告抑止
+ \fi
\fi
}
\AtEndOfPackageFile{geometry}{%
\define@key{Gm}{noheadfoot}[true]{\Gm@doifelse{noheadfoot}{#1}%
{\Gm@setlength\headheight\z@\Gm@defbylen{ltj@headsep}\z@
\Gm@defbylen{ltj@footskip}\z@}{}}%
+\define@key{Gm}{layoutwidth}{\Gm@layouttrue\Gm@setlength\Gm@layoutheight{#1}}%
+\define@key{Gm}{layoutheight}{\Gm@layouttrue\Gm@setlength\Gm@layoutwidth{#1}}%
+\define@key{Gm}{layoutsize}{\Gm@branch{#1}{layoutwidth}{layoutheight}}%
+\define@key{Gm}{layout}{\Gm@layouttrue\@nameuse{Gm@#1}{Gm@layout}%
+ \Gm@setlength\@tempdima{\Gm@layoutheight}%
+ \Gm@setlength\Gm@layoutheight{\Gm@layoutwidth}%
+ \Gm@setlength\Gm@layoutwidth{\@tempdima}%
+}%
% \@mparswitch は傍注の出力位置を左右ページで変えるスイッチだが,
% geometry.sty はこれを左右ページのレイアウトを変えるか否かの判定にも使っている.
\ifGm@showcrop
\vb@xt@\z@{\vskip-1\Gm@truedimen in\vskip\Gm@layoutvoffset%
\hb@xt@\z@{\hskip-1\Gm@truedimen in\hskip\Gm@layouthoffset%
- \vb@xt@\Gm@layoutheight{%
+ \vb@xt@\Gm@layoutwidth{%
\let\protect\relax
- \hb@xt@\Gm@layoutwidth{\Gm@cropmark(-1,1,-3,3)\hfil\Gm@cropmark(1,1,3,3)}%
+ \hb@xt@\Gm@layoutheight{\Gm@cropmark(-1,1,-3,3)\hfil\Gm@cropmark(1,1,3,3)}%
\vfil
- \hb@xt@\Gm@layoutwidth{\Gm@cropmark(-1,-1,-3,-3)\hfil\Gm@cropmark(1,-1,3,-3)}}%
+ \hb@xt@\Gm@layoutheight{\Gm@cropmark(-1,-1,-3,-3)\hfil\Gm@cropmark(1,-1,3,-3)}}%
\hss}%
\vss}%
\fi%
\addtolength\@tempdimb{\topskip}%
\textheight\@tempdimb
\fi
- \advance\oddsidemargin\Gm@layoutvoffset%
- \advance\evensidemargin\Gm@layoutvoffset%
- \advance\topmargin\Gm@layouthoffset%
+ \advance\oddsidemargin\Gm@layouthoffset%
+ \advance\evensidemargin\Gm@layouthoffset%
+ \advance\topmargin\Gm@layoutvoffset%
\addtolength\Gm@layoutheight{\Gm@bindingoffset}%
}% end of \Gm@@process
% log