オリジナルスクリプトが残すsynctex.gzファイル
Closed this issue · 6 comments
かわいい通知を出すためにTeX2imgに登録しているYasunari
スクリプトでは,ご存知の通りptex2pdf
を用いておりTeXShopでも登録しているため-synctex=1
が渡っています。そのためAuto Detect
させてuplatex
を使った場合には残らないsynctex.gz
ファイルがソースと同一のディレクトリに残ってしまいます。aux
ファイルなどは削除されているように,synctex.gz
ファイルも削除する仕様にしていただけますでしょうか。
LaTeXエンジンに独自スクリプトを登録するのはあくまで「裏技」なので,公式サポート予定はありません(本当にサポートしようとすると色々なケースがありすぎて考慮しきれないため)が,独自スクリプトを使わなくても,LaTeXエンジンの設定部に -synctex=1
を付けた場合には .synctex.gz
が生成するため,独自スクリプトとは独立な問題として,「aux以外の補助ファイルをどうするか」は検討に値します。
ただし,その場合,-synctex=1
のときの .synctex.gz
だけを追加考慮する,というのでは片手落ちになりますよね。-recorder
オプションなど,LaTeXエンジンがコンパイル時に吐き出す補助ファイルは他にもありえますので。「吐き出される可能性のある補助ファイルをどこまで考慮して消去するか」というのを明文化するのはなかなか大変そうです。逆に,補助ファイルのbasename.*
の形をしたファイルを全部補助ファイルと見なして一斉消去する,という手もあり得そうです。
いえ,そのようなケースにおいて他のファイルを巻き込むケースはありません。補助ファイルのbasename.*
と書いたのは,TeX2img が作成する temp37607-404B373D-14E1-435A-9F29-76538AD7F775.aux
のような名前のファイルのことです。
いえ,そのようなケースにおいて他のファイルを巻き込むケースはありません。
「外部ファイル入力」かつ「入力ファイルと同じフォルダ上で作業」の場合は,巻き込みの危険が高いことに気づきました。やはり,ホワイトリスト方式で,消去すべき拡張子を個別に列挙する方が無難そうです。
synctex.gzも含めて削除してくれるTeXShopのTrash Aux Filesにおける仕様を,そのまま使えれば実装は楽だと思います。
TeXShopの Trash AUX Files
では,次の拡張子を一括削除しています。
aux
blg
brf
glo
idx
ilg
ind
loa
lof
log
lot
mtc
mlf
out
ttt
fff
ent
css
idv
wrm
4ct
4tc
lg
xref
bcf
gtex
gaux
glog
pdfsync
synctex
synctex(busy)
fdb_latexmk
fls
toc
ただ,よく分からない拡張子も多いし,css
とかは無関係なファイルの巻き込みの危険性が高そうなので,この仕様に沿うのは気が乗りません。もっと安全側に倒した設計にした方がよさそうです。
自分が去年書いていたことの意味がわからなくなりました……😓
「外部ファイル入力」かつ「入力ファイルと同じフォルダ上で作業」の場合は,巻き込みの危険が高いことに気づきました。
「外部ファイル入力」かつ「入力ファイルと同じフォルダ上で作業」の場合であっても,入力ファイルをいったん temp37607-404B373D-14E1-435A-9F29-76538AD7F775.aux
のような長いテンポラリな名前でそのフォルダ内にコピーしてから作業を始めるのだから,作業後に 補助ファイルのbasename.*
を一括削除する分には「巻き込み」の危険性はなさそうに思います。
が,とりあえず,安全側に倒して,有名どころの拡張子を列挙して削除対象に加えておきました。