「TeX capacity exceeded」について

「TeX capacity exceeded」について

- y. tabata の投稿
返信数: 13
初めての投稿となります。
よろしくお願いします。
先日から新しいPCの環境整備をしているのですが、新しい環境下(TeX Live2024)でコンパイルがうまくいかずに困っています。
具体的には以下のようなエラーメッセージが表示されます。

TeX capacity exceeded, sorry [parameter stack size=32767].

ネットの情報を参考にして、「texmf.cnf」の中にあるmain memoryの値などを変えてみましたが結果変わらず...
コンパイルした文章については、以前使っていたPC(TeX Live2023)の時は正常にコンパイルできました。
解決方法をご存じの方がいらっしゃればお力添えをいただきたいです。


y. tabata への返信

Re: 「TeX capacity exceeded」について

- 和田 勇 の投稿

追加情報の提供依頼

原因追究のため、以下の情報を提供してください。

  • 再現ソースファイル

    問題が再現するソースファイルが望ましいのですが、研究上・業務上などの 都合でそのまま公開できない場合は、質問のしかた を参考に発生するソー スを作成し、それを添付ファイルとしてアップロードしてください。

  • 再現ソースファイルで処理した際に生成される .log ファイル

  • .log ファイルでもある程度推測できますが実行環境を教えてください。
    • OS は Windows? macOS? linux(ubuntu, debian)?
    • 処理に利用するエンジンは?
      • [ ] platex / ptex2pdf -l
      • [ ] uplatex / ptex2pdf -l -u
      • [ ] lualatex
      • [ ] xelatex
      • [ ] そのほかの場合はその名称
和田 勇 への返信

Re: 「TeX capacity exceeded」について

- y. tabata の投稿
和田様

返信いただきありがとうございます。
ソースファイルとlogファイルを添付しました。
実行環境はWindows11、処理エンジンはplatexです。
y. tabata への返信

Re: 「TeX capacity exceeded」について

- 和田 勇 の投稿
  • 2024年度春休み特訓確認テスト3.tex の 44 行目 で \begin{flushright とミスコーディングされていますが、件 TeX capacity exceeded のメッセージは表示されません。
  • それを修正して実行しても正常に処理されます。
  • 2024年度春休み特訓確認テスト3 - コピー (2).log は 2023 のもののようで、 件 TeX capacity exceeded のメッセージ の記録がありません。
  • 以上から、再度 再現ソース の作成とその提供をお願いいたします
和田 勇 への返信

Re: 「TeX capacity exceeded」について

- y. tabata の投稿
和田様

申し訳ありません。
再度添付しました。
44 行目 の \begin{flushrightのタイプミスについてですが、訂正しましたが結果変わらずです。
y. tabata への返信

Re: 「TeX capacity exceeded」について

- 和田 勇 の投稿
  • お詫びです  - .log の冒頭のなにやら日本語ファイル名が文字化けしているのをみて私の検証方法が間違っていたことに気がつきました。
  • 私は platex ではなく platex ソースをpdf まで自動で作成するラッパー ptex2pdf -l で行っていました。
  • ptex2pdf -l で処理する分には問題ないのですが、直に platex で処理すると冒頭の日本語文字化けでエラーストップ
    • y.tabata 様はおそらく latexmkllmk などのラッパーを使って、エラーを無視するようにしているので件のメッセージが出力されているとおもいます。
  • ptex2pdf -l で通るのに platex でエラーになる件については https://okumuralab.org/tex/mod/forum/discuss.php?d=3744&parent=23384 に関連はしているかとおもいますが
    • その対処として https://okumuralab.org/tex/mod/forum/discuss.php?d=3744&parent=23385 を処置しても改善されません
    • ソースファイル名から日本語文字列を除去すると platex でも通ります。
  • 以上から暫定処置ですが ptex2pdf -l の利用を検討お願いします。
  • TODO platex 直でも正常できる方法や抜本的な対策の検討
和田 勇 への返信

Re: 「TeX capacity exceeded」について

- 和田 勇 の投稿
和田 勇 への返信

Re: 「TeX capacity exceeded」について

- y. tabata の投稿
和田様

いろいろ検証してくださり本当にありがとうございます。
先ほど投稿されていた内容を試したところ、無事にコンパイルできるようになりました。
和田 勇 への返信

Re: 「TeX capacity exceeded」について

- 井汲 景太 の投稿
log を見ると、.aux ファイルを読み込んでいるので、おそらく .aux の日本語コードと platex の期待する日本語コードが合わなくなって正常に動作しなくなっているのだと思います。(時々遭遇する現象です)
すでに解決されているようですが、.aux ファイルを消して .tex ファイルだけにしてからタイプセットを始めていれば問題なく処理できていた可能性があります。
井汲 景太 への返信

Re: 「TeX capacity exceeded」について

- 和田 勇 の投稿

.aux を削除して再検証してみたところ ログにファイル名の文字化けは生じるものの 処理はできますね。

tlmgr update --self --all などを実施し読み込んだスタイルファイルなどの情報はおなじもののですが、 逆に何故わたくしのところでは はやてさん の暫定処置を施さない場合、 件の TeX capacity exceeded はどうして表示されないかという疑問が残ります。

現時点では、ログファイルの文字化け解消にもつながるので はやてさん の暫定処置は施した方が良いと判断しています。

PS: 実のところ、訂正 の投稿の理由は、当初 llmk -C で中間ファイルのクリーニングを 行おうとしていてうまくいかず はやてさん の暫定処置以外に原因があるとおもい TODO を示していたのですが、 その投稿の後、いろいろ試していてうまくいったので 訂正投稿 をしたのですが、不十分な検証であったことを反省しています。

で、今回 井汲 景太 さんのフォロー投稿で改めて検証したところ、別の問題らしきものを見つけましたので別スレッドに投稿します。

和田 勇 への返信

Re: 「TeX capacity exceeded」について

- はやて (h20y6m) の投稿
私の環境では .aux の有無とは関係なく -src-specials を有効にすることで再現できます。
また command_line_encoding.platex = none で回避することができます。
おそらく command_line_encoding = utf-8 で文字化けしたファイル名を source specials のために処理した結果何かが壊れたのだと思いますがよくわかりません。
はやて (h20y6m) への返信

Re: 「TeX capacity exceeded」について

- 和田 勇 の投稿

-src-specials のオプション追加で再現しました。 ありがとうございます。

おかげでlog の差分に Source specials enabled が表示されていた原因わかりました。

が、新たな疑問が出ました。(別スレッドをあげたほうがよいかな?)

私はコマンドラインでまず検証しようとターミナルを立ち上げますが、 その際ファイル名をタブ補完すると 「platex .\2024年度春休み特訓確認テスト3.tex」のようになります。

うろ覚えですが、以前はこの .\ (ドット バックスラッシュ)で始まっていても処理できたのですが、どうやら basename を取りだしに失敗しているみたいでエラーになります

\/ に書き換えたり .\ を取り除くともちろん処理はできますが、面倒だだけなんですが。

和田 勇 への返信

Re: 「TeX capacity exceeded」について

- 井汲 景太 の投稿
すみません、私のコメントは和田さんではなく主として tabata さんに向けたものでした。想定していたのは
tabata さんの所には、昔タイプセットしたときの .aux が残っており、それが今の platex の日本語コードと合ってなかった → エラー
和田さんの所には元々 .aux などなかったので正常に動作した
ということですが、はやてさんのフォローを見るとどうも違う原因だったようです。お騒がせしました。