texmf.cnf内のstack_sizeの数値を,特定のフォルダ内でのみ有効にする方法について

texmf.cnf内のstack_sizeの数値を,特定のフォルダ内でのみ有効にする方法について

- 小林 コウキ の投稿
返信数: 2
texmf.cnf内のstack_sizeの数値を,特定のフォルダ内でのみ有効にする方法について,質問があります.

現時点でのtexmf.cnf内のstack_sizeの数値は1500になっています.
TeX capacity exceeded, sorry [save size=5000].
というエラーが出て,ファイルが途中から作成できない状態になっています.
texmf.cnf内のstack_sizeの数値を変更すれば,最後まで頁が作成されるのですが,これだと,全体に数値変更の影響が出てしまいます.
ファイルを分ければ,最後までの頁が作成されるのですが,できれば1ファイルのままで処理をかけたいのです.


コンパイルをかけるフォルダにtexmf.cnfをいれて試してみましたが,最後まで頁が作成されないママとなっています.

個別のフォルダのみに数値を変更することは可能でしょうか.

TeXのヴァージョンは
Version 3.141592-p3.1.4 (sjis) (Web2C 7.5.3)
になります.

ご存じの方,教えていただけないでしょうか.
よろしくお願いいたします.
小林 コウキ への返信

Re: texmf.cnf内のstack_sizeの数値を,特定のフォルダ内でのみ有効にする方法について

- 和田 勇 の投稿

簡単には、検証できないので可能性の列挙だけです。

通常 texmf.cnf を探すための変数 TEXMFCNF にはカレントディレクトリが含まれていないので、カレントに置いても無意味ですね。

texmf.cnf ファイル を参考にしてください。

なぜカレントディレクトリが入っていないかは定かではないので、 何か深いわけがあると想定し、可能性を上げてみます。

  • 「set stack_size=1234」とした上で処理するバッチスクリプトを作成
  • 類似していますが、コンパイルを latexmk を利用するようにし、カレントにおく .latexmkrc に 「$ENV{stack_size} = 1234; 」を書き込んでおく
  • 例えば platex だとした場合、以下のようにオプション付きで行う(platex -help の結果に -cnf-line があるのを思い出した)

    platex -cnf-line=stack_size=1234 ....
    
和田 勇 への返信

Re: texmf.cnf内のstack_sizeの数値を,特定のフォルダ内でのみ有効にする方法について

- 小林 コウキ の投稿
和田 勇様
ご返信ありがとうございます.

教えていただいたサイトを見ました.
個別での読込先の変更はできないようですが,オプション付きでの変更で大丈夫だと思います.

いろいろ勉強になりました.
ありがとうございました.