ptexenc のアレ?を試してみる
この記事は、サブブログの 2016-02-17 投稿記事を移転してきたものです。
あべのりさんのを実験。ここでは e-pTeX ではなく pTeX を使ってみた。
file-0.tex
\newcount\filenum \filenum0 (\the\filenum) \advance\filenum1 \input file-\the\filenum.tex \bye
file-1.tex
(\the\filenum) \advance\filenum1 \input file-\the\filenum.tex \bye
file-50.tex
(\the\filenum) \advance\filenum1 \bye
copyfiles.sh
#/bin/sh for i in {2..49} do cp file-1.tex file-$i.tex done
そして ./copyfiles.sh を実行して file-1.tex を file-2.tex から file-49.tex としてコピーを作成。これで、file-0.tex をコンパイルすると file-1.tex から file-50.tex までが読み込まれる。期待される結果は「(0) から (50) までの数字が DVI に並ぶ」。
W32TeX [2012/11/04]
> set max_in_open=99 > ptex file-0 This is pTeX, Version 3.1415926-p3.3 (sjis) (TeX Live 2012/W32TeX) restricted \write18 enabled. (./file-0.tex (./file-1.tex (./file-2.tex (./file-3.tex (./file-4.tex (./file-5.tex (./file-6.tex (./file-7.tex (./file-8.tex (./file-9.tex (./file-10.tex (./file-11.tex (./file-12.tex (./file-13.tex (./file-14.tex (./file-15.tex (./file-16.tex (./file-17.tex (./file-18.tex (./file-19.tex (./file-20.tex (./file-21.tex (./file-22.tex (./file-23.tex (./file-24.tex (./file-25.tex (./file-26.tex ! TeX capacity exceeded, sorry [main memory size=3000000]. l.374194 ^^@^^@^^@(\the\filenum) If you really absolutely need more capacity, you can ask a wizard to enlarge me. No pages of output.
27個目のファイルを読もうとして main memory size を超過。よくみると…えっ、l.374194? そんなに行はないはずなのだが…
W32TeX [2014/11/08]
> set max_in_open=99 > ptex file-0 This is pTeX, Version 3.14159265-p3.5 (sjis) (TeX Live 2014/W32TeX) restricted \write18 enabled. (./file-0.tex (./file-1.tex (./file-2.tex (./file-3.tex (./file-4.tex (./file-5.tex (./file-6.tex (./file-7.tex (./file-8.tex (./file-9.tex (./file-10.tex (./file-11.tex (./file-12.tex (./file-13.tex (./file-14.tex (./file-15.tex (./file-16.tex (./file-17.tex (./file-18.tex (./file-19.tex (./file-20.tex
固まった。Ctrl + C でも止まらず、タスクマネージャで kill した。
TeX Live 2012 (Cygwin)
$ export max_in_open=99 $ ptex file-0 This is pTeX, Version 3.1415926-p3.3 (utf8.euc) (TeX Live 2012) restricted \write18 enabled. (./file-0.tex (./file-1.tex (./file-2.tex (./file-3.tex (./file-4.tex (./file-5.tex (./file-6.tex (./file-7.tex (./file-8.tex (./file-9.tex (./file-10.tex (./file-11.tex (./file-12.tex (./file-13.tex (./file-14.tex (./file-15.tex (./file-16.tex (./file-17.tex (./file-18.tex (./file-19.tex (./file-20.tex (./file-21.tex (./file-22.tex (./file-23.tex (./file-24.tex (./file-25.tex (./file-26.tex (./file-27.tex (./file-28.tex (./file-29.tex (./file-30.tex (./file-31.tex (./file-32.tex (./file-33.tex (./file-34.tex (./file-35.tex (./file-36.tex (./file-37.tex (./file-38.tex (./file-39.tex (./file-40.tex (./file-41.tex (./file-42.tex (./file-43.tex (./file-44.tex (./file-45.tex (./file-46.tex (./file-47.tex (./file-48.tex (./file-49.tex (./file-50.tex [1] ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) Output written on file-0.dvi (1 page, 756 bytes). Transcript written on file-0.log.
正常終了。出力も期待どおり。
TeX Live 2015 (OS X)
$ export max_in_open=99 $ ptex file-0 This is pTeX, Version 3.14159265-p3.6 (utf8.euc) (TeX Live 2015) restricted \write18 enabled. (./file-0.tex (./file-1.tex (./file-2.tex (./file-3.tex (./file-4.tex (./file-5.tex (./file-6.tex (./file-7.tex (./file-8.tex (./file-9.tex (./file-10.tex (./file-11.tex (./file-12.tex (./file-13.tex (./file-14.tex (./file-15.tex (./file-16.tex (./file-17.tex (./file-18.tex (./file-19.tex (./file-20.tex (./file-21.tex (./file-22.tex (./file-23.tex (./file-24.tex (./file-25.tex (./file-26.tex (./file-27.tex (./file-28.tex (./file-29.tex (./file-30.tex (./file-31.tex (./file-32.tex (./file-33.tex (./file-34.tex (./file-35.tex (./file-36.tex (./file-37.tex (./file-38.tex (./file-39.tex (./file-40.tex (./file-41.tex (./file-42.tex (./file-43.tex (./file-44.tex (./file-45.tex (./file-46.tex (./file-47.tex (./file-48.tex (./file-49.tex (./file-50.tex [1] ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) Output written on file-0.dvi (1 page, 756 bytes). Transcript written on file-0.log.
正常終了。出力も期待どおり。
あべのりさんのところで「(20)の前と最後にΛがふたつ並んでいる」というのは Computer Modern でいくと End Of Text (^C) の制御コードにあたる。MinGW でビルドしたもので起きたそうなので、ビルドしてみるか…
追記 (2016-03-01):TeX Live r39901 でとりあえず OPEN_MAX = 132
に設定する応急処置が入ったので、この問題は(見かけ上?)起こらなくなった。