OSDN Git Service

lltjcore: \[h,v]fill -> \[h,v]ss for small page size
[luatex-ja/luatexja.git] / src / patches / lltjcore.sty
index 86bb36b..f5e79e5 100644 (file)
@@ -3,7 +3,60 @@
 %
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjcore}[2017/06/18 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
+  \vbox to\z@{\kern-\@tombowbleed\relax
     \boxmaxdepth\maxdimen
-    \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}%
+      \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
-  \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
-     \@@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
-}
+    \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
   \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
     \@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
-\RequirePackage{etoolbox}
-\ifltj@everyhook@avail
-  \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%
-  }{}{}
-  \patchcmd{\@tabular}{\leavevmode}{\leavevmode\null}{}{}
-  \apptocmd{\endtabular}{\null}{}{}
-  \expandafter \let \csname endtabular*\endcsname = \endtabular
+\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
-\let\@parboxto\@empty
 \long\def\@iiiparbox#1#2[#3]#4#5{%
   \leavevmode
   \@pboxswfalse
        \csname bm@#3\endcsname}%
     \if@pboxsw \m@th$\null\fi% !!!
   \@end@tempboxa}
-\def\underline#1{%
+\DeclareRobustCommand\underline[1]{%
   \relax
   \ifmmode\@@underline{#1}%
   \else \leavevmode\null$\@@underline{\hbox{#1}}\m@th$\null\relax\fi}
 
-%%% AtBeginDvi
-\def \AtBeginDvi #1{%
-  \global \setbox \@begindvibox
-    \vbox{\yoko\unvbox \@begindvibox #1}%
-}
-
 \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
-       \ifnum\ltjgetparameter{direction}=4\else\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}{}{}
   \ignorespaces
 \fi}
 
-\def\@no@lnbk #1[#2]{%
-  \ifvmode
-    \@nolnerr
-  \else
-    \@tempskipa\lastskip
-    \unskip
-    \penalty #1\@getpen{#2}%
-    \hskip\z@\relax %% added (2017/05/03)
-    \ifdim\@tempskipa>\z@
-      \hskip\@tempskipa
-      \ignorespaces
-    \fi
-  \fi}
 
-%%%%%% \@tabclassz
-\def\ltj@sharp{\ltjfakeboxbdd\ignorespaces\@sharp\unskip\ltjfakeboxbdd}
+%%%%%% tabular (platex/#43) \@tabclassz
+\def\ltj@sharp{\relax\pltx@next@inhibitglue\ltjfakeboxbdd\ignorespaces\@sharp\unskip\ltjfakeboxbdd}
 \def\@tabclassz{%
   \ifcase\@lastchclass
     \@acolampacol
   \edef\@preamble{%
     \@preamble{%
       \ifcase\@chnum
-        \hfil\ltj@sharp\hfil
+        \hfil\hskip1sp\ltj@sharp\hfil
       \or
         \hskip1sp\ltj@sharp\hfil
       \or
 }{%
    \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