我在.emacs
中使用以下代码清理工作目录
不需要的文件。
(eval-after-load 'latex
'(progn
(setq LaTeX-clean-intermediate-suffixes (delete "\\.synctex\\.gz" LaTeX-clean-intermediate-suffixes))
(setq LaTeX-clean-intermediate-suffixes (append
LaTeX-clean-intermediate-suffixes
(list "\\.bcf" "\\.synctex\\.gz(busy)" "-blx\\.bib" "\\.run\\.xml" "\\.fdb_latexmk" "\\.fls" "\\.ptc")))
(setq LaTeX-clean-output-suffixes (append LaTeX-clean-output-suffixes (list "\\.synctex\\.gz")))
))
如果我的LaTeX文档包含错误,则当前目录包含一个文件夹
.t2d
(我在Emacs / AUCTeX中使用texi2dvi -p
进行编译)。我必须
手动切换到工作目录以删除此文件夹,否则,
该文件不会编译(事实上,编译将停止相同
错误[在大多数情况下])。因此,我们的想法是将\\.t2d
纳入其中
以上C-c C-c Clean
上删除的文件列表。但是,如果我这样做,C-c
C-c Clean
说TeX-clean: Removing old name: is a directory: qrm.t2d
。怎么能
在C-c C-c Clean
上删除目录?
答案 0 :(得分:2)
来自法律清单评论的暗示带来了解决方案。我首先发现texi2dvi --mostly-clean
已经清理了很多(包括不需要的目录.t2d
)。然后,我只是使用rm
删除了其他不需要的文件 - 所有内容都已包装,以便我可以通过C-c C-c tidy
调用它:
(add-hook 'LaTeX-mode-hook
(lambda ()
;; texi2dvi
(add-to-list 'TeX-command-list
'("texi2dvi" "PDFLATEX='pdflatex --shell-escape -synctex=1 -file-line-error' texi2dvi --max-iterations=5 -p %s.tex" TeX-run-command nil t :help "Run texi2dvi") t)
;; clean
(add-to-list 'TeX-command-list
'("tidy" "texi2dvi --mostly-clean %s.tex; rm %s.pdf \"%s.synctex.gz(busy)\"" TeX-run-command nil t :help "Run clean") t)
;; default
(setq TeX-command-default "texi2dvi")))