Sublime Text + LaTeXTools:コンパイル後に生成されたファイルを自動的に削除する方法


3

LaTeX で作成するには、LaTeXToolsでSublime Text Editor 3を使用します。

Control+ を押してファイルをコンパイルしますB。テキストファイルにという名前を付けるmain.texと、生成されるファイルは次のようになります。

 - main.aux
 - main.bbl
 - main.blg
 - main.log
 - main.pdf
 - main.synctex.gz

LaTeXToolsパッケージを編集して、コンパイルプロセスが終了し後にファイル.aux, .bbl, .blg, .log,.synctex.gzファイルを削除する方法はありますか?


ツールチェーンでどのように実行するかわかりませんが、auxファイルなどに中間情報が含まれているため、コンパイルにかかる時間が長くなることに注意してください。大きな文書ではこれが顕著になります。簡単なオプションは、オンデマンドの「簡単な」クリーンアップを可能にするバッチファイルを作成することです。
セス

どのオペレーティングシステムとLaTeXディストリビューションを使用していますか?
ヒュー

回答:


2

方法1:

Sublime Text LaTeXToolsパッケージをインストールします。

デフォルトでCommand Pallet -> LaTeXTools: Delete temporary tilesは、はにマップさCtrl-L, backspaceれます:

// super+l,backspace to remove temporary files
{ "keys": ["super+l", "backspace"],
  "context":  [{"key": "selector", "operator": "equal", 
                  "operand": "text.tex.latex"}],
  "command": "delete_temp_files"},

LaTeXToolsパッケージもここに記載されています

パッケージの更新を気にせずにLaTeXToolsがクリーンアップするものを調整Preferences -> Package Settings -> LaTeXTools -> Settings -- Userするには、次のコードブロックを選択して調整します。

// ------------------------------------------------------------------
// Temporary file settings
// ------------------------------------------------------------------
// Ends of the names of temporary files to be deleted
"temp_files_exts": [
    ".blg",".bbl",".aux",".log",".brf",".nlo",".out",".dvi",".ps",
    ".lof",".toc",".fls",".fdb_latexmk",".pdfsync",".synctex.gz",
    ".ind",".ilg",".idx"
],
// Folders that are not traversed when deleting temp files
"temp_files_ignored_folders": [
    ".git", ".svn", ".hg"
],

両方を結びつけるために^b^l一緒に:使用コマンドパッケージのチェーンによって記載されているようにhttps://stackoverflow.com/a/27994582含まれるように、ビルドのキーボードショートカットを変更しますdelete_temp_files

方法2:

latexmkをインストールします。とにかく、これは必要な回数LaTeXを実行し、pdfを正しくビルドするまで必要に応じてbiber / BibTeXを実行するため、これが必要になります。

次に、Sublime Text「Under」内で次をTools->Build System選択New Build Systemして入力します。

{
    "shell_cmd": "latexmk -pdf \"$file\" && latexmk -c",
    "selector": "text.tex.latex"
}

latexmkがデフォルトのパスにない場合は、フルパスを指定する必要があります。上記はOSXおよびLinuxで動作します。&&最初のコマンドが成功した場合は、2番目のコマンドを実行するシェルを伝えるbashスクリプトディレクティブです。-cクリーンアップを実行します。どのファイルがクリーンアップされるかは、の構成ファイルを介して調整できますlatexmk


1

LaTeXToolsパッケージを変更するのが最善の方法であるかどうか、特に定期的な更新が行われやすいパッケージであるかどうかはわかりません。変更を再実装しなければならない場合もあれば、時々再設計しなければならない場合もあります。ただし、これによって解決策が完全になくなるわけではありません。オペレーティングシステムのスクリプト機能に依存して、LaTeXToolsを呼び出し、その後クリーンアップするプロシージャを作成できる場合があります。

自分でLinuxユーザーであるため、これは次のようなbashスクリプトで実行できます。

#!/bin/bash
    PROJECTNAME=$1
    {COMMAND_LINE_EQUIVALENT_OF_YOUR_CONTROL_B_COMMAND}
    rm $1.aux $1.bbl $1.blg $1.log $1.synctex.gz

もちろん、{}の間の文字列を、インターフェイス内でCtrl + Bを押したときと同じコンパイルを実行するために使用するCLIコマンド構造に置き換えます。

Windowsなどの別のオペレーティングシステムを使用している場合は、Windowsが提供するスクリプト機能を調べて、bashスクリプトで提示したものと同じ種類のアイデアに基づいて構築することをお勧めします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.