Sublime Text + LaTeXTools: Wie werden generierte Dateien nach dem Kompilieren automatisch gelöscht?

1384
Aventinus

Ich verwende Sublime Text Editor 3 mit LaTeXTools, um in LaTeX zu schreiben.

Ich kompiliere Dateien durch Drücken von Control+ B. Wenn ich meine Textdatei benenne main.tex, werden folgende Dateien erzeugt:

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

Gibt es eine Möglichkeit, das LaTeXTools-Paket so zu bearbeiten, dass nach dem Kompilierungsvorgang die Dateien .aux, .bbl, .blg, .log,und .synctex.gzgelöscht werden?

2
Ich bin mir nicht sicher, wie Sie dies mit Ihrer Toolchain machen würden, aber denken Sie daran, dass dies die Zeit für das Kompilieren verlängert, da die Aux-Dateien usw. Zwischeninformationen enthalten. Bei größeren Dokumenten wird dies deutlich. Eine einfache Option könnte die Erstellung einer Batch-Datei sein, mit der Sie bei Bedarf eine "einfache" Bereinigung durchführen können. Seth vor 6 Jahren 0
Welches Betriebssystem und welche LaTeX-Distribution verwenden Sie? Hugh vor 6 Jahren 0

2 Antworten auf die Frage

1
gluonman

Ich weiß nicht, ob es am besten ist, das LaTeXTools-Paket zu ändern, insbesondere wenn es sich um ein Paket handelt, das regelmäßig aktualisiert wird. Möglicherweise müssen Sie Ihre Änderungen erneut implementieren oder sogar von Zeit zu Zeit neu entwerfen. Dies lässt Sie jedoch nicht völlig ohne Lösung aus. Möglicherweise können Sie sich auf die Skriptfähigkeiten Ihres Betriebssystems verlassen, um eine Prozedur zu erstellen, die LaTeXTools aufruft und anschließend bereinigt.

Da ich selbst ein Linux-Benutzer bin, könnte dies in einem Bash-Skript wie dem folgenden geschehen:

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

Natürlich müssen Sie die Zeichenfolge zwischen den {} s durch die CLI-Befehlsstruktur ersetzen, die Sie für dieselbe Kompilierung verwenden würden, die Sie ausführen, wenn Sie in Ihrer Benutzeroberfläche auf Strg + B drücken.

Wenn Sie ein anderes Betriebssystem wie Windows verwenden, möchten Sie möglicherweise die Skriptfunktionen von Windows untersuchen und versuchen, die gleiche Idee wie in dem Bash-Skript aufzubauen.

1
glallen

Methode 1:

Installieren Sie das Sublime Text LaTeXTools- Paket.

Standardmäßig Command Pallet -> LaTeXTools: Delete temporary tilesist das Ctrl-L, backspacestandardmäßig zugeordnet:

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

Das LaTeXTools-Paket ist auch hier dokumentiert .

Wählen Sie Preferences -> Package Settings -> LaTeXTools -> Settings -- Userden folgenden Codeblock aus, und passen Sie ihn an, um festzulegen, was LaTeXTools bereinigt, ohne sich um Paketaktualisierungen zu kümmern.

// ------------------------------------------------------------------ // 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" ], 

Binden beide ^bund ^lzusammen : Verwenden Sie die Befehlskette Paket wie beschrieben https://stackoverflow.com/a/27994582, und ändern Sie die Build - Tastenkombination zu schließen delete_temp_files.

Methode 2:

Installieren Sie latexmk . Sie werden dies auf jeden Fall wünschen, da LaTeX so oft wie nötig ausgeführt wird und Biber / BibTeX nach Bedarf ausgeführt wird, bis die PDF-Datei korrekt erstellt wird.

Dann in Sublime TextUnter Tools->Build Systemauswählen New Build Systemund folgendes eingeben:

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

Wenn Sie latexmksich nicht in Ihrem Standardpfad befinden, müssen Sie möglicherweise den vollständigen Pfad angeben. Das obige wird unter OSX und Linux funktionieren. Das &&ist eine Bash - Skript - Direktive, die die Shell sagen, den zweiten Befehl ausgeführt werden sollen, wenn der erste Befehl erfolgreich war. Das -cführt die Bereinigung durch. Welche Dateien bereinigt werden, kann über die Konfigurationsdatei für angepasst werden latexmk.