2 % lltjcore.sty: derived from plcore.dtx in pLaTeX.
5 \NeedsTeXFormat{LaTeX2e}
6 \ProvidesPackage{lltjcore}[2017/06/18 Patch to LaTeX2e Kernel for LuaTeX-ja]
8 \def\cleardoublepage{\clearpage\if@twoside
10 \ifnum\ltjgetparameter{direction}=3
11 \hbox{}\thispagestyle{empty}\newpage
12 \if@twocolumn\hbox{}\newpage\fi
15 \ifnum\ltjgetparameter{direction}=4
16 \hbox{}\thispagestyle{empty}\newpage
17 \if@twocolumn\hbox{}\newpage\fi
20 \newif\iftombow \tombowfalse
21 \newif\iftombowdate \tombowdatetrue
22 \newdimen\@tombowwidth
23 \setlength{\@tombowwidth}{.1\p@}
24 \newbox\@TL\newbox\@Tl
26 \newbox\@TR\newbox\@Tr
27 \newbox\@BL\newbox\@Bl
29 \newbox\@BR\newbox\@Br
32 \font\@bannerfont=cmtt9
36 \setbox\@TL\hbox to\z@{\yoko\hss
37 \vrule width13mm height\@tombowwidth depth\z@
38 \vrule height10mm width\@tombowwidth depth\z@
40 \raise4pt\hbox to\z@{\hskip5mm\@bannerfont\the\@bannertoken\hss}%
42 \setbox\@Tl\hbox to\z@{\yoko\hss
43 \vrule width10mm height\@tombowwidth depth\z@
44 \vrule height13mm width\@tombowwidth depth\z@}%
45 \setbox\@TC\hbox{\yoko
46 \vrule width10mm height\@tombowwidth depth\z@
47 \vrule height10mm width\@tombowwidth depth\z@
48 \vrule width10mm height\@tombowwidth depth\z@}%
49 \setbox\@TR\hbox to\z@{\yoko
50 \vrule height10mm width\@tombowwidth depth\z@
51 \vrule width13mm height\@tombowwidth depth\z@\hss}%
52 \setbox\@Tr\hbox to\z@{\yoko
53 \vrule height13mm width\@tombowwidth depth\z@
54 \vrule width10mm height\@tombowwidth depth\z@\hss}%
55 \setbox\@BL\hbox to\z@{\yoko\hss
56 \vrule width13mm depth\@tombowwidth height\z@
57 \vrule depth10mm width\@tombowwidth height\z@}%
58 \setbox\@Bl\hbox to\z@{\yoko\hss
59 \vrule width10mm depth\@tombowwidth height\z@
60 \vrule depth13mm width\@tombowwidth height\z@}%
61 \setbox\@BC\hbox{\yoko
62 \vrule width10mm depth\@tombowwidth height\z@
63 \vrule depth10mm width\@tombowwidth height\z@
64 \vrule width10mm depth\@tombowwidth height\z@}%
65 \setbox\@BR\hbox to\z@{\yoko
66 \vrule depth10mm width\@tombowwidth height\z@
67 \vrule width13mm depth\@tombowwidth height\z@\hss}%
68 \setbox\@Br\hbox to\z@{\yoko
69 \vrule depth13mm width\@tombowwidth height\z@
70 \vrule width10mm depth\@tombowwidth height\z@\hss}%
71 \setbox\@CL\hbox to\z@{\yoko\hss
72 \vrule width10mm height.5\@tombowwidth depth.5\@tombowwidth
73 \vrule height10mm depth10mm width\@tombowwidth}%
74 \setbox\@CR\hbox to\z@{\yoko
75 \vrule height10mm depth10mm width\@tombowwidth
76 \vrule height.5\@tombowwidth depth.5\@tombowwidth width10mm\hss}%
80 \vbox to\z@{\kern-13mm\relax
82 \moveleft3mm\vbox to\@@paperheight{%
83 \hbox to\@@paperwidth{\hskip3mm\relax
84 \copy\@TL\hfill\copy\@TC\hfill\copy\@TR\hskip3mm}%
86 \hbox to\@@paperwidth{\copy\@Tl\hfill\copy\@Tr}%
88 \hbox to\@@paperwidth{\copy\@CL\hfill\copy\@CR}%
90 \hbox to\@@paperwidth{\copy\@Bl\hfill\copy\@Br}%
92 \hbox to\@@paperwidth{\hskip3mm\relax
93 \copy\@BL\hfill\copy\@BC\hfill\copy\@BR\hskip3mm}%
98 \newdimen\@@paperheight
99 \newdimen\@@paperwidth
100 \newdimen\@@topmargin
102 \begingroup % the \endgroup is put in by \aftergroup
103 \ifnum\ltjgetparameter{direction}=4\else
104 \dimen\z@\textwidth \textwidth\textheight \textheight\dimen\z@
106 \let \protect \noexpand
107 \language\document@default@language %LaTeX2e 2017/05/01
109 \global\let\@@if@newlist\if@newlist
110 \global\@newlistfalse
115 \aftergroup\set@typeset@protect
117 \global\@specialpagefalse\@nameuse{ps@\@specialstyle}%
120 \ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot
121 \ifnum\ltjgetparameter{direction}=3 \let\@themargin\evensidemargin
122 \else\let\@themargin\oddsidemargin\fi
123 \else \let\@thehead\@evenhead
124 \let\@thefoot\@evenfoot
125 \ifnum\ltjgetparameter{direction}=3 \let\@themargin\oddsidemargin
126 \else\let\@themargin\evensidemargin\fi
128 \@@topmargin\topmargin
130 \@@paperwidth\paperwidth \advance\@@paperwidth 6mm\relax
131 \@@paperheight\paperheight \advance\@@paperheight 16mm\relax
132 \advance\@@topmargin 1in\relax \advance\@themargin 1in\relax
139 \let\glossary\@gobble
140 \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@
144 \moveright\@themargin\vbox{%
145 \setbox\@tempboxa \vbox to\headheight{%
149 \hb@xt@\textwidth{\@thehead}%
156 \baselineskip \footskip
159 \hb@xt@\textwidth{\@thefoot}%
163 \global\let\if@newlist\@@if@newlist
164 \global \@colht \textheight
166 \let\firstmark\botmark
169 %%% Remove extra xkanjiskip
170 \renewcommand\@makefnmark{%
171 \unless\ifnum\ltjgetparameter{direction}=3
172 \hbox{}\hbox{\@textsuperscript{\normalfont\@thefnmark}}\hbox{}%
173 \else\hbox{\yoko \@textsuperscript{\normalfont\@thefnmark}}\fi}
175 \@ifpackageloaded{hyperref}
176 {\def\ltj@setrefprefix{real}}
177 {\def\ltj@setrefprefix{}}
178 \expandafter\gdef\csname \ltj@setrefprefix @setref\endcsname#1#2#3{%
180 \protect\G@refundefinedtrue
181 \nfss@text{\reset@font\bfseries ??}%
182 \@latex@warning{Reference `#3' on page \thepage \space
185 \expandafter#2#1\relax{}% change \null to \relax
188 \if@compatibility\else
189 \def\verb{\relax\ifmmode\hbox\else\leavevmode\fi
191 \verb@eol@error \let\do\@makeother \dospecials
192 \verbatim@font\@noligs
193 \language\l@nohyphenation
194 \@ifstar\@sverb\@verb}
196 \gdef\@stopfield{\null\color@endgroup\egroup}
199 \RequirePackage{etoolbox}
200 \ifltj@everyhook@avail
201 \pretocmd{\footnote}{\inhibitglue}{}{}
202 \pretocmd{\footnotemark}{\inhibitglue}{}{}
203 \patchcmd{\@footnotemark}{\@makefnmark}{%
204 \unless\ifnum\ltjgetparameter{direction}=3 \@makefnmark%
205 \else\hbox to\z@{\hskip-.25\zw\raise.9\zh\@makefnmark\hss}\fi%
207 \patchcmd{\@tabular}{\leavevmode}{\leavevmode\null}{}{}
208 \apptocmd{\endtabular}{\null}{}{}
209 \expandafter \let \csname endtabular*\endcsname = \endtabular
211 \let\@parboxto\@empty
212 \long\def\@iiiparbox#1#2[#3]#4#5{%
215 \setlength\@tempdima{#4}%
216 \@begin@tempboxa\vbox{\hsize\@tempdima\@parboxrestore#5\@@par}%
218 \setlength\@tempdimb{#2}%
219 \edef\@parboxto{to\the\@tempdimb}%
223 \else\ifmmode\vcenter
224 \else\@pboxswtrue\null$\vcenter% !!!
226 \@parboxto{\let\hss\vss\let\unhbox\unvbox
227 \csname bm@#3\endcsname}%
228 \if@pboxsw \m@th$\null\fi% !!!
232 \ifmmode\@@underline{#1}%
233 \else \leavevmode\null$\@@underline{\hbox{#1}}\m@th$\null\relax\fi}
236 \def \AtBeginDvi #1{%
237 \global \setbox \@begindvibox
238 \vbox{\yoko\unvbox \@begindvibox #1}%
242 \newif\ifltj@ftn@unvboxed
246 \ltj@ftn@unvboxedfalse
247 \setbox\@outputbox \box\@cclv
249 \ltj@ftn@unvboxedtrue
250 \setbox\@outputbox \vbox {%
251 \boxmaxdepth \@maxdepth
253 \iffnfixbottom\vskip\z@ \@plus.0001fil\fi
263 \xdef\@freelist{\@freelist\@midlist}%
264 \global \let \@midlist \@empty
269 \setbox\@outputbox \vbox to\@colht {%
271 \dimen@ \dp\@outputbox
273 \ifnum\ltjgetparameter{direction}=4\else\vbox{\hskip\z@}\fi %%% LuaTeX-ja
275 \ifltj@ftn@unvboxed\iffnfixbottom\else\@textbottom\fi\else\@textbottom\fi
278 \global \maxdepth \@maxdepth
280 \let\ltj@orig@makecol=\@makecol
282 \patchcmd\@makespecialcolbox{\@textbottom}{\ifltj@ftn@unvboxed\iffnfixbottom\else\@textbottom\fi\else\@textbottom\fi}{}{}
288 \unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null
289 % \null は \break の効果が行頭禁則文字で打ち消されないために必要
293 \def\@no@lnbk #1[#2]{%
299 \penalty #1\@getpen{#2}%
300 \hskip\z@\relax %% added (2017/05/03)
301 \ifdim\@tempskipa>\z@
308 \def\ltj@sharp{\ltjfakeboxbdd\ignorespaces\@sharp\unskip\ltjfakeboxbdd}
321 \@firstampfalse\@acol
328 \hskip1sp\ltj@sharp\hfil
330 \hfil\hskip1sp\ltj@sharp
335 \everypar\expandafter{\the\everypar\ltjfakeboxbdd}\ignorespaces\@sharp\unskip