From 34310603e5253ef5742542e3f0123b341a70ee20 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 28 Sep 2020 03:04:08 +0000 Subject: CTAN sync 202009280304 --- language/japanese/jlreq/Makefile | 2 + language/japanese/jlreq/README-ja.md | 10 +- language/japanese/jlreq/README.md | 6 +- language/japanese/jlreq/jlreq-ja.pdf | Bin 359458 -> 359921 bytes language/japanese/jlreq/jlreq.cls | 219 ++++++++++++++--------- language/japanese/jlreq/jlreq.pdf | Bin 116315 -> 116789 bytes language/japanese/platex-tools/LICENSE | 2 +- language/japanese/platex-tools/README.md | 2 +- language/japanese/platex-tools/plarray.sty | 4 +- language/japanese/platex-tools/plextarray.sty | 4 +- language/japanese/platex-tools/plextdelarray.sty | 2 +- language/japanese/platex-tools/pxatbegshi.pdf | Bin 70954 -> 83094 bytes language/japanese/platex-tools/pxatbegshi.sty | 26 ++- language/japanese/platex-tools/pxatbegshi.tex | 23 ++- language/japanese/platex-tools/pxeveryshi.pdf | Bin 44094 -> 57534 bytes language/japanese/platex-tools/pxeveryshi.sty | 29 ++- language/japanese/platex-tools/pxeveryshi.tex | 11 +- language/japanese/platex-tools/pxmulticol.sty | 2 +- language/japanese/platex-tools/pxxspace.pdf | Bin 40065 -> 39968 bytes language/japanese/platex-tools/pxxspace.sty | 4 +- language/japanese/plautopatch/README.md | 6 +- language/japanese/plautopatch/plarydshln.sty | 2 +- language/japanese/plautopatch/plautopatch-ja.pdf | Bin 101660 -> 103312 bytes language/japanese/plautopatch/plautopatch-ja.tex | 4 + language/japanese/plautopatch/plautopatch.pdf | Bin 35223 -> 36706 bytes language/japanese/plautopatch/plautopatch.sty | 75 ++++++-- language/japanese/plautopatch/plautopatch.tex | 4 + language/japanese/plautopatch/pldocverb.sty | 4 +- language/japanese/plautopatch/plextarydshln.sty | 2 +- language/japanese/plautopatch/plextcolortbl.sty | 4 +- language/japanese/plautopatch/pxesopic.sty | 177 ++++++++++++++++++ language/japanese/plautopatch/pxpdfpages.sty | 4 +- language/japanese/plautopatch/pxpgfrcs.sty | 2 +- language/japanese/plautopatch/pxstfloats.sty | 5 +- language/japanese/plautopatch/pxtextpos.sty | 2 +- language/japanese/pxjahyper/README-ja.md | 3 + language/japanese/pxjahyper/README.md | 1 + language/japanese/pxjahyper/pxjahyper-ajm.def | 2 +- language/japanese/pxjahyper/pxjahyper.pdf | Bin 116816 -> 116718 bytes language/japanese/pxjahyper/pxjahyper.sty | 10 +- language/japanese/pxjahyper/pxjahyper.tex | 4 +- 41 files changed, 506 insertions(+), 151 deletions(-) create mode 100644 language/japanese/plautopatch/pxesopic.sty (limited to 'language/japanese') diff --git a/language/japanese/jlreq/Makefile b/language/japanese/jlreq/Makefile index 2d7b528547..06bcae1994 100644 --- a/language/japanese/jlreq/Makefile +++ b/language/japanese/jlreq/Makefile @@ -1,6 +1,8 @@ TEXMF:=$(shell kpsewhich -var-value=TEXMFHOME) MAKEJVFCNF:=$(shell ls -R $(shell kpsewhich --var-value=TEXMFDIST)/fonts/source | awk '/:$$/{sub(/:$$/,"");f=$$0} tolower($$0) ~ /makejvf-upjpn\.cnf$$/{print f"/"$$0}' | head -n 1) +.PHONY: all jfm doc latexdoc pdfdoc htmldoc jfm-install cls-install sty-install install tds uninstall jfmclean docclean clean + all: jfm jfm: \ diff --git a/language/japanese/jlreq/README-ja.md b/language/japanese/jlreq/README-ja.md index 544f1ce7cf..5f429b501b 100644 --- a/language/japanese/jlreq/README-ja.md +++ b/language/japanese/jlreq/README-ja.md @@ -1,7 +1,7 @@ # jlreq ## これは何? -[日本語組版処理の要件](https://www.w3.org/TR/jlreq/ja/)の実装を試みる[LuaTeX-ja](https://osdn.jp/projects/luatex-ja/wiki/FrontPage) / pLaTeX / upLaTeX用のクラスファイルと,それに必要なJFMの組み合わせです. +[日本語組版処理の要件](https://www.w3.org/TR/jlreq/?lang=ja)の実装を試みる[LuaTeX-ja](https://osdn.jp/projects/luatex-ja/wiki/FrontPage) / pLaTeX / upLaTeX用のクラスファイルと,それに必要なJFMの組み合わせです. ## 提供されるもの クラスファイルjlreq.clsと,横書きLuaTeX-ja用のJFMであるjfm-jlreq.luaが用意されています.また,縦書きのJFMやpLaTeX / upLaTeX用のJFMを生成するいくつかのスクリプトがあります. @@ -38,7 +38,7 @@ pLaTeX / upLaTeX / LuaLaTeX上で動きます.以下のパッケージを内 その他,`oneside / twoside / onecolumn / twocolumn / titlepage / notitlepage / draft / final / openright / openany / leqno / fleqn`というよくあるオプションを受け付けます. -標準的な文書クラスと同じように中身を書くことができますが,次のような命令が追加 / 拡張されています.なお,本ドキュメントでは[日本語組版処理の要件](https://www.w3.org/TR/jlreq/ja/)における用語を断りなく使います. +標準的な文書クラスと同じように中身を書くことができますが,次のような命令が追加 / 拡張されています.なお,本ドキュメントでは[日本語組版処理の要件](https://www.w3.org/TR/jlreq/?lang=ja)における用語を断りなく使います. ### `\jlreqsetup` 設定用命令です.プリアンブルでしか使えません.文書に対する設定は,クラスオプションとして行うか`\jlreqsetup`を通じて行うかします.どちらで設定するかは設定項目によります. @@ -70,7 +70,7 @@ pLaTeX / upLaTeX / LuaLaTeX上で動きます.以下のパッケージを内 です.`&`が省略されている場合は自動で調整されます. ### `\tatechuyoko` -縦中横を出力します.`\tatechuyoko{<文字列>}`とします.縦書きでない場所で使うとエラーになります. +縦中横を出力します.`\tatechuyoko{<中身>}`とします.`\tatechuyoko`は縦書きでない場所で使うとエラーになりますが,`\tatechuyoko*`は縦書きでない場所ではそのまま出力されます. ### `\jafontsize` 和文フォントサイズを指定する`\fontsize`です.クラスオプションで`jafontscale=0.9`とされている場合,`\fontsize{9pt}{15pt}`とすると和文フォントのサイズは`8.1pt`となりますが,`\jafontsize{9pt}{15pt}`とすると`9pt`となります.(欧文フォントサイズは`10pt`となる.)なお,第二引数は`\fontsize`の第二引数と全く同じです. @@ -479,6 +479,10 @@ JFMの名前は次の通りです.`[]`で囲まれている文字は設定に * 2020-05-01 - `\jlreqsetup`に`theorem_label_font`と`theorem_font`を追加. - バグ修正. +* 2020-09-27 + - `\tatechuyoko`の`*`版を追加. + - バグ修正 + -------------- Noriyuki Abe diff --git a/language/japanese/jlreq/README.md b/language/japanese/jlreq/README.md index c0ef2c541f..66fbfaafea 100644 --- a/language/japanese/jlreq/README.md +++ b/language/japanese/jlreq/README.md @@ -1,7 +1,7 @@ # jlreq ## What is this? -This package provides the class file and JFM (Japanese font metric) files for LuaTeX-ja / pLaTeX / upLaTeX. This aims to implement [Requirements for Japanese Text Layout](https://www.w3.org/TR/jlreq/). +This package provides the class file and JFM (Japanese font metric) files for LuaTeX-ja / pLaTeX / upLaTeX. This aims to implement [Requirements for Japanese Text Layout](https://www.w3.org/TR/jlreq/?lang=en). ## Installation Run `make` to generate JFM files. Move the files as follows: @@ -127,6 +127,10 @@ This package is distributed under the BSD 2-Clause License. See [LICENSE](LICENS * 2020-05-01 - Added `theorem_label_font` and `theorem_font` to `\jlreqsetup`. - Fixed bugs. +* 2020-09-27 + - Added `*`-version of `\tatechuyoko`. + - Fixed bugs. + -------------- Noriyuki Abe diff --git a/language/japanese/jlreq/jlreq-ja.pdf b/language/japanese/jlreq/jlreq-ja.pdf index 3a0fb1c3f7..2194b7fb14 100644 Binary files a/language/japanese/jlreq/jlreq-ja.pdf and b/language/japanese/jlreq/jlreq-ja.pdf differ diff --git a/language/japanese/jlreq/jlreq.cls b/language/japanese/jlreq/jlreq.cls index 913785b02d..ba89816ec6 100644 --- a/language/japanese/jlreq/jlreq.cls +++ b/language/japanese/jlreq/jlreq.cls @@ -5,8 +5,8 @@ %% % (based on JLReq 20120403 https://www.w3.org/TR/2012/NOTE-jlreq-20120403/ja/) \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{jlreq}[2020/05/01 jlreq] -\RequirePackage{xkeyval,everyhook,filehook,etoolbox,ifthen} +\ProvidesClass{jlreq}[2020/09/27 jlreq] +\RequirePackage{xkeyval,everyhook,etoolbox,ifthen,filehook} \RequirePackage{jlreq-helpers} \newcommand*{\jlreq@undeferr}[1]{\ClassError{jlreq}{Trying to delete \string#1 even though it is not defined, may be a bug}{\@ehc}} @@ -44,6 +44,10 @@ {\csname jlreq@original@\expandafter\@gobble\string#1\endcsname}% {#1}% } +\def\jlreq@restoreoriginalcs#1{% + \jlreq@if{\ifcsname jlreq@original@\expandafter\@gobble\string#1\endcsname\fi}% + {\expandafter\let\expandafter#1\csname jlreq@original@\expandafter\@gobble\string#1\endcsname}{}% +} %. オプションの定義 % オプション処理の際にしか使わない変数(後でそれを元に別の変数を調整する) @@ -1177,18 +1181,7 @@ \newcommand{\huge}{\@setfontsize\huge{2\jlreq@fontsize}{\dimexpr 28\jlreq@baselineskip/17\relax}} \newcommand{\Huge}{\@setfontsize\Huge{\dimexpr 25\jlreq@fontsize/10\relax}{\dimexpr 33\jlreq@baselineskip/17\relax}} -%. plextから一部拝借 -% オプションも*もない\rensuji(コピペ) -\DeclareRobustCommand{\jlreq@rensuji}[1]{% - \ifvmode\leavevmode\fi - \jlreq@ifydir{\hbox{#1}}{% - \hskip 0pt plus 0.25\jlreq@zw minus 0pt % \rensujiskipは固定値 - \setbox\jlreq@tempboxa=\hbox{\yoko#1}% - \@tempdima=\dimexpr\ht\jlreq@tempboxa+\dp\jlreq@tempboxa\relax - \vrule\@width\z@ \@height.5\@tempdima \@depth.5\@tempdima - \hbox to 1\jlreq@zw{\yoko\hss#1\hss}% - \hskip 0pt plus 0.25\jlreq@zw minus 0pt -}} +%. plextから拝借 \def\jlreq@Kanji#1{\expandafter\kansuji\csname c@#1\endcsname} % このあたりはtarticleと同じ @@ -2256,7 +2249,7 @@ \def\jlreq@do{}% 初期化.これに最終処理を入れていく. % 入力チェック \ifthenelse{\equal{\jlreq@column@spanning}{true}}{% - \jlreq@if{\ifjlreq@column@spanning@possible\else\fi}{ + \jlreq@if{\unless\ifjlreq@column@spanning@possible\fi}{ \ClassWarningNoLine{jlreq}{column_spanning can be used only with `pagebreak=nariyuki' or `pagebreak=clearcolumn' (in BlockHeading #1)}% \def\jlreq@column@spanning{false}% }{}% @@ -3139,14 +3132,42 @@ % \footnoteと\footnotemarkの前後に\jlreq@hook@prenote/\jlreq@hook@postnoteを入れる \jlreq@saveoriginalcs{\footnote} \jlreq@saveoriginalcs{\footnotemark} +\long\def\jlreq@footnotetext@for@footnote[#1]#2{% + \def\jlreq@result{\footnotetext[#1]{#2}}% +} \def\footnote{% + \jlreq@footnote{\footnote}{\footnotemark}{\jlreq@footnotetext@for@footnote}% +} +\def\jlreq@footnote#1#2#3{% \jlreq@hook@prenote - \@ifnextchar[{\jlreq@footnote@impl@woption}{\jlreq@footnote@impl@wooption}% + \@ifnextchar[{\jlreq@footnote@impl@woption{#1}{#2}{#3}}{\jlreq@footnote@impl@wooption{#1}{#2}{#3}}% } \def\footnotemark{% \jlreq@hook@prenote \@ifnextchar[{\jlreq@footnotemark@impl@woption}{\jlreq@footnotemark@impl@wooption}% } +\long\def\jlreq@footnotemark@impl@woption[#1]{% + \jlreq@useoriginalcs{\footnotemark}[#1]% + \jlreq@hook@postnote +} +\long\def\jlreq@footnotemark@impl@wooption{% + \jlreq@useoriginalcs{\footnotemark}% + \jlreq@hook@postnote +} +\def\jlreq@restore@original@footnotes{% + \let\jlreq@temporary@saved@footnote=\footnote + \let\jlreq@temporary@saved@footnotemark=\footnotemark + \let\jlreq@temporary@saved@footnotetext=\footnotetext + \jlreq@restoreoriginalcs{\footnote}% + \jlreq@restoreoriginalcs{\footnotemark}% + \jlreq@restoreoriginalcs{\footnotetext}% +} +\def\jlreq@restore@jlreq@footnotes{% + \let\footnote=\jlreq@temporary@saved@footnote + \let\footnotemark=\jlreq@temporary@saved@footnotemark + \let\footnotetext=\jlreq@temporary@saved@footnotetext +} + \ifthenelse{\boolean{@tate} \AND \(\boolean{@twoside} \OR \boolean{@twocolumn}\)}{ % 縦組の傍注は,その見開き内に付いている合印に対応する注を,奇数ページの左端にそろえて配置する.多段組では最下段の左端にそろえて配置する.(4.2.6.a) % 必要ならば\footnoteを\footnotemarkと\footnotetextにわけ,\footnotetextをアウトプット時まで遅延することで実現する. @@ -3156,7 +3177,7 @@ \jlreq@footnote@delayfootnoteslist } \preto\@opcol{\jlreq@hook@@opcol} - % \jlreq@footnote@delayfootnote@delay#1#2#3:#1ページ目に\footnotetext[#2]{#3}を出す + % \jlreq@footnote@delayfootnote@delay#1#2:#1ページ目に#2を出す % \jlreq@footnote@delayfootnote@page:何ページ目に\footnotetextを入れるかを\jlreq@resultcntに入れる.その場での場合は-1. \if@twocolumn \if@twoside @@ -3173,89 +3194,100 @@ \ifnum\jlreq@resultcnt=\value{page}\if@firstcolumn\else\jlreq@resultcnt=-1 \fi\fi } \fi - \long\def\jlreq@footnote@delayfootnote@delay#1#2#3{% + \long\def\jlreq@footnote@delayfootnote@delay#1#2{% % 二段組みの場合は上段を組んだ直後に\footnotetextを挿入(そのページの下段に入る) - \ifnum 0\if@firstcolumn\else 1\fi\ifnum#1>\value{page}1\fi>0 - \xappto\jlreq@footnote@delayfootnoteslist{\unexpanded{\jlreq@footnote@delayfootnote{#1}{#2}{#3}}}% - \else - \footnotetext[#2]{#3}% - \fi + \jlreq@if{\ifnum 0\if@firstcolumn\else 1\fi\ifnum#1>\value{page}1\fi>0 \fi}{% + \xappto\jlreq@footnote@delayfootnoteslist{\unexpanded{\jlreq@footnote@delayfootnote{#1}{#2}}}% + }{#2}% } \else \def\jlreq@footnote@delayfootnote@page{% \jlreq@setcurrentpage - \ifodd\jlreq@currentpage + \jlreq@if{\ifodd\jlreq@currentpage\relax\fi}{% \jlreq@resultcnt=-1 - \else + }{% \jlreq@resultcnt=\numexpr\jlreq@currentpage+1\relax - \fi + }% } - \long\def\jlreq@footnote@delayfootnote@delay#1#2#3{% + \long\def\jlreq@footnote@delayfootnote@delay#1#2{% % 一段組の場合はその前のページを組んだ直後に\footnotetextを挿入. - \ifnum\numexpr#1 - 1\relax>\value{page}% - \xappto\jlreq@footnote@delayfootnoteslist{\unexpanded{\jlreq@footnote@delayfootnote{#1}{#2}{#3}}}% - \else - \footnotetext[#2]{#3}% - \fi + \jlreq@if{\ifnum\numexpr#1 - 1\relax>\value{page} \fi}{% + \xappto\jlreq@footnote@delayfootnoteslist{\unexpanded{\jlreq@footnote@delayfootnote{#1}{#2}}}% + }{#2}% } \fi - \def\jlreq@footnote@delayfootnote@immediate#1#2#3{% - \ifnum #1<\jlreq@currentpage - \xappto\jlreq@footnote@delayfootnoteslist{\unexpanded{\jlreq@footnote@delayfootnote{#1}{#2}{#3}}}% - \else - \footnotetext[#2]{#3}% - \fi + \def\jlreq@footnote@delayfootnote@immediate#1#2{% + \jlreq@if{\ifnum #1<\jlreq@currentpage\relax\fi}{% + \xappto\jlreq@footnote@delayfootnoteslist{\unexpanded{\jlreq@footnote@delayfootnote{#1}{#2}}}% + }{#2}% } \let\jlreq@footnote@delayfootnote=\jlreq@footnote@delayfootnote@delay \def\jlreq@footnote@flushdelayfootnoteslist{% - \ifx\jlreq@footnote@delayfootnoteslist\@empty\else + \jlreq@if{\ifx\jlreq@footnote@delayfootnoteslist\@empty\fi}{}{% \let\jlreq@footnote@delayfootnote=\jlreq@footnote@delayfootnote@immediate \jlreq@setcurrentpage \expandafter\gdef\expandafter\jlreq@footnote@delayfootnoteslist\expandafter{\expandafter}% \jlreq@footnote@delayfootnoteslist \let\jlreq@footnote@delayfootnote=\jlreq@footnote@delayfootnote@delay - \fi + }% } \AtEndDocument{\jlreq@footnote@flushdelayfootnoteslist} \preto\newpage{\jlreq@footnote@flushdelayfootnoteslist} - \long\def\jlreq@footnote@impl@woption[#1]#2{% + \long\def\jlreq@footnote@impl@woption#1#2#3[#4]#5{% \jlreq@footnote@delayfootnote@page - \ifnum\jlreq@resultcnt=-1 - \jlreq@useoriginalcs{\footnote}[#1]{#2}% - \else - \jlreq@useoriginalcs{\footnotemark}[#1]% - \xappto\jlreq@footnote@delayfootnoteslist{\noexpand\jlreq@footnote@delayfootnote{\the\jlreq@resultcnt}{\unexpanded{#1}}{\unexpanded{#2}}}% - \fi + \begingroup + \edef\jlreq@do{\unexpanded{% + \jlreq@restore@original@footnotes + \def\jlreq@result{}#2[#4]\jlreq@result + \def\jlreq@result{}#3[#4]{#5}% + \jlreq@restore@jlreq@footnotes}% + \jlreq@if{\ifnum\jlreq@resultcnt=-1 \fi}{\noexpand\jlreq@result}{\unexpanded{% + \xappto\jlreq@footnote@delayfootnoteslist{% + \noexpand\jlreq@footnote@delayfootnote{\the\jlreq@resultcnt}{% + \noexpand\jlreq@restore@original@footnotes + \expandonce{\jlreq@result}% + \noexpand\jlreq@restore@jlreq@footnotes + }% + }% + }}% + }% + \expandafter\endgroup\jlreq@do \jlreq@hook@postnote } - \long\def\jlreq@footnote@impl@wooption#1{% + \long\def\jlreq@footnote@impl@wooption#1#2#3#4{% \jlreq@footnote@delayfootnote@page - \ifnum\jlreq@resultcnt=-1 - \jlreq@useoriginalcs{\footnote}{#1}% - \else - \jlreq@useoriginalcs{\footnotemark}% - \xappto\jlreq@footnote@delayfootnoteslist{\noexpand\jlreq@footnote@delayfootnote{\the\jlreq@resultcnt}{\the\value{footnote}}{\unexpanded{#1}}}% - \fi + \begingroup + \stepcounter{footnote}% + \edef\jlreq@do{% + \unexpanded{\def\jlreq@result{}#2}[\the\value{footnote}]\noexpand\jlreq@result + \unexpanded{\def\jlreq@result{}#3}[\the\value{footnote}]\unexpanded{{#4}}% + \jlreq@if{\ifnum\jlreq@resultcnt=-1 \fi}{\noexpand\jlreq@result}{\unexpanded{% + \xappto\jlreq@footnote@delayfootnoteslist{% + \noexpand\jlreq@footnote@delayfootnote{\the\jlreq@resultcnt}{% + \noexpand\jlreq@restore@original@footnotes + \expandonce{\jlreq@result}% + \noexpand\jlreq@restore@jlreq@footnotes + }% + }% + }}% + }% + \expandafter\endgroup\jlreq@do \jlreq@hook@postnote } }{ - \long\def\jlreq@footnote@impl@woption[#1]#2{% - \jlreq@useoriginalcs{\footnote}[#1]{#2}% + \long\def\jlreq@footnote@impl@woption#1#2#3[#4]#5{% + \jlreq@restore@original@footnotes + #1[#4]{#5}% + \jlreq@restore@jlreq@footnotes \jlreq@hook@postnote } - \long\def\jlreq@footnote@impl@wooption#1{% - \jlreq@useoriginalcs{\footnote}{#1}% + \long\def\jlreq@footnote@impl@wooption#1#2#3#4{% + \jlreq@restore@original@footnotes + #1{#4}% + \jlreq@restore@jlreq@footnotes \jlreq@hook@postnote } } -\long\def\jlreq@footnotemark@impl@woption[#1]{% - \jlreq@useoriginalcs{\footnotemark}[#1]% - \jlreq@hook@postnote -} -\long\def\jlreq@footnotemark@impl@wooption{% - \jlreq@useoriginalcs{\footnotemark}% - \jlreq@hook@postnote -} % 合印 \renewcommand*{\@makefnmark}{% @@ -3263,7 +3295,7 @@ } % 4.2.2注3 \if@tate - \renewcommand*{\thefootnote}{\jlreq@open@bracket@before@space\inhibitglue(\jlreq@rensuji{\@arabic\c@footnote})\inhibitglue} + \renewcommand*{\thefootnote}{\jlreq@open@bracket@before@space\inhibitglue(\tatechuyoko*{\@arabic\c@footnote})\inhibitglue} \else \renewcommand*{\thefootnote}{\arabic{footnote}\hbox{})\inhibitglue} \fi @@ -4041,7 +4073,7 @@ }% } \def\jlreq@pagestyle@make@runninghead@#1#2#3#4#5{% - \jlreq@if{\ifnum\numexpr\jlreq@ifendmark{#5\fi}{1}{0}*\ifjlreq@tempa 1\else 0\fi\relax=1 \fi}{% + \jlreq@if{\ifnum\numexpr\jlreq@ifendmark{#5}{1}{0}*\ifjlreq@tempa 1\else 0\fi\relax=1 \fi}{% % 項目が一つしか無い \jlreq@ifempty{#2}{\csappto}{\cspreto}{#1}{#4}% }{% @@ -5123,7 +5155,7 @@ \protected@write\@auxout{% \let\label\@gobble\let\index\@gobble\let\glossary\@gobble \if@tate - \@temptokena{\jlreq@rensuji{\thepage}}% + \@temptokena{\tatechuyoko{\thepage}}% \else \@temptokena{\thepage}% \fi @@ -5526,11 +5558,17 @@ %. その他諸々 %.. 縦中横 -\edef\@tempa{% - \unexpanded{% - \jlreq@ifydir{\ClassError{jlreq}{\string\tatechuyoko\space is not allowed in yoko mode}{\@ehc}}{}% - \ifvmode\leavevmode\fi +\protected\def\tatechuyoko{\@ifstar + {\jlreq@tatechuyoko@i}% + {% + \jlreq@iftdir{}{\ClassError{jlreq}{\string\tatechuyoko\space is not allowed in yoko mode}{\@ehc}}% + \jlreq@tatechuyoko@ii }% +} +\def\jlreq@tatechuyoko@i#1{\jlreq@iftdir{\jlreq@tatechuyoko@ii{#1}}{#1}} + +\edef\@tempa{% + \unexpanded{\ifvmode\leavevmode\fi}% \ifx l\jlreq@engine\unexpanded{% \jlreq@lastnodechar=\lastnodechar\relax \ifnum\jlreq@lastnodechar>-1 \inhibitglue\fi @@ -5540,19 +5578,22 @@ }\fi } -\expandafter\protected\expandafter\def\expandafter\tatechuyoko\expandafter#\expandafter1\expandafter{% +\expandafter\def\expandafter\jlreq@tatechuyoko@ii\expandafter#\expandafter1\expandafter{% \@tempa % 前のJFM glue \ifnum\jlreq@lastnodechar>-1 \jlreq@calc@jfmglue{\char\jlreq@lastnodechar}{阿}% \jlreq@ifgluezero\jlreq@resultskip{}{\hskip\jlreq@resultskip}% \fi - \hbox{\yoko - \setbox\jlreq@tempboxa=\hbox{阿}% - \vrule width 0pt height \ht\jlreq@tempboxa depth \dp\jlreq@tempboxa #1}% - \futurelet\jlreq@nextchar\jlreq@tatechuyoko@ + \hbox{\yoko + \begingroup + \setbox\jlreq@tempboxa=\hbox{阿}% + \vrule width 0pt height \ht\jlreq@tempboxa depth \dp\jlreq@tempboxa + \endgroup + #1}% + \futurelet\jlreq@nextchar\jlreq@tatechuyoko@iii } -\def\jlreq@tatechuyoko@{% +\def\jlreq@tatechuyoko@iii{% \begingroup \def\jlreq@do{}% \jlreq@getfirsttoken@expandmacros{\jlreq@nextchar}{\jlreq@tempa}% @@ -5676,11 +5717,11 @@ \if@tate \renewcommand{\thepart}{\jlreq@Kanji{part}} \ifthenelse{\equal{\jlreq@article@type}{article}}{}{\renewcommand{\thechapter}{\jlreq@Kanji{chapter}}} - \renewcommand{\thesection}{\jlreq@rensuji{\@arabic\c@section}} - \renewcommand{\thesubsection}{\jlreq@rensuji{\@alph\c@subsection}} - \renewcommand{\thesubsubsection}{\jlreq@rensuji{\@arabic\c@subsubsection}} - \renewcommand{\theparagraph}{(\jlreq@rensuji{\@arabic\c@paragraph})} - \renewcommand{\thesubparagraph}{(\jlreq@rensuji{\@arabic\c@subparagraph})} + \renewcommand{\thesection}{\tatechuyoko*{\@arabic\c@section}} + \renewcommand{\thesubsection}{\tatechuyoko*{\@alph\c@subsection}} + \renewcommand{\thesubsubsection}{\tatechuyoko*{\@arabic\c@subsubsection}} + \renewcommand{\theparagraph}{(\tatechuyoko*{\@arabic\c@paragraph})} + \renewcommand{\thesubparagraph}{(\tatechuyoko*{\@arabic\c@subparagraph})} \ifthenelse{\equal{\jlreq@article@type}{article}}{ \NewBlockHeading{part}{0}{font={\jlreq@keepbaselineskip{\LARGE}},indent=4\jlreq@zw,lines=4,after_label_space=1\jlreq@zw,second_heading_text_indent={-1\jlreq@zw,1\jlreq@zw},subtitle_font={\jlreq@keepbaselineskip{\large}}} @@ -5805,9 +5846,9 @@ %.. 箇条書き \if@tate \renewcommand{\theenumi}{\jlreq@Kanji{enumi}} - \renewcommand{\theenumii}{\jlreq@rensuji{\@arabic\c@enumii}} - \renewcommand{\theenumiii}{\jlreq@rensuji{\@arabic\c@enumiii}} - \renewcommand{\theenumiv}{\jlreq@rensuji{\@arabic\c@enumiv}} + \renewcommand{\theenumii}{\tatechuyoko*{\@arabic\c@enumii}} + \renewcommand{\theenumiii}{\tatechuyoko*{\@arabic\c@enumiii}} + \renewcommand{\theenumiv}{\tatechuyoko*{\@arabic\c@enumiv}} \newcommand{\labelenumi}{\theenumi} \newcommand{\labelenumii}{\theenumii} \newcommand{\labelenumiii}{\theenumiii} @@ -5911,7 +5952,7 @@ \if@tate \jlreqsetup{ appendix_counter = { - section = {value = 0, the = {\jlreq@rensuji{\Alph{section}}}}, + section = {value = 0, the = {\tatechuyoko*{\Alph{section}}}}, subsection = {value = 0}, } } @@ -5928,7 +5969,7 @@ \if@tate \jlreqsetup{ appendix_counter = { - chapter = {value = 0, the = {\jlreq@rensuji{\Alph{chapter}}}}, + chapter = {value = 0, the = {\tatechuyoko*{\Alph{chapter}}}}, } } \else diff --git a/language/japanese/jlreq/jlreq.pdf b/language/japanese/jlreq/jlreq.pdf index b770c64681..e36f3d8a87 100644 Binary files a/language/japanese/jlreq/jlreq.pdf and b/language/japanese/jlreq/jlreq.pdf differ diff --git a/language/japanese/platex-tools/LICENSE b/language/japanese/platex-tools/LICENSE index c463b620a9..9661ce7b8d 100644 --- a/language/japanese/platex-tools/LICENSE +++ b/language/japanese/platex-tools/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2016-2019 Hironobu Yamashita +Copyright (c) 2016-2020 Hironobu Yamashita All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/language/japanese/platex-tools/README.md b/language/japanese/platex-tools/README.md index 72fb0632cb..903bb76ee3 100644 --- a/language/japanese/platex-tools/README.md +++ b/language/japanese/platex-tools/README.md @@ -83,6 +83,6 @@ the 3-clause BSD license (see [LICENSE](./LICENSE)). ## Release Date -2019-09-07 +2020-09-27 Hironobu Yamashita diff --git a/language/japanese/platex-tools/plarray.sty b/language/japanese/platex-tools/plarray.sty index 8c797ef59c..52ff536d54 100644 --- a/language/japanese/platex-tools/plarray.sty +++ b/language/japanese/platex-tools/plarray.sty @@ -7,9 +7,9 @@ % % This package is expected to be compatible with % * array.sty in latex-tools -% (2016/10/06 v2.4d -- 2018/11/13 v2.4j) +% (2016/10/06 v2.4d -- 2019/08/31 v2.4l) % * plcore.ltx in platex -% (2001/09/26 v1.2a -- 2018/09/02 v1.3) +% (2001/09/26 v1.2a -- 2020/03/05 v1.3e) % \NeedsTeXFormat{pLaTeX2e} diff --git a/language/japanese/platex-tools/plextarray.sty b/language/japanese/platex-tools/plextarray.sty index 1e706d9a75..a1f3805678 100644 --- a/language/japanese/platex-tools/plextarray.sty +++ b/language/japanese/platex-tools/plextarray.sty @@ -7,9 +7,9 @@ % % This package is expected to be compatible with % * array.sty in latex-tools -% (2016/10/06 v2.4d -- 2018/11/13 v2.4j) +% (2016/10/06 v2.4d -- 2019/08/31 v2.4l) % * plext.sty in platex -% (2001/09/26 v1.2 -- 2018/10/07 v1.2k) +% (2001/09/26 v1.2 -- 2019/09/29 v1.2l) % Largely based on lltjext.sty from LuaTeX-ja project. % diff --git a/language/japanese/platex-tools/plextdelarray.sty b/language/japanese/platex-tools/plextdelarray.sty index 1c6b097c2c..03008c193e 100644 --- a/language/japanese/platex-tools/plextdelarray.sty +++ b/language/japanese/platex-tools/plextdelarray.sty @@ -9,7 +9,7 @@ % * delarray.sty in latex-tools % (2014/10/28 v1.01) % * plext.sty in platex -% (2001/09/26 v1.2 -- 2018/10/07 v1.2k) +% (2001/09/26 v1.2 -- 2019/09/29 v1.2l) % \NeedsTeXFormat{pLaTeX2e} diff --git a/language/japanese/platex-tools/pxatbegshi.pdf b/language/japanese/platex-tools/pxatbegshi.pdf index 68527a8a2c..6401ed5cf8 100644 Binary files a/language/japanese/platex-tools/pxatbegshi.pdf and b/language/japanese/platex-tools/pxatbegshi.pdf differ diff --git a/language/japanese/platex-tools/pxatbegshi.sty b/language/japanese/platex-tools/pxatbegshi.sty index bbe8c49ac3..3c8a830415 100644 --- a/language/japanese/platex-tools/pxatbegshi.sty +++ b/language/japanese/platex-tools/pxatbegshi.sty @@ -18,13 +18,19 @@ % the original code (2018/09/21 v0.3), which was largely based on % H. Kitagawa's on GitHub:texjporg/tex-jp-build#21. % -- concept: execute all hooks inside yoko direction \vbox -% -------------------------------------------------- +% +% Update: version 2020/09/09 v0.6 supports LaTeX2e 2020-10-01 +% based on a method proposed by H. Kitagawa in lltjp-atbegshi.sty. +% +% Update: version 2020/09/25 v0.7 does nothing, since +% pLaTeX2e 2020-10-01 will support the situation natively. +% -------------------------------------------------------------------- % %% package declaration \NeedsTeXFormat{pLaTeX2e} \ProvidesPackage{pxatbegshi} - [2019/09/07 v0.5 Patch to atbegshi for (u)pLaTeX] + [2020/09/25 v0.7 Patch to atbegshi for (u)pLaTeX] %% preparations \def\pxabgs@pkgname{pxatbegshi} @@ -33,6 +39,20 @@ %% load it \RequirePackage{atbegshi} +%% Since LaTeX2e 2020-10-01, atbegshi.sty is merely +%% an emulation by atbegshi-ltx.sty from ltshipout.dtx. +%% The new code does NOT define \AtBegShi@Output, +%% so we can detect it! + +\ifx\AtBegShi@Output\@undefined + %% pLaTeX2e 2020-10-01 natively supports the situation + \PackageInfo{pxatbegshi}{This package is no longer needed} + \expandafter\endinput +\fi + +%% The rest of this package is meant for +%% LaTeX2e 2020-02-02 PL5 or older. + %% internal macros are locally effective \begingroup @@ -56,8 +76,6 @@ %--------------------------------------- -% concept: execute all hooks inside yoko direction \vbox - % prepare \let\pxabgs@AtBegShi@Output\AtBegShi@Output % try first patch diff --git a/language/japanese/platex-tools/pxatbegshi.tex b/language/japanese/platex-tools/pxatbegshi.tex index 35c6fd413a..e3d34cda14 100644 --- a/language/japanese/platex-tools/pxatbegshi.tex +++ b/language/japanese/platex-tools/pxatbegshi.tex @@ -25,6 +25,10 @@ with Japanese classes for vertical writing (tarticle.cls, etc). The package \textsf{pxatbegshi} provides a patch for \textsf{atbegshi} to work with both horizontal and vertical writing. +With \pLaTeXe~2020-10-01 or later, this package does +nothing because the \pLaTeXe\ itself handles the situation. +Therefore, you will not need this package at all. + This package is part of \textsf{platex-tools} bundle: \begin{verbatim} https://github.com/aminophen/platex-tools @@ -40,7 +44,18 @@ p\LaTeX の縦組クラス(tarticle.clsなど)で使うとエラーが出て この\textsf{pxatbegshi}パッケージは、縦組クラスでも \textsf{atbegshi}パッケージの機能を使えるようにするためのものです。 もちろん、横組クラスで\textsf{pxatbegshi}パッケージを使用しても -問題は起きません。 +ほぼ問題は起きません。ただし、制約事項として +\begin{quote} +「\verb+\AtBeginShipout+の中身が外部垂直モードで実行されること」を +想定した使用は\emph{サポートしない} +\end{quote} +と明言します(例:\verb+aminophen/platex-tools#15+)。 + +\pLaTeXe~2020-10-01以降では、同等の機能が\pLaTeXe{}カーネルに +存在するため、\textsf{pxatbegshi}パッケージは何もしません。 + +\newpage +\section{使いかた} 使いかたは、\textsf{atbegshi}パッケージの代わりに、あるいは \textsf{atbegshi}パッケージに追加して、\textsf{pxatbegshi}パッケージを @@ -58,12 +73,12 @@ p\LaTeX の縦組クラス(tarticle.clsなど)で使うとエラーが出て \end{document} \end{verbatim} -\section*{謝辞} +\section{謝辞} -本パッケージの実装は、北川さん(Hironori Kitagawa)さんによる +本パッケージの実装は、北川さん(Hironori Kitagawa)による 「\verb+\AtBegShi@Output+の処理を強引に横組でやらせるコード」 をベースにしています\footnote{2018/09/21 v0.4では -Takayuki Yato (ZR) 氏による\textsf{bxpapersize}パッケージを参考に +Takayuki Yato (ZR) さんによる\textsf{bxpapersize}パッケージを参考に していましたが、\textsf{multicol}パッケージで問題が起きるようなので v0.3以前と同様に北川さんのコードベースに戻しました。}。 diff --git a/language/japanese/platex-tools/pxeveryshi.pdf b/language/japanese/platex-tools/pxeveryshi.pdf index b9b989d393..d4538ba42c 100644 Binary files a/language/japanese/platex-tools/pxeveryshi.pdf and b/language/japanese/platex-tools/pxeveryshi.pdf differ diff --git a/language/japanese/platex-tools/pxeveryshi.sty b/language/japanese/platex-tools/pxeveryshi.sty index 8a534095d9..23bbd8abe0 100644 --- a/language/japanese/platex-tools/pxeveryshi.sty +++ b/language/japanese/platex-tools/pxeveryshi.sty @@ -1,18 +1,39 @@ % % pxeveryshi.sty -% written by Takayuki Yato (ZR) +% originally written by Takayuki Yato (ZR) +% and modified by Hironobu Yamashita % % This package is distributed as part of the platex-tools bundle % maintained by Hironobu Yamashita % by courtesy of the original author. % https://github.com/aminophen/platex-tools % +% -------------------------------------------------------------------- +% [Note] +% Update: version 2020/09/25 v0.2 does nothing, since +% pLaTeX2e 2020-10-01 will support the situation natively. +% -------------------------------------------------------------------- +% \NeedsTeXFormat{pLaTeX2e} \ProvidesPackage{pxeveryshi} - [2012/05/19 v0.1 everyshi package for pLaTeX] + [2020/09/25 v0.2 everyshi package for pLaTeX] \RequirePackageWithOptions{everyshi} -% + +%% Since LaTeX2e 2020-10-01, everyshi.sty is merely +%% an emulation by everyshi-ltx.sty from ltshipout.dtx. +%% The new code does NOT define \@EveryShipout@Output, +%% so we can detect it! + +\ifx\@EveryShipout@Output\@undefined + %% pLaTeX2e 2020-10-01 natively supports the situation + \PackageInfo{pxeveryshi}{This package is no longer needed} + \expandafter\endinput +\fi + +%% The rest of this package is meant for +%% LaTeX2e 2020-02-02 PL5 or older. + \def\@EveryShipout@Output{% \setbox8\vbox{% \yoko @@ -23,6 +44,6 @@ \gdef\@EveryShipout@AtNextHook{}% \@EveryShipout@Org@Shipout\box\@cclv } -% + \endinput %% EOF diff --git a/language/japanese/platex-tools/pxeveryshi.tex b/language/japanese/platex-tools/pxeveryshi.tex index b5e612ba51..598fba6a5b 100644 --- a/language/japanese/platex-tools/pxeveryshi.tex +++ b/language/japanese/platex-tools/pxeveryshi.tex @@ -8,7 +8,7 @@ \usepackage{pxeveryshi} \GetFileInfo{pxeveryshi.sty} \title{Package \textsf{pxeveryshi} \fileversion} -\author{Takayuki Yato} +\author{Takayuki Yato \& Hironobu Yamashita} \date{\filedate} \begin{document} @@ -25,6 +25,10 @@ cannot be used with Japanese classes for vertical writing The package \textsf{pxeveryshi} provides a patch for \textsf{everyshi} to work with both horizontal and vertical writing. +With \pLaTeXe~2020-10-01 or later, this package does +nothing because the \pLaTeXe\ itself handles the situation. +Therefore, you will not need this package at all. + This package is part of \textsf{platex-tools} bundle: \begin{verbatim} https://github.com/aminophen/platex-tools @@ -40,6 +44,11 @@ p\LaTeX の縦組クラス(tarticle.clsなど)で使うとエラーが出て \textsf{everyshi}パッケージ(およびこれに依存するパッケージ)が 使えるようになります。 +\pLaTeXe~2020-10-01以降では、同等の機能が\pLaTeXe{}カーネルに +存在するため、\textsf{pxeveryshi}パッケージは何もしません。 + +\section{使いかた} + 使いかたは、\textsf{everyshi}パッケージの代わりに、あるいは \textsf{everyshi}パッケージに追加して、\textsf{pxeveryshi}パッケージを 読みこむだけです。使用例: diff --git a/language/japanese/platex-tools/pxmulticol.sty b/language/japanese/platex-tools/pxmulticol.sty index 63274eb94e..2b0c3af4dd 100644 --- a/language/japanese/platex-tools/pxmulticol.sty +++ b/language/japanese/platex-tools/pxmulticol.sty @@ -7,7 +7,7 @@ % % This package is expected to be compatible with % * multicol.sty in latex-tools -% (1995/10/19 v1.5l -- 2018/04/01 v1.8r) +% (1995/10/19 v1.5l -- 2019/12/09 v1.8y) % \NeedsTeXFormat{pLaTeX2e} diff --git a/language/japanese/platex-tools/pxxspace.pdf b/language/japanese/platex-tools/pxxspace.pdf index 2aa3d48831..8dc7a2a4a8 100644 Binary files a/language/japanese/platex-tools/pxxspace.pdf and b/language/japanese/platex-tools/pxxspace.pdf differ diff --git a/language/japanese/platex-tools/pxxspace.sty b/language/japanese/platex-tools/pxxspace.sty index 1a8207536c..384a157be6 100644 --- a/language/japanese/platex-tools/pxxspace.sty +++ b/language/japanese/platex-tools/pxxspace.sty @@ -24,14 +24,14 @@ %% package declaration \NeedsTeXFormat{pLaTeX2e} \ProvidesPackage{pxxspace} - [2019/04/30 v0.2 Patch for xspace for pLaTeX/upLaTeX] + [2019/09/23 v0.2a Patch for xspace for pLaTeX/upLaTeX] \def\pxxs@pkgname{pxxspace} %--------------------------------------- preparations %% e-TeX is required \RequirePackage{etoolbox}[2011/01/03]% v2.1 -\ifx\numdef\@undefined \endinput \fi +\ifx\numdef\@undefined \expandafter\endinput \fi %% packages \RequirePackage{xspace}[2009/10/20]% v1.13 diff --git a/language/japanese/plautopatch/README.md b/language/japanese/plautopatch/README.md index 6799dc2f80..1063a4b9b4 100644 --- a/language/japanese/plautopatch/README.md +++ b/language/japanese/plautopatch/README.md @@ -33,6 +33,7 @@ The following patches are currently registered: - multicol (latex-tools) -> pxmulticol (platex-tools) - xspace (latex-tools) -> pxxspace (platex-tools) - textpos -> pxtextpos (maintained here!) +- eso-pic -> pxesopic (maintained here!) - pdfpages -> pxpdfpages (maintained here!) - stfloats (sttools) -> pxstfloats (pxsttools) - hyperref -> pxjahyper (by Takayuki YATO) @@ -72,6 +73,9 @@ Short information: - pxtextpos.sty: Patch for textpos.sty (by Norman Gray) to support Japanese-style crop marks (called 'tombow' in Japanese). +- pxesopic.sty: + Patch for eso-pic.sty (by Rolf Niepraschk) to support + Japanese-style crop marks (called 'tombow' in Japanese). - pxpdfpages.sty: Patch for pdfpages.sty (by Andreas Matthias) to support Japanese-style crop marks (called 'tombow' in Japanese). @@ -101,6 +105,6 @@ the 3-clause BSD license (see [LICENSE](./LICENSE)). ## Release Date -2020-05-25 +2020-09-27 Hironobu Yamashita diff --git a/language/japanese/plautopatch/plarydshln.sty b/language/japanese/plautopatch/plarydshln.sty index d9c26a2c7f..b84c27df01 100644 --- a/language/japanese/plautopatch/plarydshln.sty +++ b/language/japanese/plautopatch/plarydshln.sty @@ -9,7 +9,7 @@ % * arydshln.sty % (2004/08/31 v1.71 -- 2019/02/21 v1.76) % * plcore.ltx in platex -% (2001/09/26 v1.2a -- 2019/02/08 v1.3b) +% (2001/09/26 v1.2a -- 2020/03/05 v1.3e) % %% package declaration diff --git a/language/japanese/plautopatch/plautopatch-ja.pdf b/language/japanese/plautopatch/plautopatch-ja.pdf index 775fd4bb43..418ebd8b87 100644 Binary files a/language/japanese/plautopatch/plautopatch-ja.pdf and b/language/japanese/plautopatch/plautopatch-ja.pdf differ diff --git a/language/japanese/plautopatch/plautopatch-ja.tex b/language/japanese/plautopatch/plautopatch-ja.tex index c09f3db8b1..acdb3f5e39 100644 --- a/language/japanese/plautopatch/plautopatch-ja.tex +++ b/language/japanese/plautopatch/plautopatch-ja.tex @@ -119,6 +119,7 @@ p\LaTeX/up\LaTeX{}で動作するソースと通常の\LaTeX{}ソースの \ITEMoTo multicol (latex-tools) -> pxmulticol (platex-tools) \ITEMoTo xspace (latex-tools) -> pxxspace (platex-tools) \ITEMxTx textpos -> pxtextpos (maintained here!) +\ITEMxTx eso-pic -> pxesopic (maintained here!) \ITEMxTx pdfpages -> pxpdfpages (maintained here!) \ITEMoTo stfloats (sttools) -> pxstfloats (pxsttools) \ITEMxTx hyperref -> pxjahyper (by Takayuki YATO) @@ -158,6 +159,9 @@ p\LaTeX/up\LaTeX{}で動作するソースと通常の\LaTeX{}ソースの \item 2020/02/25 v0.9e \textsf{textpos}のサポート \item 2020/05/05 v0.9f \textsf{collcell}のサポート \item 2020/05/25 v0.9g \textsf{pxjahyper}の自動読込 + \item 2020/09/13 v0.9h \LaTeXe~2020-10-01では\textsf{filehook}非依存に + \item 2020/09/25 v0.9i \textsf{pxeveryshi}と\textsf{pxatbegshi}を不要に + \item 2020/09/27 v0.9j \textsf{eso-pic}のサポート(要\LaTeXe~2020-10-01) \end{itemize} \end{document} diff --git a/language/japanese/plautopatch/plautopatch.pdf b/language/japanese/plautopatch/plautopatch.pdf index d86957c827..44aefb55a5 100644 Binary files a/language/japanese/plautopatch/plautopatch.pdf and b/language/japanese/plautopatch/plautopatch.pdf differ diff --git a/language/japanese/plautopatch/plautopatch.sty b/language/japanese/plautopatch/plautopatch.sty index 30707cb8b4..f77c4e0b8a 100644 --- a/language/japanese/plautopatch/plautopatch.sty +++ b/language/japanese/plautopatch/plautopatch.sty @@ -8,7 +8,7 @@ \NeedsTeXFormat{LaTeX2e}% not pLaTeX2e on purpose! \ProvidesPackage{plautopatch} - [2020/05/25 v0.9g Automated patches for pLaTeX/upLaTeX] + [2020/09/27 v0.9j Automated patches for pLaTeX/upLaTeX] \ifx\pfmtname\@undefined \PackageWarningNoLine{plautopatch}{% @@ -23,7 +23,21 @@ \def\platpc@warn{\PackageWarningNoLine\platpc@pkgname} \def\platpc@info{\PackageInfo\platpc@pkgname} -\RequirePackage{filehook} +%% Since LaTeX2e 2020-10-01, most of features in filehook.sty +%% is available in ltfilehook.dtx. +%% The new code defines \declare@file@substitution, +%% so we can detect it! + +\ifx\declare@file@substitution\@undefined + % LaTeX2e 2020-02-02 PL5 or older + \RequirePackage{filehook} + \let\platpc@ExecuteAfterPackage=\AtEndOfPackageFile + \let\platpc@ExecuteBeforePackage=\AtBeginOfPackageFile +\else + % LaTeX2e 2020-10-01 or newer + \def\platpc@ExecuteAfterPackage#1{\AddToHook{package/after/#1}} + \def\platpc@ExecuteBeforePackage#1{\AddToHook{package/before/#1}} +\fi % low-level helpers @@ -67,7 +81,7 @@ \@ifpackageloaded{#1}{% \csname platpc@end@#1\endcsname }{% - \AtEndOfPackageFile{#1}{\csname platpc@end@#1\endcsname}% + \platpc@ExecuteAfterPackage{#1}{\csname platpc@end@#1\endcsname}% }% } \@onlypreamble\platpc@patch@after @@ -84,16 +98,16 @@ \@ifpackageloaded{#2}{% \csname platpc@end@#1+#2\endcsname }{% - \AtEndOfPackageFile{#2}{\csname platpc@end@#1+#2\endcsname}% + \platpc@ExecuteAfterPackage{#2}{\csname platpc@end@#1+#2\endcsname}% }% }{% \@ifpackageloaded{#2}{% - \AtEndOfPackageFile{#1}{\csname platpc@end@#1+#2\endcsname}% + \platpc@ExecuteAfterPackage{#1}{\csname platpc@end@#1+#2\endcsname}% }{% - \AtEndOfPackageFile{#1}{% + \platpc@ExecuteAfterPackage{#1}{% \@ifpackageloaded{#2}{\csname platpc@end@#1+#2\endcsname}{}% }% - \AtEndOfPackageFile{#2}{% + \platpc@ExecuteAfterPackage{#2}{% \@ifpackageloaded{#1}{\csname platpc@end@#1+#2\endcsname}{}% }% }% @@ -119,13 +133,7 @@ % load the package \RequirePackage{#2}\platpc@addtolist{#2}% % avoid loading twice by discarding "\@@input " (*!) - \let\platpc@filehook@@atbegin\filehook@@atbegin - \def\filehook@@atbegin\@@input####1\filehook@atend{% - \let\filehook@@atbegin\platpc@filehook@@atbegin - % avoid infinite loop even when \AtEndOfPackageFile used - \expandafter\let\csname filehook@atend@#1.sty\endcsname\relax - \filehook@@atbegin - \filehook@atend}% + \platpc@discard@input{#1}% % all done }% }% @@ -134,11 +142,30 @@ \@ifpackageloaded{#1}{% \platpc@err@toolate{#1}% }{% else - \AtBeginOfPackageFile{#1}{\csname platpc@begin@#1\endcsname}% + \platpc@ExecuteBeforePackage{#1}{\csname platpc@begin@#1\endcsname}% }% } \@onlypreamble\platpc@patch@before +\ifx\declare@file@substitution\@undefined + % LaTeX2e 2020-02-02 PL5 or older + \def\platpc@discard@input#1{% + \let\platpc@filehook@@atbegin\filehook@@atbegin + \def\filehook@@atbegin\@@input##1\filehook@atend{% + \let\filehook@@atbegin\platpc@filehook@@atbegin + % avoid infinite loop even when \AtEndOfPackageFile used + \expandafter\let\csname filehook@atend@#1.sty\endcsname\relax + \filehook@@atbegin + \filehook@atend}} +\else + % LaTeX2e 2020-10-01 or newer + \def\platpc@discard@input#1{% + \let\platpc@InputIfFileExists\InputIfFileExists + \def\InputIfFileExists##1##2##3{% + \let\InputIfFileExists\platpc@InputIfFileExists}} +\fi +\@onlypreamble\platpc@discard@input + % interface for users who want don't patches %% \plautopatchdisable{,,...} @@ -186,12 +213,24 @@ % --- in most cases, pxeverysel can be safely loaded even after everysel % --- but it can fail when \AtBeginDocument{everysel} is involved \platpc@patch@before{everysel}{pxeverysel}% platex-tools -\platpc@patch@after{everyshi}{pxeveryshi}% platex-tools -\platpc@patch@after{atbegshi}{pxatbegshi}% platex-tools +% --- since LaTeX2e 2020-10-01, everyshi.sty is merely +% --- an emulation by everyshi-ltx.sty from ltshipout.dtx, +% --- which is supported by pLaTeX2e kernel natively +\@ifl@t@r{\fmtversion}{2020/10/01}{}% + {\platpc@patch@after{everyshi}{pxeveryshi}}% platex-tools +% --- since LaTeX2e 2020-10-01, atbegshi.sty is merely +% --- an emulation by atbegshi-ltx.sty from ltshipout.dtx, +% --- which is supported by pLaTeX2e kernel natively +\@ifl@t@r{\fmtversion}{2020/10/01}{}% + {\platpc@patch@after{atbegshi}{pxatbegshi}}% platex-tools \platpc@patch@before{ftnright}{pxftnright}% platex-tools \platpc@patch@after{multicol}{pxmulticol}% platex-tools \platpc@patch@after{xspace}{pxxspace}% platex-tools \platpc@patch@after{textpos}{pxtextpos}% (maintained here!) +% --- until LaTeX2e 2020-10-01, patching eso-pic automatically +% --- is not supported by pxesopic +\@ifl@t@r{\fmtversion}{2020/10/01}% + {\platpc@patch@before{eso-pic}{pxesopic}}{}% (maintained here!) \platpc@patch@after{pdfpages}{pxpdfpages}% (maintained here!) \platpc@patch@before{stfloats}{pxstfloats}% pxsttools -- (!!) % --- in most cases, pxjahyper works without explicit options @@ -213,6 +252,6 @@ % special case, mainly for problematic packages % --- mdwtab forbids loading array % --- so plarray should also be forbidden -\AtEndOfPackageFile{mdwtab}{\@namedef{ver@plarray.sty}{}} +\platpc@ExecuteAfterPackage{mdwtab}{\@namedef{ver@plarray.sty}{}} \endinput diff --git a/language/japanese/plautopatch/plautopatch.tex b/language/japanese/plautopatch/plautopatch.tex index d415bda829..b0e3cda4a5 100644 --- a/language/japanese/plautopatch/plautopatch.tex +++ b/language/japanese/plautopatch/plautopatch.tex @@ -118,6 +118,7 @@ Current version (\filedate\space\fileversion) supports the followings: \ITEMoTo multicol (latex-tools) -> pxmulticol (platex-tools) \ITEMoTo xspace (latex-tools) -> pxxspace (platex-tools) \ITEMxTx textpos -> pxtextpos (maintained here!) +\ITEMxTx eso-pic -> pxesopic (maintained here!) \ITEMxTx pdfpages -> pxpdfpages (maintained here!) \ITEMoTo stfloats (sttools) -> pxstfloats (pxsttools) \ITEMxTx hyperref -> pxjahyper (by Takayuki YATO) @@ -160,6 +161,9 @@ a comma-separated list of them: \item 2020/02/25 v0.9e Add support for \textsf{textpos} \item 2020/05/05 v0.9f Add support for \textsf{collcell} \item 2020/05/25 v0.9g Automatically load \textsf{pxjahyper} + \item 2020/09/13 v0.9h No dependency for \textsf{filehook} on \LaTeXe~2020-10-01 + \item 2020/09/25 v0.9i Do not require \textsf{pxeveryshi} and \textsf{pxatbegshi} + \item 2020/09/27 v0.9j Add support for \textsf{eso-pic} (\LaTeXe~2020-10-01 required) \end{itemize} \end{document} diff --git a/language/japanese/plautopatch/pldocverb.sty b/language/japanese/plautopatch/pldocverb.sty index fc36b14ccd..bd1dcb9c84 100644 --- a/language/japanese/plautopatch/pldocverb.sty +++ b/language/japanese/plautopatch/pldocverb.sty @@ -7,9 +7,9 @@ % % This package is expected to be compatible with % * doc.sty -% (2004/02/09 v2.1b -- 2018/09/25 v2.1i) +% (2004/02/09 v2.1b -- 2020/06/15 v2.1m) % * plcore.ltx in platex -% (2001/09/26 v1.2a -- 2019/02/08 v1.3b) +% (2001/09/26 v1.2a -- 2020/03/05 v1.3e) % %% package declaration diff --git a/language/japanese/plautopatch/plextarydshln.sty b/language/japanese/plautopatch/plextarydshln.sty index ac0059c5e4..2ccdc865ed 100644 --- a/language/japanese/plautopatch/plextarydshln.sty +++ b/language/japanese/plautopatch/plextarydshln.sty @@ -9,7 +9,7 @@ % * arydshln.sty % (2004/08/31 v1.71 -- 2019/02/21 v1.76) % * plext.sty in platex -% (2001/09/26 v1.2 -- 2018/10/07 v1.2k) +% (2001/09/26 v1.2 -- 2019/09/29 v1.2l) % %% package declaration diff --git a/language/japanese/plautopatch/plextcolortbl.sty b/language/japanese/plautopatch/plextcolortbl.sty index 08ae5bd82d..4519b99e24 100644 --- a/language/japanese/plautopatch/plextcolortbl.sty +++ b/language/japanese/plautopatch/plextcolortbl.sty @@ -7,9 +7,9 @@ % % This package is expected to be compatible with % * colortbl.sty -% (2012/06/21 v1.0b -- 2018/12/12 v1.0d) +% (2012/06/21 v1.0b -- 2020/01/04 v1.0e) % * plext.sty in platex -% (2001/09/26 v1.2 -- 2018/10/07 v1.2k) +% (2001/09/26 v1.2 -- 2019/09/29 v1.2l) % %% package declaration diff --git a/language/japanese/plautopatch/pxesopic.sty b/language/japanese/plautopatch/pxesopic.sty new file mode 100644 index 0000000000..f020501e94 --- /dev/null +++ b/language/japanese/plautopatch/pxesopic.sty @@ -0,0 +1,177 @@ +% +% pxesopic.sty +% written by Hironobu Yamashita (@aminophen) +% +% This package is part of the plautopatch bundle. +% https://github.com/aminophen/plautopatch +% +% This package is expected to be compatible with +% * eso-pic.sty +% ????/??/?? v?.? -- 2018/04/12 v2.0h +% +% -------------------------------------------------------------- +% [Note] +% The package ``pxesopic.sty'' relies heavily on internals +% of ``plautopatch.sty'' +% -------------------------------------------------------------- +% + +%% package declaration +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{pxesopic} + [2020/09/27 v0.2a Patch to eso-pic for tombow] + +%% preparations +\def\pxesop@pkgname{pxesopic} +\def\pxesop@error{\PackageError\pxesop@pkgname} +\def\pxesop@warn{\PackageWarningNoLine\pxesop@pkgname} +\let\pxesop@debug\@gobble +\def\pxesop@debug#1{\typeout{\pxesop@pkgname: [DEBUG] #1}}% for debug + +%% hooks +\ifx\declare@file@substitution\@undefined + % LaTeX2e 2020-02-02 PL5 or older + \RequirePackage{filehook} + \let\pxesop@ExecuteAfterPackage=\AtEndOfPackageFile + \let\pxesop@ExecuteBeforePackage=\AtBeginOfPackageFile +\else + % LaTeX2e 2020-10-01 or newer + \def\pxesop@ExecuteAfterPackage#1{\AddToHook{package/after/#1}} + \def\pxesop@ExecuteBeforePackage#1{\AddToHook{package/before/#1}} +\fi + +%% the contents of \AtBeginShipout is dependent on \iftombow; +%% delay execution of \AtBeginShipout inside ``eso-pic.sty'' +%% until \AtBeginDocument, to support both (u)pLaTeX kernel +%% and ``gentombow.sty'' +\RequirePackage{atbegshi}% eso-pic requires atbegshi +\pxesop@ExecuteBeforePackage{eso-pic}{\pxesop@before} +\pxesop@ExecuteAfterPackage{eso-pic}{\pxesop@after} +% +\def\pxesop@before{% + \let\pxesop@AtBeginShipout\AtBeginShipout + \def\AtBeginShipout##1{\def\pxesop@hook{##1}}% hide it + \pxesop@debug{\noexpand\AtBeginShipout disabled}% + \let\pxesop@before\relax +} +\def\pxesop@after{% + \let\AtBeginShipout\pxesop@AtBeginShipout % restore + \let\pxesop@AtBeginShipout\relax + \pxesop@debug{\noexpand\AtBeginShipout restored}% + \let\@unknownoptionerror\relax %% avoid an error + \pxesop@debug{\noexpand\@unknownoptionerror disabled}% + \let\pxesop@after\relax +} +%% + +%% load it; be careful not to cause unknown option error! +\expandafter\ifx\csname @unknownoptionerror\endcsname + \pxesop@error{Failed to save \noexpand\@unknownoptionerror}\@ehc +\fi +\let\pxesop@unknownoptionerror\@unknownoptionerror +% +\chardef\pxesop@status\z@ +\@ifpackageloaded{plautopatch}{% + \expandafter\ifx\csname platpc@begin@eso-pic\endcsname\relax + % ``plautopatch.sty'' is loaded but the macro is \relax + % => means that ``pxesopic.sty'' is automatically loaded + \chardef\pxesop@status\@ne + \fi +}{} +% +%% pass all options to keyval-style ``eso-pic.sty'' +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{eso-pic}} +\ProcessOptions\relax +\RequirePackage{eso-pic} +% +%% recover the error +\ifnum\pxesop@status>\z@ % auto + \def\pxesop@pkgtohook{eso-pic}% + % note that ``plautopatch.sty'' discards the hook + % on LaTeX2e 2020-02-02 PL5 or older + \ifx\declare@file@substitution\@undefined + \let\pxesop@pkgtohook\pxesop@pkgname + % throw an error for unsupported usage + % [FIXME] the error below is actually unnecessary when + % none of ``eso-pic.sty'' options is used; how to detect that? + \pxesop@error{Try loading \pxesop@pkgname\space by hand}\@ehc + \fi +\else + \let\pxesop@pkgtohook\pxesop@pkgname +\fi +\pxesop@ExecuteAfterPackage\pxesop@pkgtohook{% + \let\@unknownoptionerror\pxesop@unknownoptionerror + \pxesop@debug{\noexpand\@unknownoptionerror restored}% +} +%% + +%% delayed to detect \iftombow status +\AtBeginDocument{% + \ifx\tombowtrue\@undefined + \pxesop@warn{Tombow feature unavailable, aborting}% + \fi + \iftombow \pxesop@new \else \pxesop@orig \fi}% +% +%% for \iftombow is FALSE => restore from ``eso-pic.sty'' +\expandafter\def\expandafter\pxesop@orig\expandafter{% + \expandafter\AtBeginShipout\expandafter{\pxesop@hook}} +% +%% for \iftombow is TRUE => redefine by ``pxesopic.sty'' +\def\pxesop@new{% + %% \AtStockLowerLeft: based on TRUE of \ESO@isMEMOIR + \renewcommand\AtStockLowerLeft[1]{% + \begingroup + \@tempdima=-\stockwidth + \advance\@tempdima\paperwidth + \@tempdimb=-\stockheight + \advance\@tempdimb\paperheight + %% specific BEGIN + \advance\@tempdima 1in\relax + \advance\@tempdimb 1in\relax + %% specific END + \AtPageLowerLeft{% + \put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdimb}){##1}% + }% + \endgroup + }% === + %% \AtStockUpperLeft: based on TRUE of \ESO@isMEMOIR + \renewcommand\AtStockUpperLeft[1]{% + \AtStockLowerLeft{% + \put(0,\LenToUnit{\stockheight}){##1}% + }% + }% === + %% \AtStockCenter: based on TRUE of \ESO@isMEMOIR + \renewcommand\AtStockCenter[1]{% + \AtStockLowerLeft{% + \put(\LenToUnit{.5\stockwidth},\LenToUnit{.5\stockheight}){##1}% + }% + }% + %% \AtTextUpperLeft: same as FALSE of \ESO@isMEMOIR + % (no change) + % + %% \AtBeginShipout: based on TRUE of \ESO@isMEMOIR + \AtBeginShipout{% + \@tempdima=\dimexpr(\stockwidth-\paperwidth)/2\relax + \@tempdimb=-\dimexpr(\stockheight+\paperheight)/2\relax + \ifESO@texcoord + \advance\@tempdimb\paperheight % [FIXME] not sure! + \fi + \nointerlineskip + \AtBeginShipoutUpperLeft{% + \put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdimb}){% + \ESO@HookIIIBG\ESO@HookIBG\ESO@HookIIBG + \global\let\ESO@HookIIBG\@empty + }% + }% + \AtBeginShipoutUpperLeftForeground{% + \put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdimb}){% + \ESO@HookIFG\ESO@HookIIFG\ESO@HookIIIFG + \global\let\ESO@HookIIFG\@empty + }% + }% + }% === +} +%% + +\endinput +%% EOF diff --git a/language/japanese/plautopatch/pxpdfpages.sty b/language/japanese/plautopatch/pxpdfpages.sty index 43c8b274e8..36b796cf28 100644 --- a/language/japanese/plautopatch/pxpdfpages.sty +++ b/language/japanese/plautopatch/pxpdfpages.sty @@ -7,9 +7,9 @@ % % This package is expected to be compatible with % * pdfpages.sty -% (2015/07/19 v0.5a -- 2017/10/31 v0.5l) +% (2015/07/19 v0.5a -- 2020/01/28 v0.5q) % * plcore.ltx in platex -% (2001/09/26 v1.2a -- 2018/09/02 v1.3) +% (2001/09/26 v1.2a -- 2020/03/05 v1.3e) % %% package declaration diff --git a/language/japanese/plautopatch/pxpgfrcs.sty b/language/japanese/plautopatch/pxpgfrcs.sty index 578e26de0b..b5508dcf47 100644 --- a/language/japanese/plautopatch/pxpgfrcs.sty +++ b/language/japanese/plautopatch/pxpgfrcs.sty @@ -9,7 +9,7 @@ %% package declaration \NeedsTeXFormat{pLaTeX2e} \ProvidesPackage{pxpgfrcs} - [2018/09/21 v0.1] + [2018/09/21 v0.1 shadings etc in tate class] \RequirePackage{pgfrcs} % Note: I chose the name "pxpgfrcs.sty" diff --git a/language/japanese/plautopatch/pxstfloats.sty b/language/japanese/plautopatch/pxstfloats.sty index fe19974931..2698407f1f 100644 --- a/language/japanese/plautopatch/pxstfloats.sty +++ b/language/japanese/plautopatch/pxstfloats.sty @@ -6,8 +6,9 @@ % for now distributed as part of the plautopatch bundle. % https://github.com/aminophen/plautopatch % -% This package `pxstfloats.sty' is based on: -% * stfloats.sty in sttools (2016/06/28 v3.2) +% This package is expected to be compatible with +% * stfloats.sty in sttools +% 2012/05/29 v1.1 -- 2017/03/27 v3.3 % Many thanks to lltjp-stfloats.sty in LuaTeX-ja project. % diff --git a/language/japanese/plautopatch/pxtextpos.sty b/language/japanese/plautopatch/pxtextpos.sty index 439005987e..c6e7cf5fe0 100644 --- a/language/japanese/plautopatch/pxtextpos.sty +++ b/language/japanese/plautopatch/pxtextpos.sty @@ -13,7 +13,7 @@ %% package declaration \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{pxtextpos} - [2019/11/17 v0.2a Patch to textpos for (u)pLaTeX] + [2019/11/17 v0.2a Patch to textpos for tombow] %% preparations \def\pxtxtpos@pkgname{pxtextpos} diff --git a/language/japanese/pxjahyper/README-ja.md b/language/japanese/pxjahyper/README-ja.md index 1e61d70fc3..2e79a6d60c 100644 --- a/language/japanese/pxjahyper/README-ja.md +++ b/language/japanese/pxjahyper/README-ja.md @@ -41,6 +41,9 @@ pxjahyper パッケージ ー 本体 更新履歴 -------- + * Version 0.5a 〈2020/09/27〉 + - LaTeX カーネル 2020/10/01 版への対応。 + * Version 0.5 〈2020/06/13〉 - `otfmacros` オプションを正式にサポート。 - `disablecmds` オプションを追加。 diff --git a/language/japanese/pxjahyper/README.md b/language/japanese/pxjahyper/README.md index b1d28bca54..5b574a4526 100644 --- a/language/japanese/pxjahyper/README.md +++ b/language/japanese/pxjahyper/README.md @@ -42,6 +42,7 @@ Please refer to the manual `pxjahyper.pdf` (in Japanese) for detail. Revision History ---------------- + * Version 0.5a 〈2020/09/27〉 * Version 0.5 〈2020/06/13〉 * Version 0.4b 〈2020/04/24〉 * Version 0.4a 〈2019/11/23〉 diff --git a/language/japanese/pxjahyper/pxjahyper-ajm.def b/language/japanese/pxjahyper/pxjahyper-ajm.def index 288f320997..48b6e14216 100644 --- a/language/japanese/pxjahyper/pxjahyper-ajm.def +++ b/language/japanese/pxjahyper/pxjahyper-ajm.def @@ -11,7 +11,7 @@ %% package declaration \NeedsTeXFormat{pLaTeX2e} -\ProvidesFile{pxjahyper-ajm.def}[2020/06/13 v0.5] +\ProvidesFile{pxjahyper-ajm.def}[2020/09/27 v0.5a] %% avoid multiple loading \csname pxjahyperajmLoaded\endcsname diff --git a/language/japanese/pxjahyper/pxjahyper.pdf b/language/japanese/pxjahyper/pxjahyper.pdf index 9d164d0fda..0f5ecfe408 100644 Binary files a/language/japanese/pxjahyper/pxjahyper.pdf and b/language/japanese/pxjahyper/pxjahyper.pdf differ diff --git a/language/japanese/pxjahyper/pxjahyper.sty b/language/japanese/pxjahyper/pxjahyper.sty index 4d83b2a351..120cc9697e 100644 --- a/language/japanese/pxjahyper/pxjahyper.sty +++ b/language/japanese/pxjahyper/pxjahyper.sty @@ -10,7 +10,7 @@ %% package declaration \NeedsTeXFormat{pLaTeX2e} -\ProvidesPackage{pxjahyper}[2020/06/13 v0.5] +\ProvidesPackage{pxjahyper}[2020/09/27 v0.5a] %% error messages \def\pxhy@pkgname{pxjahyper} @@ -246,6 +246,7 @@ pxhy@driver = \the\pxhy@driver^^J% \let\pxhy@mk\indent % unexpandable %% \pxhy@out@special{} +\ifx\AddToHook\@undefined %------- without hook system \def\pxhy@out@special#1{% \begingroup \toks\z@{\special{#1}}% @@ -253,6 +254,13 @@ pxhy@driver = \the\pxhy@driver^^J% \xdef\AtBegShi@HookFirst{\the\toks@\the\toks\tw@}% \endgroup } +\else %------- with hook system +\def\pxhy@out@special#1{% + \AddToHook{shipout/firstpage}[./urgent]{\special{#1}}% +} +\DeclareHookRule{shipout/firstpage}{./urgent}{<}{hyperref} +\DeclareHookRule{shipout/firstpage}{.}{>}{hyperref} +\fi %% \pxhy@get@jchar{} % Let \pxhy@jchar a macro expanding to a single jchar token diff --git a/language/japanese/pxjahyper/pxjahyper.tex b/language/japanese/pxjahyper/pxjahyper.tex index e7387f2386..0606701516 100644 --- a/language/japanese/pxjahyper/pxjahyper.tex +++ b/language/japanese/pxjahyper/pxjahyper.tex @@ -6,8 +6,8 @@ \MakeShortVerb{\|} \usepackage{bxtexlogo} \bxtexlogoimport{*} -\newcommand{\PkgVersion}{0.5} -\newcommand{\PkgDate}{2020/06/13} +\newcommand{\PkgVersion}{0.5a} +\newcommand{\PkgDate}{2020/09/27} \newcommand{\Pkg}[1]{\textsf{#1}} \newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$} \newcommand{\Note}{\par\noindent ※} -- cgit v1.2.3