platex でdtxファイルを書いていて
\DescribeMacro コマンドが使えないトラブルに遭遇しました.
2023年2月9日にTeXLiveを更新していて, 2月23日の朝まで使っていました.
その後TeXLiveを更新して, 仕事を終えたのですが,
夜になると同じファイルのコンパイルができなくなっていました.
別のdtxファイルも調べた結果, コンパイルできない理由はdtxファイル以外だと判明しました.
行を消すなどして調べたところ,
\marginparコマンドでもトラブルが出ていることが判明しました.
TeXShopのpdflatex (実体はlualatex)に変えたところ, トラブルが消えましたので,
platexの方のトラブルと考えて, エラーの同定を試みました.
添付ファイルはlualatexで正常コンパイル, platexとuplatexでコンパイル失敗となります.
エラーメッセージも採取して入れておきました.
当面の対応策とエラーの報告先を教えていただければ幸いです.
対応の仕方ですが, 日本語latexを仕事で使っていて,
質問を受けた点などをマージンにコメントして, 調べ物をして, 仕事を進めて,
マージンのコメントを消すというサイクルに助けられています.
こちらは, 全体が日本語ファイルですので, 日本語関係のパッケージによる解決も可です.
速度面の事情とルビの関係でlualatexへの移行は当面無理です.
dtxファイルの方は国際対応としたいため, 英語が多いのですが,
TeXShopのデフォールトのコンパイラーをplatexのままにしておきたいという事情があります.
それでも, dtxファイルは日本語関係のパッケージの使い方を知らない配布先に配慮したいと思います.
現状, 英語ファイルを基にして,
そのときそのとき使用する部分だけ日本語に翻訳しながら使用する作業もあります.
他の人の英語ファイルに数行を加えて, platex (uplatex)で使用する形の対応も必要です.
> 当面の対応策とエラーの報告先を教えていただければ幸いです.
・ 当面の対応策としては、platexrelease を使って 2023/02/14 よりも前に巻き戻す、とかでしょうか。
・ 報告先は多分、配布元である Japanese TeX Development Community なのでしょう。
参考:
・ \ProvidesFile{plcore.dtx}[2023/02/14 v1.3m pLaTeX core file]
・ \changes{v1.3m}{2023/02/14}{フロート環境内での組方向変更をplextに誘導}
・ https://github.com/texjporg/platex/issues/95
・ 当面の対応策としては、platexrelease を使って 2023/02/14 よりも前に巻き戻す、とかでしょうか。
・ 報告先は多分、配布元である Japanese TeX Development Community なのでしょう。
参考:
・ \ProvidesFile{plcore.dtx}[2023/02/14 v1.3m pLaTeX core file]
・ \changes{v1.3m}{2023/02/14}{フロート環境内での組方向変更をplextに誘導}
・ https://github.com/texjporg/platex/issues/95
* closure.texに
\RequirePackage[2022/02/13]{platexrelease}
\input{platex-fail-marginpar.tex}
と記載して, closure.texをコンパイルすると, ソースに手を加えずにコンパイルすることができました.
* v1.3mの該当部分を見ましたが, デバッグは私の知識を超えています. \marginparコマンドを書き変える対応では不足だということは理解できました.
念の為, \meaningを使って\marginparコマンドをlualatexとplatexで比較したのですが, 同じコードのようです.
\tateコマンドを使ってもやはりエラーがでることも確認しました.
2023/02/14から, \marginparや\DescribeMacroが横組の書類でも縦組の書類でも全く使えない状態ということだと, 小手先の対策は無理だと思います.
小手先の対策としては, 縦組対応のコードをイネーブルするスイッチを日本語文書クラスでオンにするか, 縦組関係の最初のauthorコマンドでオンにするということを考えていました.
しかし, 縦組でもエラーが出るとなると小手先の対応は良くないように思えます.
\RequirePackage[2022/02/13]{platexrelease}
\input{platex-fail-marginpar.tex}
と記載して, closure.texをコンパイルすると, ソースに手を加えずにコンパイルすることができました.
* v1.3mの該当部分を見ましたが, デバッグは私の知識を超えています. \marginparコマンドを書き変える対応では不足だということは理解できました.
念の為, \meaningを使って\marginparコマンドをlualatexとplatexで比較したのですが, 同じコードのようです.
\tateコマンドを使ってもやはりエラーがでることも確認しました.
2023/02/14から, \marginparや\DescribeMacroが横組の書類でも縦組の書類でも全く使えない状態ということだと, 小手先の対策は無理だと思います.
小手先の対策としては, 縦組対応のコードをイネーブルするスイッチを日本語文書クラスでオンにするか, 縦組関係の最初のauthorコマンドでオンにするということを考えていました.
しかし, 縦組でもエラーが出るとなると小手先の対応は良くないように思えます.