2

Я использую 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 ответа2

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

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

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

1

Способ 1:

Установите пакет SubTime Text LaTeXTools .

По умолчанию Command Pallet -> LaTeXTools: Delete temporary tiles отображается на Ctrl-L, backspace по умолчанию 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. && - это директива сценария bash, которая указывает оболочке выполнить вторую команду, если первая команда была успешной. -c запускает очистку. Какие файлы очищаются, можно настроить через файл конфигурации для latexmk .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .