Sublime Text + LaTeXTools: Como excluir automaticamente os arquivos gerados após a compilação?

2

Eu uso Sublime Editor de Texto 3 com LaTeXTools para escrever em LaTeX.

Eu compilo os arquivos pressionando Control + B . Se eu nomear meu arquivo de texto como main.tex , os arquivos gerados serão:

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

Existe uma maneira de editar o pacote LaTeXTools para que, após o processo de compilação, os arquivos .aux, .bbl, .blg, .log, e .synctex.gz sejam excluídos?

    
por Aventinus 19.01.2018 / 16:40

2 respostas

1

Método 1:

Instale o pacote LaTeXTools do Sublime Text.

Por padrão, o Command Pallet -> LaTeXTools: Delete temporary tiles é mapeado para Ctrl-L, backspace por padrão:

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

O pacote LaTeXTools também está documentado aqui .

Para ajustar o que o LaTeXTools limpa sem se preocupar com atualizações de pacotes, escolha Preferences -> Package Settings -> LaTeXTools -> Settings -- User e ajuste o seguinte bloco de código:

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

Para unir ^b e ^l juntos : use o Pacote Cadeia de Comando , conforme descrito pelo link , e modifique o atalho de teclado de criação para incluir delete_temp_files .

Método 2:

Instale o latexmk . Você vai querer isso de qualquer maneira, já que executa o LaTeX o número de vezes necessário, e executa o biber / BibTeX conforme necessário até que ele construa o pdf corretamente.

Em Sublime Text Em Tools->Build System escolha New Build System e insira o seguinte:

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

Se latexmk não estiver no caminho padrão, talvez seja necessário especificar o caminho completo. O acima funcionará no OSX e no Linux. O && é uma diretiva de script bash que diz ao shell para executar o segundo comando se o primeiro comando for bem-sucedido. O -c executa a limpeza. Quais arquivos são limpos podem ser ajustados através do arquivo de configuração para latexmk .

    
por 03.02.2018 / 04:44
1

Eu não sei se modificar o pacote LaTeXTools é a melhor abordagem, especialmente se for um pacote que é propenso a atualizações regulares. Você pode ter que reimplementar suas modificações, ou mesmo redesenhá-las de tempos em tempos. No entanto, isso não o deixa completamente sem uma solução. Você pode confiar nas capacidades de script do seu sistema operacional para criar um procedimento que chame o LaTeXTools e depois limpar.

Sendo um usuário de Linux, isso pode ser feito em um script bash como o seguinte:

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

É claro que você substituiria a string entre os {} s pela estrutura de comando da CLI que você usaria para realizar a mesma compilação que você faz quando pressiona Ctrl + B na interface.

Se você estiver usando um sistema operacional diferente, como o Windows, convém verificar quais recursos de script o Windows oferece e tentar desenvolver o mesmo tipo de ideia que apresentamos no script bash.

    
por 02.02.2018 / 22:42