Sublime Text + LaTeXTools: Как Автоматически Удалять Сгенерированные Файлы После Компиляции?

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

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

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

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

27
задан Aventinus
28.04.2023 14:03 Количество просмотров материала 3692
Распечатать страницу

2 ответа

Способ 1:

установить возвышенный текст 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"
}

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

1
отвечен glallen 2023-04-29 21:51

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

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

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

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

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

1
отвечен gluonman 2023-04-30 00:08

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх