.tex ファイルの一行目に以下のような latex magic を書いて llmkに
解釈して処理してもらうようにしていたましたが ...
%#! cluttex --engine=platex --max-iterations=4 --makeindex='mendex -c -g -l -r -s jpbase.ist' --output-directory=out
昨日 llmk が 1.2.0 にアップデートされたら「--output-directory=.」も
latex magic 行のイメージに続いて生成されるようになり
二つの「-output-directory」オプションを指定してるとのエラーになってしまうようになった。
対策として
atex magic の行から --output-directory=out を取り除いて llmk すると
--output-directry で処理されることを前提としている cluttex が
最後に.pdf と .synctex.gz は同じディレクトリにある必要があるとのことで
コピーをしようと「cp ./xxx.synctex.gz xxx.synctex.gz を実行しようとして
エラーとしてしまいます。
このエラー自体は、原因がわかっているので無視でも良いのですが、
何か対策はあるのでしょうか?
確か latex magic 行があると llmk.toml は読み込まなかったようなので
無理なら、別の方法を検討したいと思います。
このような方法を採用している理由:
latexmk でも良かったが、
llmk と tex magic 行の組み合わせで latexmk の煩雑さが解消できないかという
目論見の元に llmk を利用しています。
現在 目次、索引ありの ptex2pdf だけでは処理しきれないので
llmk.toml での運用も考えましたが、中間ファイルディレクトリを
指定できた cluttex を利用することにしました。
今回は、その対処が仇になってしまった感があります。
いっそ makefile 運用 に戻ろうかとも思いあぐねています。
llmkのshebang風マジックコメント(先頭行冒頭における%#!
)はlatex
キーの値として扱われます。cluttexは部分的にlatexコマンドと互換なコマンドラインオプションを受け付けるかもしれませんが、今回ケースのように複雑になるともはや「latexコマンドと互換なもの」としては扱えないように思われます。
llmkはファイル名を指定して起動した場合にはllmk.toml
は読み込みません。しかし、対象ファイル内に(shebang風マジックコメントではなく)TOMLフィールドを置くことでllmk.toml
を使う場合と同様にほぼ完全な制御を行うことが可能です。
今回の利用ケースでは、処理したいLaTeXソースファイルの中に、以下のようなTOMLフィールドを記載すれば目的の動作を得られるように思います。
% +++
% sequence = ["cluttex"]
% [programs.cluttex]
% command = "cluttex"
% opts = [
% "--engine=platex",
% "--max-iterations=4",
% "--makeindex='mendex -c -g -l -r -s jpbase.ist'",
% "--output-directory=out"
% ]
% +++
ありがとうございました。
サンプルをそっくりソースに埋め込み、
無事、想定した通りビルドできるようになりました。
サンプルの利用法を教えていただき、
今までマニュアルを見ていて
なぜ「シェバング設定」と「toml 設定」が並んでいるのかな?
という??が解消しました。
toml ファイルを各ディレクトリに置くのは避けたかったので
半分無視はしていたのですが、ソースに記述すれば良いのですね。
以下閑話休題
◆ latexmkの煩雑さ解消
紹介される設定の多くが Windows と非Winows 対応として延々となっているのと
いろいろなエンジンに対応しつつ、簡略設定ができるいるようにとモードスイッチど導入したのが
複雑さを助長しているように思います。
大抵はプレビューア以外はほぼほぼ同じなのにな
サポートで latexmk の質問も結構あるので
ホームに .latexmkrc を置きたくないし、
またいろいろなところに.latexmkrc をおきたくないし
と常々思っていたのですが、、、
シェバング風な処理をしてくれる llmk を知ってからは、
積極的に利用するようになりました。
特に『明確にメリットがあるとしたら
「LaTeXソースファイル内で色々な指定を完結できる」』
は、私は非常に買っています。
そういうように書き込んでくれれば TeXworks のタイプセットメニュや
vscode のビルドのレシピの簡略化ができるのではと思っています。
ではでは
サンプルをそっくりソースに埋め込み、
無事、想定した通りビルドできるようになりました。
サンプルの利用法を教えていただき、
今までマニュアルを見ていて
なぜ「シェバング設定」と「toml 設定」が並んでいるのかな?
という??が解消しました。
toml ファイルを各ディレクトリに置くのは避けたかったので
半分無視はしていたのですが、ソースに記述すれば良いのですね。
以下閑話休題
◆ latexmkの煩雑さ解消
紹介される設定の多くが Windows と非Winows 対応として延々となっているのと
いろいろなエンジンに対応しつつ、簡略設定ができるいるようにとモードスイッチど導入したのが
複雑さを助長しているように思います。
大抵はプレビューア以外はほぼほぼ同じなのにな
サポートで latexmk の質問も結構あるので
ホームに .latexmkrc を置きたくないし、
またいろいろなところに.latexmkrc をおきたくないし
と常々思っていたのですが、、、
シェバング風な処理をしてくれる llmk を知ってからは、
積極的に利用するようになりました。
特に『明確にメリットがあるとしたら
「LaTeXソースファイル内で色々な指定を完結できる」』
は、私は非常に買っています。
そういうように書き込んでくれれば TeXworks のタイプセットメニュや
vscode のビルドのレシピの簡略化ができるのではと思っています。
ではでは