OSDN Git Service

lltjp-geometry.sty: fix 'Incomplete \ifdefined' error
[luatex-ja/luatexja.git] / src / patches / lltjp-geometry.sty
index 1c4a282..1ac1cc0 100644 (file)
@@ -3,7 +3,7 @@
 %
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjp-geometry}[2014/11/23 Patch to geometry for LuaTeX-ja with vertical writing mode]
+\ProvidesPackage{lltjp-geometry}[2015/01/01 Patch to geometry for LuaTeX-ja with vertical writing mode]
 \RequirePackage{ifluatex}
 
 \ifdefined\if@ltj@@geometry@tate\expandafter\endinput\fi
 \RequirePackage{filehook}
 \newif\ifGm@ltj@layoutswitch
 \let\orig@PackageWarningNoLine=\PackageWarningNoLine
-\ifdefined\ifGm@swap@papersize\else\newif\ifGm@swap@papersize\fi
+% define ifGm@swap@papersize if it is undefined
+\expandafter\newif\csname ifGm@swap@papersize\endcsname
 
 \AtBeginOfPackageFile{geometry}{%
   \edef\Gm@ltj@topskip{\the\topskip}
   \edef\Gm@ltj@headsep{\the\headsep}
   \edef\Gm@ltj@footskip{\the\footskip}
-  \let\PackageWarningNoLine\@gobbletwo
-}
-\AtEndOfPackageFile{geometry}{%
-\let\PackageWarningNoLine=\orig@PackageWarningNoLine
 \ifluatex
   \ifnum\ltjgetparameter{direction}=3 \@ltj@@geometry@tatetrue\fi
 \fi
 \if@ltj@@geometry@tate
+  \let\PackageWarningNoLine\@gobbletwo% 警告抑止
+\fi
+}
+\AtEndOfPackageFile{geometry}{%
+\let\PackageWarningNoLine=\orig@PackageWarningNoLine
+\if@ltj@@geometry@tate
+  \let\PackageWarningNoLine=\orig@PackageWarningNoLine
 %%% ここからパッチ開始
 
 % TODO: 
-%  * pTeX, LuaTeX ともに landscape, truedimen が正しく動作しない
+%  * pTeX, LuaTeX ともに truedimen が正しく動作しない
 %  * pTeX  resetpaper が正しく動作しない
 % 
 % `h', `v' は「水平」「垂直」を意味するが:
@@ -91,7 +95,7 @@
 \def\Gm@Dvratio{1:1}% = left:right default for oneside
 \def\Gm@Dvratiotwo{3:2}% = inner:outer default for twoside.
 \ifGm@swap@papersize
-  % geometry.sty ロード時に landscpae オプションが指定されていた場合,
+  % geometry.sty ロード時に landscape オプションが指定されていた場合,
   % それによって用紙サイズの縦横が入れ替わってしまっているので補正する.
   \setlength\@tempdima{\paperwidth}%
   \setlength\paperwidth{\paperheight}%
     \fi
     \setlength\topskip\Gm@ltj@topskip
     \ifx\Gm@lines\@undefined\else
-      \setlength\maxdepth{1\Cht}%
+      \@tempdima=\f@size\p@ \@tempdima=.5\@tempdima
+      \ifluatex
+        \advance\@tempdima\ltjgetparameter{talbaselineshift}%
+      \else
+        \advance\@tempdima\tbaselineshift
+      \fi
+      \ifdim\maxdepth<\@tempdima
+        \PackageWarningNoLine{lltjp-geometry}%
+          {\noexpand\maxdepth was changed from \the\maxdepth\space
+            to \the\@tempdima}
+        \maxdepth\@tempdima
+      \fi
       \setbox\z@=\hbox{\tate% next \ifdim must be executed in tate dir.
         \ifdim\topskip<\ht\tstrutbox
           \@tempdima\topskip
           \global\topskip\ht\tstrutbox
           \PackageWarningNoLine{lltjp-geometry}%
-           {do not worry about  `\noexpand\topskip was changed ...'\MessageBreak
-              warning above}
-          \PackageWarningNoLine{lltjp-geometry}%
             {\noexpand\topskip was changed from \the\@tempdima\space
               to \the\topskip}
         \fi}%