我用Sublime Text 编辑器 3和LaTeX工具用 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
文件被删除?
答案1
方法 1:
安装 Sublime TextLaTeX工具包裹。
默认情况下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
“Under”中Tools->Build System
选择New Build System
并输入以下内容:
{
"shell_cmd": "latexmk -pdf \"$file\" && latexmk -c",
"selector": "text.tex.latex"
}
如果latexmk
不在默认路径中,则可能需要指定完整路径。以上适用于 OSX 和 Linux。 是&&
一个 bash 脚本指令,它告诉 shell 如果第一个命令成功,则运行第二个命令。 运行-c
清理。可以通过 的配置文件调整要清理哪些文件latexmk
。
答案2
我不知道修改 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 脚本中提出的想法相同的想法。
答案3
进入Preferences > Package Settings > LaTeXTools > Settings – User
Sublime,找到标题为 的部分Output Directory settings
。在这里,您需要指定"aux_directory"
和"output_directory"
设置。您的选项是:
""
:默认;不使用任何辅助/输出目录path
:辅助/输出目录的路径;如果这不是绝对路径,则将被解释为相对于主 tex 文件的路径"<<temp>>"
:辅助/输出目录将是一个以尽可能安全的方式生成的临时目录;请注意,此临时目录仅在 ST 重新启动之前有效,并将在下次启动时删除"<<project>>"
:这将在与主 tex 文件相同的文件夹中创建一个辅助/输出目录;名称是主文件绝对路径的 MD5 哈希值;与<<temp>>
此不同的是,该目录将保留"<<cache>>"
:这将在 ST3 上的 ST 缓存目录或 ST2 上的合适目录中创建一个辅助/输出目录;与 不同,<<temp>>
此目录将保留;与 不同<<project>>
,它不会与主 tex 文件位于同一目录中
这允许您指定编译 latex PDF 时生成的所有额外文件的存储位置。有关这些设置的更多信息,请查看latextools 文档。