texlive2023を使っています。tlmgr updateを定期的にしていますが、最近(おそらく1週間以内?)、タイプセットできなくなりました。私だけでしょうか?なにか情報があればお教えください。よろしくお願いします。
% cat test.tex
\documentclass{article}
\begin{document}
test
\end{document}
% eptex -progname=platex test.tex
This is e-pTeX, Version 3.141592653-p4.1.0-230214-2.6 (utf8.euc) (TeX Live 2023) (preloaded format=platex)
restricted \write18 enabled.
entering extended mode
(./test.tex(guessed encoding #3: ASCII = utf8)
pLaTeX2e <2023-02-14>+1 (based on LaTeX2e <2022-11-01> patch level 1)
L3 programming layer <2023-02-22>
(/usr/local/texlive/2023/texmf-dist/tex/latex/base/article.cls(guessed encoding #5: ASCII = utf8)
Document Class: article 2023/05/17 v1.4n Standard LaTeX document class
(/usr/local/texlive/2023/texmf-dist/tex/latex/base/size10.clo(guessed encoding #6: ASCII = utf8)))
(/usr/local/texlive/2023/texmf-dist/tex/latex/l3backend/l3backend-dvips.def(guessed encoding #5: ASCII = utf8)
! Undefined control sequence.
l.101 \cs_new:Npe
\__color_backend_devicen_colorants:n #1
?
2023 年 6 月に,pLaTeX は e-upTeX エンジン(の,内部コードが EUC/Shift_JIS の状態)で動くことになりました.
% $ platex test
This is e-upTeX, Version 3.141592653-p4.1.0-u1.29-230214-2.6 (utf8.euc) (TeX Live 2024) (preloaded format=platex)
restricted \write18 enabled.
...
そのため,eptex ではなく euptex を呼び出すことにすると良いと思います.
% euptex -progname=platex test
This is e-upTeX, Version 3.141592653-p4.1.0-u1.29-230214-2.6 (utf8.uptex) (TeX Live 2024) (preloaded format=platex)
restricted \write18 enabled.
Kanji internal encoding incompatible with the preloaded format.
I'll stick to euc.
entering extended mode
(./test.tex(guessed encoding #3: ASCII = utf8)
pLaTeX2e <2023-02-14>+1, based on
LaTeX2e <2023-06-01> patch level 1
L3 programming layer <2023-10-10>
...
Output written on test.dvi (1 page, 248 bytes).
Transcript written on test.log.
% $ platex test
This is e-upTeX, Version 3.141592653-p4.1.0-u1.29-230214-2.6 (utf8.euc) (TeX Live 2024) (preloaded format=platex)
restricted \write18 enabled.
...
そのため,eptex ではなく euptex を呼び出すことにすると良いと思います.
% euptex -progname=platex test
This is e-upTeX, Version 3.141592653-p4.1.0-u1.29-230214-2.6 (utf8.uptex) (TeX Live 2024) (preloaded format=platex)
restricted \write18 enabled.
Kanji internal encoding incompatible with the preloaded format.
I'll stick to euc.
entering extended mode
(./test.tex(guessed encoding #3: ASCII = utf8)
pLaTeX2e <2023-02-14>+1, based on
LaTeX2e <2023-06-01> patch level 1
L3 programming layer <2023-10-10>
...
Output written on test.dvi (1 page, 248 bytes).
Transcript written on test.log.
ありがとうございます。typesetできました。直らない場合長年のTeXShopの設定をあちこちのPCで変更して回ることになりそうです。
検索すると、昨日のstackoverflowにも似たような質問がありました。
https://github.com/rstudio/tinytex/issues/424#issuecomment-1761658222
https://stackoverflow.com/questions/77291118/tinytex-or-knitr-error-undefined-control-sequence-l-128-cs-newnpe-color
https://stackoverflow.com/questions/77290665/did-i-break-r-markdown-every-file-i-try-gives-the-error-undefined-control-se
検索すると、昨日のstackoverflowにも似たような質問がありました。
https://github.com/rstudio/tinytex/issues/424#issuecomment-1761658222
https://stackoverflow.com/questions/77291118/tinytex-or-knitr-error-undefined-control-sequence-l-128-cs-newnpe-color
https://stackoverflow.com/questions/77290665/did-i-break-r-markdown-every-file-i-try-gives-the-error-undefined-control-se
でびまる といいます。本題からは外れますが
> 2023 年 6 月に,pLaTeX は e-upTeX エンジン(の,内部コードが EUC/Shift_JIS の状態)で動くことになりました.
ここだけに反応します。現状では pTeX と upTeX の並列的な開発がされていますが
pTeX の当初の開発陣は既に(かなり以前から)活動してない様です。
また upTeX は pTeX の上位互換であり、既に実用的に pTeX と同じレベルになってると思います。
こういう状況なので開発は upTeX だけにして pTeX は現状に凍結するような形でも良いのではないでしょうか。
> 2023 年 6 月に,pLaTeX は e-upTeX エンジン(の,内部コードが EUC/Shift_JIS の状態)で動くことになりました.
ここだけに反応します。現状では pTeX と upTeX の並列的な開発がされていますが
pTeX の当初の開発陣は既に(かなり以前から)活動してない様です。
また upTeX は pTeX の上位互換であり、既に実用的に pTeX と同じレベルになってると思います。
こういう状況なので開発は upTeX だけにして pTeX は現状に凍結するような形でも良いのではないでしょうか。
ptex, eptex, uptex, euptex の4個のバイナリがすべて存在する状態が長く続いており、そろそろ整理統合したい、という話は 2017年頃から議論されています。
https://github.com/texjporg/tex-jp-build/issues/32
TeX Live 2023は、pLaTeX も euptex エンジン(の,内部コードが EUC/Shift_JIS の状態)で動くようにしよう、と活動していましたが 2023年6月にずれ込みました、
というのが現状です。バイナリはeuptexエンジン一つに統合し、ptex, eptex, uptexはエイリアスにする方針で活動中です。やっとここまで来た、という感じです。
実際、内部のソースコードの構成は、日本語化の主要部分の機能は pTeX が持ち、文字コードのUnicode拡張( upTeX ), さらにe-TeX 拡張 ( epTeX, eupTeX ) という
つくり自体は何も変わっていません。
なので、組版の機能に関する部分、unicode化に関する部分、e-TeX拡張に関する部分、それぞれで触るソースコードが異なる状況です。
pTeXだけを凍結するのはかえって難しい構造になっています。
pTeXだけを凍結する、というイメージはあまりなくて、全部まとめてメンテナンスできるようにするイメージです。
https://github.com/texjporg/tex-jp-build/issues/32
TeX Live 2023は、pLaTeX も euptex エンジン(の,内部コードが EUC/Shift_JIS の状態)で動くようにしよう、と活動していましたが 2023年6月にずれ込みました、
というのが現状です。バイナリはeuptexエンジン一つに統合し、ptex, eptex, uptexはエイリアスにする方針で活動中です。やっとここまで来た、という感じです。
実際、内部のソースコードの構成は、日本語化の主要部分の機能は pTeX が持ち、文字コードのUnicode拡張( upTeX ), さらにe-TeX 拡張 ( epTeX, eupTeX ) という
つくり自体は何も変わっていません。
なので、組版の機能に関する部分、unicode化に関する部分、e-TeX拡張に関する部分、それぞれで触るソースコードが異なる状況です。
pTeXだけを凍結するのはかえって難しい構造になっています。
pTeXだけを凍結する、というイメージはあまりなくて、全部まとめてメンテナンスできるようにするイメージです。
返信ありがとうございました。
> https://github.com/texjporg/tex-jp-build/issues/32
とても興味深く読ませていただきました(が理解できかね時間かかってしまいました)。
そこでのやりとりで etex 拡張について
* eptex/euptex はそれぞれ ptex/uptex の上位互換である(ので)
ptex => eptex,uptex => euptex のエイリアスで済ませることはできないだろうか?
* ptex => eptex,uptex => euptex のエイリアスも不要で、ptex, uptexにetexの機能を入れてしまえばよい
の様な話がありますが、これをまねて unicode 拡張についても平行して考えれば
ptex/platex は倉庫に入れておいて表には uptex/uplatex (e も付けておいて)
だけでも良さそう(ラフな言い方ですが)と思ったのですが、それは「かえって難しい」という状況ということでしょうか。了解しました。(反応遅く申し訳ありません)
> https://github.com/texjporg/tex-jp-build/issues/32
とても興味深く読ませていただきました(が理解できかね時間かかってしまいました)。
そこでのやりとりで etex 拡張について
* eptex/euptex はそれぞれ ptex/uptex の上位互換である(ので)
ptex => eptex,uptex => euptex のエイリアスで済ませることはできないだろうか?
* ptex => eptex,uptex => euptex のエイリアスも不要で、ptex, uptexにetexの機能を入れてしまえばよい
の様な話がありますが、これをまねて unicode 拡張についても平行して考えれば
ptex/platex は倉庫に入れておいて表には uptex/uplatex (e も付けておいて)
だけでも良さそう(ラフな言い方ですが)と思ったのですが、それは「かえって難しい」という状況ということでしょうか。了解しました。(反応遅く申し訳ありません)
話がかみあっているようないないような、半端なもやもやした感じなのでもう少し続けてみます。
異論反論というわけではなく、開発側の悩みもあるし、多様なアイディアやヒントが得られるかもしれないと思いつつ。
githubでの議論で、バイナリやソースコードを整理統合しよう、という方向性は一致しているものの、唯一の正解があるわけでもなく、今の方向を選択している状況です。なので、「別の方針があったのでは?」のような論はあり得ると思います。
バイナリは、最終的にひとつにまとめる方向です。
ソースコードは、おそらく、ざっくり言って
( ( ( tex.web + tex.ch + ptex が生成できるチェンジファイル ) + uptex が生成できるチェンジファイル ) + euptex が生成できるチェンジファイル )
みたいな構成になると思います。
ptex のバイナリは既に TeX Live 2023では消えています。(これは倉庫に入ったことになる?)
ptex のエイリアスは残す方針です。ptex というコマンドを消す予定はありません。
なので、ユーザーから見て ptex は今後も動きますが、実体は ptex ではなく 「euptex (の ptex互換モード) 」になります。
で、「euptex (の ptex互換モード) 」を使った場合、( tex.web + tex.ch + ptex が生成できるチェンジファイル ) の部分を使うことになります。
それは、euptex の一部でもあるし、もとの ptex とほぼ変わらないとも言えます。
( tex.web + tex.ch + ptex が生成できるチェンジファイル ) で作ったバイナリ ( ptex そのもの ) はすでに消してあります。
こういう状態は「ptex が倉庫に入った」状態なのか、よく分かりません。
現在もエイリアスであるとはいえptex ほぼそのものを使っているとも言えるし、ptex のバイナリーはお蔵入りしているとも言えるように思います。
euptex の日本語組版に関するメンテナンスをする場合、(ptex が生成できるチェンジファイル) を変更することになります。
こういう状態を指して「ptex が倉庫に入った」と称していいのか、ぴんときません。
どちらかというと、私の感覚では ptex は euptex の体内でばりばり働いている臓器のようなイメージです。表から見えなくても現役バリバリです。止まると死んでしまいます。
なので倉庫に入れられていない感じです。感覚の話ですが。
「ptex/platex は倉庫に入れて」の意味は、
(1) ptex (拡張機能無し)のバイナリは用意しない
(2) コマンドとしてもデフォルトは用意しない
(3) 文字コード SJIS/EUC にまつわる機能はメンテナンスしない
(4) その他
いろいろ考えられると思います。
私の考えは、
(1)の意味ではすでに実現「倉庫に入っている」(バイナリは用意しない)
(2)の意味では「倉庫に入れない」(今後もエイリアスとしてデフォルトで用意する)
(3)の意味では「倉庫に入れる」(今後はメンテナンスしない)
(4)何があるのか思いつかない
といったところです。
ただ、(3)の路線は異論が多いと予想しています。
すれ違っているようなので、追加コメントでした。
異論反論というわけではなく、開発側の悩みもあるし、多様なアイディアやヒントが得られるかもしれないと思いつつ。
githubでの議論で、バイナリやソースコードを整理統合しよう、という方向性は一致しているものの、唯一の正解があるわけでもなく、今の方向を選択している状況です。なので、「別の方針があったのでは?」のような論はあり得ると思います。
バイナリは、最終的にひとつにまとめる方向です。
ソースコードは、おそらく、ざっくり言って
( ( ( tex.web + tex.ch + ptex が生成できるチェンジファイル ) + uptex が生成できるチェンジファイル ) + euptex が生成できるチェンジファイル )
みたいな構成になると思います。
ptex のバイナリは既に TeX Live 2023では消えています。(これは倉庫に入ったことになる?)
ptex のエイリアスは残す方針です。ptex というコマンドを消す予定はありません。
なので、ユーザーから見て ptex は今後も動きますが、実体は ptex ではなく 「euptex (の ptex互換モード) 」になります。
で、「euptex (の ptex互換モード) 」を使った場合、( tex.web + tex.ch + ptex が生成できるチェンジファイル ) の部分を使うことになります。
それは、euptex の一部でもあるし、もとの ptex とほぼ変わらないとも言えます。
( tex.web + tex.ch + ptex が生成できるチェンジファイル ) で作ったバイナリ ( ptex そのもの ) はすでに消してあります。
こういう状態は「ptex が倉庫に入った」状態なのか、よく分かりません。
現在もエイリアスであるとはいえptex ほぼそのものを使っているとも言えるし、ptex のバイナリーはお蔵入りしているとも言えるように思います。
euptex の日本語組版に関するメンテナンスをする場合、(ptex が生成できるチェンジファイル) を変更することになります。
こういう状態を指して「ptex が倉庫に入った」と称していいのか、ぴんときません。
どちらかというと、私の感覚では ptex は euptex の体内でばりばり働いている臓器のようなイメージです。表から見えなくても現役バリバリです。止まると死んでしまいます。
なので倉庫に入れられていない感じです。感覚の話ですが。
「ptex/platex は倉庫に入れて」の意味は、
(1) ptex (拡張機能無し)のバイナリは用意しない
(2) コマンドとしてもデフォルトは用意しない
(3) 文字コード SJIS/EUC にまつわる機能はメンテナンスしない
(4) その他
いろいろ考えられると思います。
私の考えは、
(1)の意味ではすでに実現「倉庫に入っている」(バイナリは用意しない)
(2)の意味では「倉庫に入れない」(今後もエイリアスとしてデフォルトで用意する)
(3)の意味では「倉庫に入れる」(今後はメンテナンスしない)
(4)何があるのか思いつかない
といったところです。
ただ、(3)の路線は異論が多いと予想しています。
すれ違っているようなので、追加コメントでした。
多分開発者さん側の意識とユーザー側の意識の違いが、もやもや、の原因なのかも分りません。以下ちょっと明確でないのは承知の上で pTeX、upTeX を使ってます。
話を単純にすると、pTeX は上位互換な upTeX が開発されたので置き換える、で済むのですが
TeX の性格上 pTeX を削除するのは無理があるので両者共存になるのは理解できます。
ただ何らかの方法で pTeX は obsolete で現役なのは upTeX と明示できる方が良いのではないかと思いました。
その方法として最初は「凍結」を使ってみたけど、それはかえって難しくなりそうなので、実際どうするのかはおいておきイメージとして曖昧に「倉庫に入れる」と表現したというところです。
(なので「倉庫に入れる」は軽い意味です)
現実に倉庫に入れる方法には、過激な方法から穏かな方法まで色々考えられると思いますが、例えば
やや過激な方向に振ってみるなら pTeX はメインな TeXLive から TLContrib に移動するとかまあ色々考えられるかと思います。
> 「ptex/platex は倉庫に入れて」の意味は、
> (1) ptex (拡張機能無し)のバイナリは用意しない
> (2) コマンドとしてもデフォルトは用意しない
> (3) 文字コード SJIS/EUC にまつわる機能はメンテナンスしない
> (4) その他
上の様に元々曖昧な意味なのですが、上の TLContrib の例の様に(2)が想定に近いと思います。
更に誤解してなければ(3)も想定に近いです。時間かけても整理しきれてませんがこんな所です。
話を単純にすると、pTeX は上位互換な upTeX が開発されたので置き換える、で済むのですが
TeX の性格上 pTeX を削除するのは無理があるので両者共存になるのは理解できます。
ただ何らかの方法で pTeX は obsolete で現役なのは upTeX と明示できる方が良いのではないかと思いました。
その方法として最初は「凍結」を使ってみたけど、それはかえって難しくなりそうなので、実際どうするのかはおいておきイメージとして曖昧に「倉庫に入れる」と表現したというところです。
(なので「倉庫に入れる」は軽い意味です)
現実に倉庫に入れる方法には、過激な方法から穏かな方法まで色々考えられると思いますが、例えば
やや過激な方向に振ってみるなら pTeX はメインな TeXLive から TLContrib に移動するとかまあ色々考えられるかと思います。
> 「ptex/platex は倉庫に入れて」の意味は、
> (1) ptex (拡張機能無し)のバイナリは用意しない
> (2) コマンドとしてもデフォルトは用意しない
> (3) 文字コード SJIS/EUC にまつわる機能はメンテナンスしない
> (4) その他
上の様に元々曖昧な意味なのですが、上の TLContrib の例の様に(2)が想定に近いと思います。
更に誤解してなければ(3)も想定に近いです。時間かけても整理しきれてませんがこんな所です。