Sublime Text + LaTeXTools: Как автоматически удалять созданные файлы после компиляции?

1195
Aventinus

Я использую Sublime Text Editor 3 с LaTeXTools, чтобы писать в LaTeX.

Я компилирую файлы, нажимая Control+ B. Если я назову свой текстовый файл как main.tex, сгенерированные файлы будут:

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

Есть ли способ, чтобы изменить пакет LaTeXTools так, что, после того, как процесс компиляции закончился, .aux, .bbl, .blg, .log,и .synctex.gzфайлы будут удалены?

2
Я не уверен, как бы вы сделали это с помощью своей цепочки инструментов, но имейте в виду, что это удлинит время, необходимое для компиляции, поскольку файлы aux и т. Д. Содержат промежуточную информацию. С большими документами это будет заметно. Простым вариантом может быть создание командного файла, который позволяет вам «легко» очистить по требованию. Seth 6 лет назад 0
Какую операционную систему и дистрибутив LaTeX вы используете? Hugh 6 лет назад 0

2 ответа на вопрос

1
gluonman

Я не знаю, является ли изменение пакета LaTeXTools лучшим подходом, особенно если это пакет, который подвержен регулярным обновлениям. Вы можете столкнуться с необходимостью повторной реализации своих модификаций или даже время от времени переделывать их. Тем не менее, это не оставляет вас полностью без решения. Вы можете полагаться на возможности сценариев вашей операционной системы для создания процедуры, которая вызывает LaTeXTools, а затем очищается.

Будучи пользователем Linux, это можно сделать с помощью скрипта bash, например:

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

Конечно, вы должны заменить строку между {} с какой-либо структурой команд CLI, которую будете использовать для выполнения той же компиляции, которую вы выполняете, когда нажимаете Ctrl + B в своем интерфейсе.

Если вы используете другую операционную систему, например Windows, то вам может понадобиться посмотреть, какие возможности сценариев предлагает Windows, и попытаться использовать те же идеи, что и в сценарии bash.

1
glallen

Способ 1:

Установите пакет SubTime 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 требуемое количество раз и запускает biber / BibTeX по мере необходимости, пока не будет правильно сформирован pdf.

Затем в поле Sublime TextПод Tools->Build Systemвыберите New Build Systemи введите следующее:

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

Если latexmkвы не указали путь по умолчанию, вам может потребоваться указать полный путь. Выше будет работать на OSX и Linux. &&Директива Баш скрипт, который сказать оболочка для запуска вторую команду, если первая команда была успешно выполнена . -cПроходит очистку. Какие файлы очищаются, можно настроить с помощью файла конфигурации latexmk.

Похожие вопросы