OSDN Git Service

lltjcore: use shipout/background for tombow
authorHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Sun, 14 Mar 2021 08:54:53 +0000 (17:54 +0900)
committerHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Sun, 14 Mar 2021 08:54:53 +0000 (17:54 +0900)
src/patches/lltjcore.sty
test/test60-tombow.tex [new file with mode: 0644]

index 2af2503..82d6d2e 100644 (file)
@@ -3,7 +3,7 @@
 %
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjcore}[2020-09-28 Patch to LaTeX2e Kernel for LuaTeX-ja]
+\ProvidesPackage{lltjcore}[2021-03-14 Patch to LaTeX2e Kernel for LuaTeX-ja]
 \RequirePackage{etoolbox}
 
 %%% expl3
       \vrule height10mm depth10mm width\@tombowwidth
       \vrule height.5\@tombowwidth depth.5\@tombowwidth width10mm\hss}%
 }
-\def\@outputtombow{%
+\def\@outputtombow#1#2{%
   \iftombow
-  \vbox to\z@{\kern-\dimexpr 10mm+\@tombowbleed\relax
+  \vbox to\z@{\kern\dimexpr#1-10mm-\@tombowbleed\relax
     \boxmaxdepth\maxdimen
-      \moveleft\@tombowbleed\vbox to\@@paperheight{%
+      \moveleft\dimexpr#2+\@tombowbleed\vbox to\@@paperheight{%
          \color@begingroup
          \@tombowcolor
       \hbox to\@@paperwidth{\hskip\@tombowbleed\relax
 \def\@tombowcolor{\normalcolor}
 \def\@tombowbleed{3mm}
 \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
-       \advance\@@topmargin 1in\relax \advance\@themargin 1in\relax
-     \fi
+   \iftombow
+     \@@paperwidth\dimexpr\paperwidth+2\dimexpr\@tombowbleed\relax
+     \@@paperheight\dimexpr\paperheight+10mm+2\dimexpr\@tombowbleed\relax
+     \advance\@themargin 1in\relax
+   \fi
 }
 \newdimen\@@paperheight
 \newdimen\@@paperwidth
-\newdimen\@@topmargin
-\def\@outputpage{%
-\begingroup % the \endgroup is put in by \aftergroup
+
+\patchcmd\@outputpage{\begingroup\let\protect\noexpand}{% tate direction
+\begingroup
   \ifnum\ltjgetparameter{direction}=4\else
     \dimen\z@\textwidth \textwidth\textheight \textheight\dimen\z@
   \fi
   \let \protect \noexpand
-  \language\document@default@language %LaTeX2e 2017/05/01
-  \@resetactivechars
-  \global\let\@@if@newlist\if@newlist
-  \global\@newlistfalse
-  \@parboxrestore
-  \shipout\vbox{\yoko
+}{}{}
+\patchcmd\@outputpage{% supply \yoko
     \set@typeset@protect
-    \aftergroup\endgroup
-    \aftergroup\set@typeset@protect
-     \if@specialpage
-       \global\@specialpagefalse\@nameuse{ps@\@specialstyle}%
-     \fi
-     \if@twoside
-       \ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot
-          \ifnum\ltjgetparameter{direction}=3 \let\@themargin\evensidemargin
-          \else\let\@themargin\oddsidemargin\fi
-       \else \let\@thehead\@evenhead
-          \let\@thefoot\@evenfoot
-           \ifnum\ltjgetparameter{direction}=3 \let\@themargin\oddsidemargin
-           \else\let\@themargin\evensidemargin\fi
-     \fi\fi
-     \@tombowreset@@paper
-     \reset@font
-     \normalsize
-     \normalsfcodes
-     \let\label\@gobble
-     \let\index\@gobble
-     \let\glossary\@gobble
-     \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@
-    \@begindvi
-    \@outputtombow
-    \vskip \@@topmargin
-    \moveright\@themargin\vbox{%
-      \setbox\@tempboxa \vbox to\headheight{%
-        \vfil
-        \color@hbox
-          \normalcolor
-          \hb@xt@\textwidth{\@thehead}%
-        \color@endbox
-      }%                        %% 22 Feb 87
-      \dp\@tempboxa \z@
-      \box\@tempboxa
-      \vskip \headsep
-      \box\@outputbox
-      \baselineskip \footskip
-      \color@hbox
-        \normalcolor
-        \hb@xt@\textwidth{\@thefoot}%
-      \color@endbox
-    }%
-  }%
-  \global\let\if@newlist\@@if@newlist
-  \global \@colht \textheight
-  \stepcounter{page}%
-  \let\firstmark\botmark
-}
+    \aftergroup \endgroup
+}{%
+    \yoko \set@typeset@protect
+    \aftergroup \endgroup
+}{}{}
+\patchcmd\@outputpage{\let\@thefoot\@oddfoot\let\@themargin\oddsidemargin}{% tate direction
+  \let\@thefoot\@oddfoot
+  \ifnum\ltjgetparameter{direction}=3 \let\@themargin\evensidemargin
+  \else\let\@themargin\oddsidemargin\fi
+}{}{}
+\patchcmd\@outputpage{\let\@thefoot\@evenfoot\let\@themargin\evensidemargin}{% tate direction
+  \let\@thefoot\@evenfoot
+  \ifnum\ltjgetparameter{direction}=3 \let\@themargin\oddsidemargin
+  \else\let\@themargin\evensidemargin\fi
+}{}{}
+\ifltj@ltfilehook@avail
+  \AddToHook{shipout/before}{%
+    \iftombow\setbox\ShipoutBox\vbox{\vskip1in\moveright1in\box\ShipoutBox}\fi
+  }
+  \AddToHook{shipout/background}{\@tombowreset@@paper\@outputtombow{1in}{-1in}}
+\else
+  \patchcmd\@outputpage{\vskip\topmargin}{\vskip\topmargin\iftombow\vskip1in\fi}{}{}
+  \patchcmd\@outputpage{\reset@font}{\@tombowreset@@paper\reset@font}{}{}
+  \patchcmd\@outputpage{\@begindvi}{\@begindvi\@outputtombow{0pt}{0pt}}{}{}
+\fi
+
 
 %%% Remove extra xkanjiskip
 \renewcommand\@makefnmark{%
diff --git a/test/test60-tombow.tex b/test/test60-tombow.tex
new file mode 100644 (file)
index 0000000..2477470
--- /dev/null
@@ -0,0 +1,17 @@
+\documentclass[b5j,12pt]{ltjtarticle}
+\oddsidemargin=-1in \topmargin=-1in
+\headheight0pt \topskip0.5\zw \headsep0pt \maxdepth0.5\zw
+\footskip0pt \textwidth257mm \textheight182mm
+\usepackage{bxjalipsum,xcolor}
+\begin{document}
+\baselineskip\dimexpr\textheight-1\zw
+\divide\baselineskip 26
+\jalipsum[2-7]{wagahai}
+
+\ttfamily\baselineskip=2em
+\makeatletter
+\leavevmode
+\end{document}
+
+
+