%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjcore}[2021-03-14 Patch to LaTeX2e Kernel for LuaTeX-ja]
+\ProvidesPackage{lltjcore}[2023-02-26 Patch to LaTeX2e Kernel for LuaTeX-ja]
\RequirePackage{etoolbox}
%%% expl3
\fi\fi}
\patchcmd\@vtryfc{\global\setbox\@outputbox\vbox{}}
- {\global\setbox\@outputbox\vbox{\unless\ifnum\ltjgetparameter{direction}=4\hskip\z@\fi}}{}{}
+ {\global\setbox\@outputbox\vbox{%
+ \unless\ifnum\ltjgetparameter{direction}=4
+ \primitive\everypar{}\hskip\z@\fi
+ }}{}{}
\newif\iftombow \tombowfalse
\newif\iftombowdate \tombowdatetrue
\newbox\@BR\newbox\@Br
\newbox\@CL
\newbox\@CR
-\font\@bannerfont=cmtt9
+\font\@bannerfont=file:lmmono9-regular.otf % cmtt9 in pLaTeX
\newtoks\@bannertoken
\@bannertoken{}
\def\maketombowbox{%
\vrule height10mm depth10mm width\@tombowwidth
\vrule height.5\@tombowwidth depth.5\@tombowwidth width10mm\hss}%
}
-\def\@outputtombow#1#2{%
+\def\@outputtombow{%
\iftombow
- \vbox to\z@{\kern\dimexpr#1-10mm-\@tombowbleed\relax
+ \vbox to\z@{\kern\dimexpr-10mm-\@tombowbleed\relax
\boxmaxdepth\maxdimen
- \moveleft\dimexpr#2+\@tombowbleed\vbox to\@@paperheight{%
+ \moveleft\@tombowbleed\vbox to\@@paperheight{%
\color@begingroup
\@tombowcolor
\hbox to\@@paperwidth{\hskip\@tombowbleed\relax
\copy\@TL\hfill\copy\@TC\hfill\copy\@TR\hskip\@tombowbleed}%
- \kern-10mm
+ \kern-10mm%
\hbox to\@@paperwidth{\copy\@Tl\hfill\copy\@Tr}%
\vfill
\hbox to\@@paperwidth{\copy\@CL\hfill\copy\@CR}%
\vfill
\hbox to\@@paperwidth{\copy\@Bl\hfill\copy\@Br}%
- \kern-10mm
+ \kern-10mm%
\hbox to\@@paperwidth{\hskip\@tombowbleed\relax
\copy\@BL\hfill\copy\@BC\hfill\copy\@BR\hskip\@tombowbleed}%
- \color@endgroup
+ \color@endgroup
}\vss
}%
\fi
\def\@tombowcolor{\normalcolor}
\def\@tombowbleed{3mm}
\def\@tombowreset@@paper{%
+ \@@topmargin \topmargin % only for compatibility
\iftombow
\@@paperwidth\dimexpr\paperwidth+2\dimexpr\@tombowbleed\relax
\@@paperheight\dimexpr\paperheight+10mm+2\dimexpr\@tombowbleed\relax
- \advance\@themargin 1in\relax
+ \advance\@@topmargin 1in\relax \advance\@themargin 1in\relax
\fi
}
\newdimen\@@paperheight
\newdimen\@@paperwidth
-
+\newdimen\@@topmargin % not used by LuaTeX-ja; only to avoid existing codes
\patchcmd\@outputpage{\begingroup\let\protect\noexpand}{% tate direction
\begingroup
\ifnum\ltjgetparameter{direction}=4\else
\dimen\z@\textwidth \textwidth\textheight \textheight\dimen\z@
\fi
+ \directlua{luatexja.lineskip.setting_backup()}
\let \protect \noexpand
}{}{}
\patchcmd\@outputpage{% supply \yoko
\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
+% 将来は shipout hook で書き直したい
+\patchcmd\@outputpage{\vskip\topmargin}{\vskip\topmargin\iftombow\vskip1in\fi}{}{}
+\patchcmd\@outputpage{\reset@font}{\@tombowreset@@paper\reset@font}{}{}
+\patchcmd\@outputpage{\@begindvi}{\@begindvi\@outputtombow}{}{}
+\patchcmd\@outputpage{\stepcounter{page}}%
+ {\stepcounter{page}\directlua{luatexja.lineskip.setting_restore()}}{}{}
+%
+\pretocmd\@floatboxreset{\pltx@save@float@dir}{}{}
+\patchcmd\@endfloatbox{\outer@nobreak}{\outer@nobreak\pltx@check@float@dir}{}{}
+\def\pltx@save@float@dir{%
+ \edef\pltx@float@dir@first{\ltjgetparameter{direction}}}
+\def\pltx@check@float@dir{%
+ \ifx\pltx@float@dir@first\@undefined\else
+ \ifnum\ltjgetparameter{direction}=\pltx@float@dir@first\else
+ \pltx@err@float@dir
+ \fi
+ \fi}
+\def\pltx@err@float@dir{%
+ \@latex@error{Direction change inside float!?\MessageBreak
+ Use \noexpand\layoutcaption provided in \string\usepackage{lltjext}}\@ehc}
%%% Remove extra xkanjiskip
\renewcommand\@makefnmark{%
\unless\ifnum\ltjgetparameter{direction}=3
\else\hbox{\yoko \@textsuperscript{\normalfont\@thefnmark}}\fi}
\begingroup
\@ifpackageloaded{hyperref}
- {\def\ltj@setrefprefix{real}}
+ {\ifdefined\real@setref\def\ltj@setrefprefix{real}\else\def\ltj@setrefprefix{}\fi}
{\def\ltj@setrefprefix{}}
\expandafter\gdef\csname \ltj@setrefprefix @setref\endcsname#1#2#3{%
\ifx#1\relax
\hskip\@tempskipa\color@endgroup\egroup}
\pretocmd{\footnote}{\inhibitglue}{}{}
\pretocmd{\footnotemark}{\inhibitglue}{}{}
-\patchcmd{\@footnotemark}{\@makefnmark}{%
- \unless\ifnum\ltjgetparameter{direction}=3 \@makefnmark%
- \else\hbox to\z@{\hskip-.25\zw\raise.9\zh\@makefnmark\hss}\fi%
-}{}{}
-\let\@parboxto\@empty
+\def\@ltj@process@makefnmark#1{%
+ \unless\ifnum\ltjgetparameter{direction}=3 #1%
+ \else\hbox to\z@{\hskip-.25\zw\raise.9\zh#1\hss}\fi%
+}%
+\ifdefined\@kernel@process@makefnmark %% 2022-06-01 latex-lab?
+ \let\ltj@orig@kernel@process@makefnmark=\@kernel@process@makefnmark
+ \def\@kernel@process@makefnmark#1{\ltj@orig@kernel@process@makefnmark{\@ltj@process@makefnmark#1}}
+\else
+ \patchcmd{\@footnotemark}{\@makefnmark}{\@ltj@process@makefnmark\@makefnmark}{}{}
+\fi
\long\def\@iiiparbox#1#2[#3]#4#5{%
\leavevmode
\@pboxswfalse
\newif\iffnfixbottom
\newif\ifltj@ftn@unvboxed
%%% @makecol
-\gdef \@makecol {%
- \ifvoid\footins
- \ltj@ftn@unvboxedfalse
- \setbox\@outputbox \box\@cclv
- \else
- \ltj@ftn@unvboxedtrue
- \setbox\@outputbox \vbox {%
- \boxmaxdepth \@maxdepth
- \unvbox \@cclv
- \iffnfixbottom\vskip\z@ \@plus.0001fil\fi
- \vskip \skip\footins
- \color@begingroup
- \normalcolor
- \footnoterule
- \unvbox \footins
- \color@endgroup
- }%
- \fi
- \let\@elt\relax
- \xdef\@freelist{\@freelist\@midlist}%
- \global \let \@midlist \@empty
- \@combinefloats
- \ifvbox\@kludgeins
- \@makespecialcolbox
- \else
- \setbox\@outputbox \vbox to\@colht {%
- \@texttop
- \dimen@ \dp\@outputbox
- \unvbox \@outputbox
- \unless\ifnum\ltjgetparameter{direction}=4\vbox{\hskip\z@}\fi %%% LuaTeX-ja
- \vskip -\dimen@
- \ifltj@ftn@unvboxed\iffnfixbottom\else\@textbottom\fi\else\@textbottom\fi
- }%
- \fi
- \global \maxdepth \@maxdepth
-}
+\def\pltx@adjust@wd@outputbox{%
+ \unless\ifnum\ltjgetparameter{direction}=4
+ \vbox{\primitive\everypar{}\hskip\z@}%
+ \fi}
+\patchcmd\@makecol{\vskip -\dimen@\@textbottom}%
+ {\pltx@adjust@wd@outputbox
+ \vskip -\dimen@
+ \ifltj@ftn@unvboxed\iffnfixbottom\else\@textbottom\fi\else\@textbottom\fi}{}{}
+\patchcmd\@makecol{\vskip\skip\footins}{\iffnfixbottom\vskip\z@\@plus.0001fil\fi\vskip\skip\footins}{}{}
+\patchcmd\@makecol{\ifvoid\footins}{\ifvoid\footins\ltj@ftn@unvboxedfalse}{}{}
+\patchcmd\@makecol{\setbox\@outputbox \vbox}{\ltj@ftn@unvboxedtrue\setbox\@outputbox \vbox}{}{}
\let\ltj@orig@makecol=\@makecol
\patchcmd\@makespecialcolbox{\@textbottom}{\ifltj@ftn@unvboxed\iffnfixbottom\else\@textbottom\fi\else\@textbottom\fi}{}{}