如何在C-c上删除目录.t2d C-c Clean / M-x TeX-clean?

时间:2014-06-13 02:12:56

标签: emacs latex elisp auctex

我在.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 CleanTeX-clean: Removing old name: is a directory: qrm.t2d。怎么能 在C-c C-c Clean上删除目录

1 个答案:

答案 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")))