%
% lltjcore.sty: derived from plcore.dtx in pLaTeX.
-% This file does not include the code relating to "tategaki".
-%
+%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjcore}[2013/05/14 Patch to LaTeX2e Kernel for LuaTeX-ja]
+\ProvidesPackage{lltjcore}[2023-02-26 Patch to LaTeX2e Kernel for LuaTeX-ja]
+\RequirePackage{etoolbox}
+
+%%% expl3
+\RequirePackage{expl3}
+\ExplSyntaxOn
+\cs_set_eq:NN \platex_direction_yoko: \yoko
+\cs_set_eq:NN \platex_direction_tate: \tate
+\cs_set_eq:NN \platex_direction_dtou: \dtou
+\cs_set_eq:NN \platex_direction_utod: \utod % LuaTeX-ja specific
+\prg_new_conditional:Npnn \platex_if_box_yoko:N #1 { p, T, F, TF }
+ { \if_int_compare:w \ltjgetparameter{boxdir}{#1} = 4 \scan_stop:
+ \prg_return_true: \else: \prg_return_false: \fi: }
+\prg_new_conditional:Npnn \platex_if_box_utod:N #1 { p, T, F, TF }
+ { \if_int_compare:w \ltjgetparameter{boxdir}{#1} = 11 \scan_stop:
+ \prg_return_true: \else: \prg_return_false: \fi: }
+\prg_new_eq_conditional:NNn \platex_if_box_tate_math:N \platex_if_box_utod:N { p, T, F, TF }
+\prg_new_conditional:Npnn \platex_if_box_tate_nomath:N #1 { p, T, F, TF }
+ { \if_int_compare:w \ltjgetparameter{boxdir}{#1} = 3 \scan_stop:
+ \prg_return_true: \else: \prg_return_false: \fi: }
+\prg_new_conditional:Npnn \platex_if_box_tate:N #1 { p, T, F, TF }
+ { \if_int_compare:w \ltjgetparameter{boxdir}{#1} = 3 \scan_stop:
+ \prg_return_true:
+ \else: \if_int_compare:w \ltjgetparameter{boxdir}{#1} = 11 \scan_stop: % utod
+ \prg_return_true:
+ \else
+ \prg_return_false:
+ \fi: \fi:}
+\prg_new_conditional:Npnn \platex_if_box_dtou:N #1 { p, T, F, TF }
+ { \if_int_compare:w \ltjgetparameter{boxdir}{#1} = 1 \scan_stop:
+ \prg_return_true: \else: \prg_return_false: \fi: }
+\prg_new_conditional:Npnn \platex_if_direction_yoko: { p, T, F, TF }
+ { \if_int_compare:w \ltjgetparameter{direction} = 4 \scan_stop:
+ \prg_return_true: \else: \prg_return_false: \fi: }
+\prg_new_conditional:Npnn \platex_if_direction_utod: { p, T, F, TF }
+ { \if_int_compare:w \ltjgetparameter{direction} = 11 \scan_stop:
+ \prg_return_true: \else: \prg_return_false: \fi: }
+\prg_new_eq_conditional:NNn
+ \platex_if_direction_tate_math: \platex_if_direction_utod: { p, T, F, TF }
+\prg_new_conditional:Npnn \platex_if_direction_tate_nomath: { p, T, F, TF }
+ { \if_int_compare:w \ltjgetparameter{direction} = 3 \scan_stop:
+ \prg_return_true: \else: \prg_return_false: \fi: }
+\prg_new_conditional:Npnn \platex_if_direction_tate: { p, T, F, TF }
+ { \if_int_compare:w \ltjgetparameter{direction} = 3 \scan_stop:
+ \prg_return_true:
+ \else: \if_int_compare:w \ltjgetparameter{direction} = 11 \scan_stop: % utod
+ \prg_return_true:
+ \else
+ \prg_return_false:
+ \fi: \fi:}
+\prg_new_conditional:Npnn \platex_if_direction_dtou: { p, T, F, TF }
+ { \if_int_compare:w \ltjgetparameter{direction} = 1 \scan_stop:
+ \prg_return_true: \else: \prg_return_false: \fi: }
+\ExplSyntaxOff
\def\cleardoublepage{\clearpage\if@twoside
\ifodd\c@page
\if@twocolumn\hbox{}\newpage\fi
\fi
\fi\fi}
+
+\patchcmd\@vtryfc{\global\setbox\@outputbox\vbox{}}
+ {\global\setbox\@outputbox\vbox{%
+ \unless\ifnum\ltjgetparameter{direction}=4
+ \primitive\everypar{}\hskip\z@\fi
+ }}{}{}
+
\newif\iftombow \tombowfalse
\newif\iftombowdate \tombowdatetrue
\newdimen\@tombowwidth
\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{%
\setbox\@TL\hbox to\z@{\yoko\hss
- \vrule width13mm height\@tombowwidth depth\z@
+ \vrule width\dimexpr 10mm+\@tombowbleed\relax height\@tombowwidth depth\z@
\vrule height10mm width\@tombowwidth depth\z@
\iftombowdate
\raise4pt\hbox to\z@{\hskip5mm\@bannerfont\the\@bannertoken\hss}%
\fi}%
\setbox\@Tl\hbox to\z@{\yoko\hss
\vrule width10mm height\@tombowwidth depth\z@
- \vrule height13mm width\@tombowwidth depth\z@}%
+ \vrule height\dimexpr 10mm+\@tombowbleed\relax width\@tombowwidth depth\z@}%
\setbox\@TC\hbox{\yoko
\vrule width10mm height\@tombowwidth depth\z@
\vrule height10mm width\@tombowwidth depth\z@
\vrule width10mm height\@tombowwidth depth\z@}%
\setbox\@TR\hbox to\z@{\yoko
\vrule height10mm width\@tombowwidth depth\z@
- \vrule width13mm height\@tombowwidth depth\z@\hss}%
+ \vrule width\dimexpr 10mm+\@tombowbleed\relax height\@tombowwidth depth\z@\hss}%
\setbox\@Tr\hbox to\z@{\yoko
- \vrule height13mm width\@tombowwidth depth\z@
+ \vrule height\dimexpr 10mm+\@tombowbleed\relax width\@tombowwidth depth\z@
\vrule width10mm height\@tombowwidth depth\z@\hss}%
\setbox\@BL\hbox to\z@{\yoko\hss
- \vrule width13mm depth\@tombowwidth height\z@
+ \vrule width\dimexpr 10mm+\@tombowbleed\relax depth\@tombowwidth height\z@
\vrule depth10mm width\@tombowwidth height\z@}%
\setbox\@Bl\hbox to\z@{\yoko\hss
\vrule width10mm depth\@tombowwidth height\z@
- \vrule depth13mm width\@tombowwidth height\z@}%
+ \vrule depth\dimexpr 10mm+\@tombowbleed\relax width\@tombowwidth height\z@}%
\setbox\@BC\hbox{\yoko
\vrule width10mm depth\@tombowwidth height\z@
\vrule depth10mm width\@tombowwidth height\z@
\vrule width10mm depth\@tombowwidth height\z@}%
\setbox\@BR\hbox to\z@{\yoko
\vrule depth10mm width\@tombowwidth height\z@
- \vrule width13mm depth\@tombowwidth height\z@\hss}%
+ \vrule width\dimexpr 10mm+\@tombowbleed\relax depth\@tombowwidth height\z@\hss}%
\setbox\@Br\hbox to\z@{\yoko
- \vrule depth13mm width\@tombowwidth height\z@
+ \vrule depth\dimexpr 10mm+\@tombowbleed\relax width\@tombowwidth height\z@
\vrule width10mm depth\@tombowwidth height\z@\hss}%
\setbox\@CL\hbox to\z@{\yoko\hss
\vrule width10mm height.5\@tombowwidth depth.5\@tombowwidth
}
\def\@outputtombow{%
\iftombow
- \vbox to\z@{\kern-13mm\relax
- \moveleft3mm\vbox to\@@paperheight{%
- \hbox to\@@paperwidth{\hskip3mm\relax
- \copy\@TL\hfill\copy\@TC\hfill\copy\@TR\hskip3mm}%
- \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
- \hbox to\@@paperwidth{\hskip3mm\relax
- \copy\@BL\hfill\copy\@BC\hfill\copy\@BR\hskip3mm}%
+ \vbox to\z@{\kern-\@tombowbleed\relax
+ \boxmaxdepth\maxdimen
+ \moveleft\@tombowbleed\vbox to\@@paperheight{%
+ \color@begingroup
+ \@tombowcolor
+ \setbox\z@\hbox to\@@paperwidth{\hskip\@tombowbleed\relax
+ \copy\@TL\hss\copy\@TC\hss\copy\@TR\hskip\@tombowbleed}
+ \ht\z@=\z@\dp\z@=\z@\box\z@%
+ \kern\@tombowbleed
+ \setbox\z@\hbox to\@@paperwidth{\copy\@Tl\hfill\copy\@Tr}%
+ \ht\z@=\z@\dp\z@=\z@\box\z@%
+ \vss
+ \setbox\z@\hbox to\@@paperwidth{\copy\@CL\hfill\copy\@CR}%
+ \ht\z@=\z@\dp\z@=\z@\box\z@%
+ \vss
+ \setbox\z@\hbox to\@@paperwidth{\copy\@Bl\hfill\copy\@Br}%
+ \ht\z@=\z@\dp\z@=\z@\box\z@
+ \kern\@tombowbleed
+ \setbox\z@\hbox to\@@paperwidth{\hskip\@tombowbleed\relax
+ \copy\@BL\hss\copy\@BC\hss\copy\@BR\hskip\@tombowbleed}%
+ \ht\z@=\z@\dp\z@=\z@\box\z@%
+ \kern\dimexpr10mm%
+ \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\@@topmargin 1in\relax \advance\@themargin 1in\relax
+ \fi
+}
\newdimen\@@paperheight
\newdimen\@@paperwidth
-\newdimen\@@topmargin
-\def\@outputpage{%
-\begingroup % the \endgroup is put in by \aftergroup
+\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
\let \protect \noexpand
- \@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
- \@@topmargin\topmargin
- \iftombow
- \@@paperwidth\paperwidth \advance\@@paperwidth 6mm\relax
- \@@paperheight\paperheight \advance\@@paperheight 16mm\relax
- \advance\@@topmargin 1in\relax \advance\@themargin 1in\relax
- \fi
- \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
-}
-\renewcommand\@makefnmark{\hbox{%
+ \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
+}{}{}
+
+% 将来は shipout hook で書き直したい
+\patchcmd\@outputpage{\vskip\topmargin}{\vskip\topmargin\iftombow\vskip1in\fi}{}{}
+\patchcmd\@outputpage{\reset@font}{\@tombowreset@@paper\reset@font}{}{}
+\patchcmd\@outputpage{\@begindvi}{\@begindvi\@outputtombow}{}{}
+
+%
+\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
- \@textsuperscript{\normalfont\@thefnmark}%
- \else\hbox{\yoko \@textsuperscript{\normalfont\@thefnmark}}\fi}}
-\long\def\@footnotetext#1{%
- \ifcase\ltjgetparameter{direction}%
- \or \let\@tempa\dtou
- \or\or\let\@tempa\tate
- \or \let\@tempa\yoko
- \else \let\@tempa\utod
- \fi
- \insert\footins{\@tempa%
- \reset@font\footnotesize
- \interlinepenalty\interfootnotelinepenalty
- \splittopskip\footnotesep
- \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
- \hsize\columnwidth \@parboxrestore
- \protected@edef\@currentlabel{%
- \csname p@footnote\endcsname\@thefnmark
- }%
- \color@begingroup
- \@makefntext{%
- \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
- \color@endgroup}}
-\def\@footnotemark{\leavevmode
- \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
- \unless\ifnum\ltjgetparameter{direction}=3 \@makefnmark
- \else\hbox to\z@{\hskip-.25\zw\raise.9\zh\@makefnmark\hss}\fi
- \ifhmode\spacefactor\@x@sf\fi\relax}
-\def\@setref#1#2#3{%
+ \hbox{}\hbox{\@textsuperscript{\normalfont\@thefnmark}}\hbox{}%
+ \else\hbox{\yoko \@textsuperscript{\normalfont\@thefnmark}}\fi}
+\begingroup
+\@ifpackageloaded{hyperref}
+ {\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
\protect\G@refundefinedtrue
\nfss@text{\reset@font\bfseries ??}%
\@latex@warning{Reference `#3' on page \thepage \space
undefined}%
\else
- \expandafter#2#1\relax% change \null to \relax
+ \expandafter#2#1\protect\@setref@{}% change \null to \protect\@setref@{}
\fi}
+\gdef\@setref@{\ifhmode\spacefactor\@m\fi}
+\endgroup
\if@compatibility\else
-\def\verb{\relax\ifmmode\hbox\else\leavevmode\fi
+\def\verb{\relax\ifmmode\hbox\else\leavevmode\vadjust{}\fi
\bgroup
\verb@eol@error \let\do\@makeother \dospecials
\verbatim@font\@noligs
+ \language\l@nohyphenation
\@ifstar\@sverb\@verb}
\fi
-\gdef\@stopfield{\null\color@endgroup\egroup}
-\newcount\hour
-\newcount\minute
-
-%%% AtBeginDvi
-\def \AtBeginDvi #1{%
- \global \setbox \@begindvibox
- \vbox{\yoko\unvbox \@begindvibox #1}%
-}
+\patchcmd{\do@noligs}{\kern\z@}{\vadjust{}}{}{} % reported by p_typo
+\gdef\@stopfield{%
+ \inhibitglue\@tempskipa\lastskip\unskip
+ \hskip\@tempskipa\color@endgroup\egroup}
+\pretocmd{\footnote}{\inhibitglue}{}{}
+\pretocmd{\footnotemark}{\inhibitglue}{}{}
+\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
+ \setlength\@tempdima{#4}%
+ \@begin@tempboxa\vbox{\hsize\@tempdima\@parboxrestore#5\@@par}%
+ \ifx\relax#2\else
+ \setlength\@tempdimb{#2}%
+ \edef\@parboxto{to\the\@tempdimb}%
+ \fi
+ \if#1b\vbox
+ \else\if #1t\vtop
+ \else\ifmmode\vcenter
+ \else\@pboxswtrue\null$\vcenter% !!!
+ \fi\fi\fi
+ \@parboxto{\let\hss\vss\let\unhbox\unvbox
+ \csname bm@#3\endcsname}%
+ \if@pboxsw \m@th$\null\fi% !!!
+ \@end@tempboxa}
+\DeclareRobustCommand\underline[1]{%
+ \relax
+ \ifmmode\@@underline{#1}%
+ \else \leavevmode\null$\@@underline{\hbox{#1}}\m@th$\null\relax\fi}
+\newif\iffnfixbottom
+\newif\ifltj@ftn@unvboxed
%%% @makecol
-\gdef \@makecol {%
- \ifvoid\footins
- \setbox\@outputbox \box\@cclv
- \else
- \setbox\@outputbox \vbox {%
- \boxmaxdepth \@maxdepth
- \unvbox \@cclv
- \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
- \ifnum\ltjgetparameter{direction}=4\else\hskip\z@\fi %%% LuaTeX-ja
- \vskip -\dimen@
- \@textbottom
- }%
- \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}{}{}
+
+\def\@gnewline #1{%
+ \ifvmode
+ \@nolnerr
+ \else
+ \unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null
+ % \null は \break の効果が行頭禁則文字で打ち消されないために必要
+ \ignorespaces
+\fi}
+
+
+%%%%%% tabular (platex/#43) \@tabclassz
+\def\ltj@sharp{\relax\pltx@next@inhibitglue\ltjfakeboxbdd\ignorespaces\@sharp\unskip\ltjfakeboxbdd}
+\def\@tabclassz{%
+ \ifcase\@lastchclass
+ \@acolampacol
+ \or
+ \@ampacol
+ \or
+ \or
+ \or
+ \@addamp
+ \or
+ \@acolampacol
+ \or
+ \@firstampfalse\@acol
+ \fi
+ \edef\@preamble{%
+ \@preamble{%
+ \ifcase\@chnum
+ \hfil\hskip1sp\ltj@sharp\hfil
+ \or
+ \hskip1sp\ltj@sharp\hfil
+ \or
+ \hfil\hskip1sp\ltj@sharp
+ \fi}}}
+\patchcmd\@classv{%
+ \ignorespaces\@sharp
+}{%
+ \everypar\expandafter{\the\everypar\ltjfakeboxbdd}\ignorespaces\@sharp\unskip
+}{}{}
+\patchcmd{\@tabular}{\leavevmode}{\leavevmode\null}{}{}
+\apptocmd{\endtabular}{\null}{}{}
+\expandafter \let \csname endtabular*\endcsname = \endtabular
+%%%%%% tabbing (platex/#53)
+\patchcmd\@startline{\strut}{\strut\inhibitglue}{}{}
+\def\ltj@unhbox@curfield{\ltjfakeboxbdd\unhbox\@curfield\ltjfakeboxbdd}
+%\patchcmd\@contfield{\unhbox\@curfield}{\ltj@unhbox@curfield}{}{}
+\patchcmd\@addfield{\unhbox\@curfield}{\ltj@unhbox@curfield}{}{}
\endinput