From 0f69e2fd4a9928663f0cc64b8cac1f0d8baee9d6 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Tue, 1 Jun 2021 03:00:58 +0000 Subject: CTAN sync 202106010300 --- language/japanese/platex/plcore.dtx | 138 ++++++++++++++++++++++++++++++------ 1 file changed, 117 insertions(+), 21 deletions(-) (limited to 'language/japanese/platex/plcore.dtx') diff --git a/language/japanese/platex/plcore.dtx b/language/japanese/platex/plcore.dtx index a56b737c05..6e61ab38c9 100644 --- a/language/japanese/platex/plcore.dtx +++ b/language/japanese/platex/plcore.dtx @@ -3,7 +3,7 @@ % % Copyright 1994-2001 ASCII Corporation. % Copyright (c) 2010 ASCII MEDIA WORKS -% Copyright (c) 2016-2020 Japanese TeX Development Community +% Copyright (c) 2016-2021 Japanese TeX Development Community % % This file is part of the pLaTeX2e system (community edition). % ------------------------------------------------------------- @@ -113,9 +113,9 @@ % \changes{v1.3}{2018/09/02}{\file{platexrelease}バグ修正} % \changes{v1.3a}{2018/10/31}{\LaTeXe{}とp\LaTeXe{}の更新タイミングずれ対策を % \file{plvers.dtx} (plfinal) から\file{plcore.dtx}へ移動、latexrelease対策 -% (sync with ltfinal 2018/08/24 v2.1f)} +% (sync with ltfinal.dtx 2018/08/24 v2.1f)} % \changes{v1.3b}{2019/02/08}{中央揃えのセルでの\cs{unskip}対策 -% (sync with lttab 2018/12/30 v1.1p)} +% (sync with lttab.dtx 2018/12/30 v1.1p)} % \changes{v1.3c}{2019/09/16}{Make \cs{AtBeginDvi} robust % (sync with ltoutput.dtx 2019/08/27 v1.4e)} % \changes{v1.3c}{2019/09/16}{Make \cs{underline} robust @@ -126,18 +126,21 @@ % \changes{v1.3e}{2020/03/05}{合字処理を抑止しつつ\cs{xkanjiskip}は挿入} % \changes{v1.3f}{2020/09/26}{\cs{AtBeginDvi}を再定義しない % (checked ltshipout.dtx 2020/09/21 v1.0c)} -% \changes{v1.3f}{2020/09/26}{\cs{__shipout_execute_cont:}を再定義 +% \changes{v1.3f}{2020/09/26}{\cs{\_\_shipout_execute_cont:}を再定義 % (checked ltshipout.dtx 2020/09/21 v1.0c)} % \changes{v1.3g}{2020/09/28}{縦組で空のフロートだけのページの % フッタ(Issue 78)} % \changes{v1.3g}{2020/09/28}{\file{plexpl3}で定義した命令を使用} +% \changes{v1.3h}{2021/03/14}{\LaTeXe~2021-06-01に伴う修正} +% \changes{v1.3i}{2021/03/25}{\cs{@outputpage}, \cs{@vtryfc}での、非横組時における +% \cs{@outputbox}の寸法補正のコードを別命令として切り出した} % \fi % % \iffalse %<*driver> \NeedsTeXFormat{pLaTeX2e} % \fi -\ProvidesFile{plcore.dtx}[2020/09/28 v1.3g pLaTeX core file] +\ProvidesFile{plcore.dtx}[2021/03/25 v1.3i pLaTeX core file] % \iffalse \documentclass{jltxdoc} \GetFileInfo{plcore.dtx} @@ -501,6 +504,40 @@ % % \end{macrocode} % +% \begin{macro}{\pltx@adjust@wd@outputbox} +% |\@outputpage|内で実行されていた +% \begin{quote} +% 縦組の際に|\@outputbox|の内容が空のボックスだけの場合に、|\wd\@outputbox|が +% 0ptになってしまい、結果としてフッタの位置がくるってしまっていた。 +% 0の|\hskip|を発生させると|\wd\@outputbox|の値が期待したものとなるので、 +% 縦組の場合はその方法で対処する。 +% +% ただし、0の|\hskip|を発生させるとき、水平モードに入ってしまうと、たとえば +% longtableパッケージを使用して表組途中で改ページするときに|\par -> {\vskip}|の +% 無限ループが起きてしまいます。そこで、|\vbox|の中で発生させます。 +% \end{quote} +% という処理を取り出したものです。 +% +% \LaTeXe~2021-06-01では段落開始時の``para/*''フックが実装されますが、 +% それを一時的に無効化するために「プリミティブとしての」|\everypar|を +% |\pdfprimitive\everypar|として呼び出しています。 +% \begin{macrocode} +%<*plcore|platexrelease> +\def\pltx@adjust@wd@outputbox{% + \ifydir\else\vbox{\pdfprimitive\everypar{}\hskip\z@}\fi} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\pltx@adjust@wd@outputbox@vtryfc} +% |\pltx@adjust@wd@outputbox|と同様の処理ですが、|\@vtryfc|では +% |\vbox|の位置が異なります。 +% \begin{macrocode} +\def\pltx@adjust@wd@outputbox@vtryfc{% + \ifydir\else\pdfprimitive\everypar{}\hskip\z@\fi} +% +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\@makecol} % このマクロが組み立てる部分の中心となります。 % \file{ltoutput.dtx}で定義されているものです。 @@ -551,14 +588,11 @@ \dimen@ \dp\@outputbox \unvbox \@outputbox % \end{macrocode} -% 縦組の際に|\@outputbox|の内容が空のボックスだけの場合に、|\wd\@outputbox|が -% 0ptになってしまい、結果としてフッタの位置がくるってしまっていた。 -% 0の|\hskip|を発生させると|\wd\@outputbox|の値が期待したものとなるので、 -% 縦組の場合はその方法で対処する。 -% -% ただし、0の|\hskip|を発生させるとき、水平モードに入ってしまうと、たとえば -% longtableパッケージを使用して表組途中で改ページするときに|\par -> {\vskip}|の -% 無限ループが起きてしまいます。そこで、|\vbox|の中で発生させます。 +% 次の行は以前は +%\begin{verbatim} +%\iftdir\vbox{\hskip\z@}\fi +%\end{verbatim} +% でしたが、|\pltx@adjust@wd@outputbox|として切り出しました。 % \changes{v1.1j}{2001/05/10}{\cs{@makecol}で組み立てられる % \cs{@outputbox}の大きさが、縦組で中身が空のボックスだけの場合も適正になる % ように修正} @@ -566,8 +600,10 @@ % ようにする\texttt{\cs{vskip}~-\cs{dimen@}}が縦組モードでは無効になっていたので修正} % \changes{v1.2h}{2016/09/01}{縦組でlongtableパッケージを使って表組の途中で改ページ % するとき無限ループが起こる問題に対処(Issue 21)} +% \changes{v1.3i}{2021/03/25}{非横組時における +% \cs{@outputbox}の寸法補正のコードを\cs{pltx@adjust@wd@outputbox}として切り出した} % \begin{macrocode} - \iftdir\vbox{\hskip\z@}\fi + \pltx@adjust@wd@outputbox \vskip -\dimen@ \@textbottom }% @@ -822,15 +858,18 @@ % それより昔の版では空白ページは発生しません。 % % 対策方法は、\file{ltoutput.dtx}で定義されている|\@vtryfc|に -% |\ifydir\else\hskip\z@\fi|の追加です(|\@makecol|と同様)。 +% |\ifydir\else\hskip\z@\fi|の追加です(|\@makecol|と同様)が、 +% 別命令|\pltx@adjust@wd@outputbox@vtryfc|として切り出しました。 % \changes{v1.3g}{2020/09/28}{縦組で空のフロートだけのページの % フッタ(Issue 78)} +% \changes{v1.3i}{2021/03/25}{非横組時における +% \cs{@outputbox}の寸法補正のコードを\cs{pltx@adjust@wd@outputbox@vtryfc}として切り出した} % \begin{macrocode} %\plIncludeInRelease{2020/10/01}{\@vtryfc} % {Empty float}% %<*plcore|platexrelease> \def\@vtryfc #1{% - \global\setbox\@outputbox\vbox{\ifydir\else\hskip\z@\fi}% + \global\setbox\@outputbox\vbox{\pltx@adjust@wd@outputbox@vtryfc}% \let\@elt\@wtryfc \@flsucceed \global\setbox\@outputbox \vbox to\@colht{% @@ -1586,7 +1625,7 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{shipout-execute-cont} +% \begin{macro}{\__shipout_execute_cont:} % \LaTeXe~2020-10-01以降:\file{ltshipout.dtx}がベースです。 % ただし、縦組クラスでも通るようにするため、以下の方法を採ります。 % \begin{itemize} @@ -1645,6 +1684,38 @@ } } \fi: +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\__shipout_execute_nohooks_cont:} +% \LaTeXe~2021-06-01では、同様の処理が|\__shipout_execute_nohooks_cont:|にも +% 必要なので、それを行います。 +% \changes{v1.3h}{2021/03/14}{\LaTeXe~2021-06-01では +% \cs{\_\_shipout\_execute\_nohooks\_cont:}が追加された} +% \begin{macrocode} +\if_cs_exist:N \__shipout_execute_nohooks_cont: +\cs_new_eq:NN \__platex_original_shipout_execute_nohooks_cont: + \__shipout_execute_nohooks_cont: +\cs_set:Npn \__shipout_execute_nohooks_cont: + { + \platex_if_box_yoko:NF \l__shipout_raw_box { + \vbox_set:Nn \l__shipout_raw_box + { + \platex_direction_yoko: + \box_use:N \l__shipout_raw_box + } + } + \platex_if_direction_yoko:TF { + \__platex_original_shipout_execute_nohooks_cont: + }{ + \vbox_set:Nn \l__platex_shipout_dummy_box + { + \platex_direction_yoko: + \__platex_original_shipout_execute_nohooks_cont: + } + } + } +\fi: \ExplSyntaxOff \fi %--- expl3 available END % @@ -1811,9 +1882,11 @@ % 使えるように再定義されます。 % % \changes{v1.0a}{1995/04/07}{組方向の判定をボックスの外でするようにした} +% \changes{v1.3h}{2021/03/14}{\LaTeXe~2021-06-01では\cs{par}が入る +% (sync with ltfloat.dtx 2021/02/10 v1.2e)} % \begin{macrocode} -%\plIncludeInRelease{2016/09/08}{\@footnotetext} -% {Allow break after \footnote (more fix)}% +%\plIncludeInRelease{2021/06/01}{\@footnotetext} +% {Adapt to ltfloat.dtx (2021-03-03 v1.2f)}% %<*plcore|platexrelease> % \end{macrocode} % \begin{macrocode} @@ -1831,6 +1904,7 @@ \color@begingroup \@makefntext{% \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% + \par % \end{macrocode} % % p\TeX{}では|\insert|の直後に和文文字が来た場合、そこでの改行は許されない @@ -1853,6 +1927,28 @@ % \begin{macrocode} % %\plEndIncludeInRelease +%\plIncludeInRelease{2016/09/08}{\@footnotetext} +% {Allow break after \footnote (more fix)}% +%\long\def\@footnotetext#1{% +% \ifydir\def\@tempa{\yoko}\else\def\@tempa{\tate}\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}\ifhmode\null\fi +% \ifnum\pltx@foot@penalty=\z@\else +% \penalty\pltx@foot@penalty +% \pltx@foot@penalty\z@ +% \fi} +%\plEndIncludeInRelease %\plIncludeInRelease{2016/09/03}{\@footnotetext} % {Allow break after \footnote}% %\long\def\@footnotetext#1{% @@ -2194,7 +2290,7 @@ % なっていたバグを修正} % \changes{v1.2x}{2018/03/01}{\cs{removejfmglue}があれば利用するようにした} % \changes{v1.3b}{2019/02/08}{中央揃えのセルでの\cs{unskip}対策 -% (sync with lttab 2018/12/30 v1.1p)} +% (sync with lttab.dtx 2018/12/30 v1.1p)} % ^^A なぜか v1.3b の変更は本家 latexrelease に含まれないのでそれに合わせた % \begin{macrocode} % @@ -2698,7 +2794,7 @@ % \section{\LaTeXe{}とp\LaTeXe{}の更新タイミングずれ対策} % \changes{v1.3a}{2018/10/31}{\LaTeXe{}とp\LaTeXe{}の更新タイミングずれ対策を % \file{plvers.dtx} (plfinal) から\file{plcore.dtx}へ移動、latexrelease対策 -% (sync with ltfinal 2018/08/24 v2.1f)} +% (sync with ltfinal.dtx 2018/08/24 v2.1f)} % % \begin{macro}{\l@nohyphenation} % 通常はBabelのハイフネーション定義により提供されるパラメータです。 -- cgit v1.2.3