使用 latexmk 清理 comment.cut 文件

使用 latexmk 清理 comment.cut 文件

latexmk -C不会删除包comment.cut创建的临时辅助文件comment。如何实现此功能?

梅威瑟:

$ latexmk --version

Latexmk, John Collins, 25 October 2018. Version 4.61

$ cat test.tex
\documentclass{article}
\usepackage{comment}
\specialcomment{smalltt}{\begingroup}{\endgroup}
\begin{document}
\begin{smalltt}
test
\end{smalltt}
\end{document}

$ latexmk && latexmk -C
[...]

$ ls
comment.cut  test.tex

设置$clean_full_ext='cut';不起作用~/.latexmkrc

$ cat ~/.latexmkrc
$clean_full_ext='cut';

$ ls
test.tex

$ (latexmk && latexmk -C) &> /dev/null && ls
comment.cut  test.tex

我尝试了其他扩展并且它们似乎运行良好:

$ cat ~/.latexmkrc
$clean_full_ext='jpg'

$ echo abc > test.jpg && ls
test.jpg  test.tex

$ (latexmk && latexmk -C) &> /dev/null && ls
comment.cut  test.tex

答案1

Latexmk 维护者在此:您发现的是当前版本中的实际情况latexmk。最初$clean_full_ext变量是指定扩展清理时要删除的文件,其基本名称与 .tex 文件的名称相同。我对其进行了扩展,以允许使用更通用的模式,使用通配符,但要求模式包含占位符%R,该占位符将被 .tex 文件的基本名称替换。这在实践中是必要的。

但我对更通用的通配符模式感到不安,因为配置中的一个小错误可能会带来相当危险的后果。即便如此,有一种删除特定文件的方法还是很有用的comment.cut。我会把这当作一个功能请求。

同时,解决问题的最简单方法是简单地配置一些东西,使注释文件没有固定的名称,而是 .tex 文件的基本名称加上扩展名.cut。这可以通过输入

\def\DefaultCutFileName{\def\CommentCutFile{\jobname.cut}}
\DefaultCutFileName

在文档的序言中,然后设置

$clean_full_ext = 'cut';

在一个.latexmkrc文件中。更好的做法是

$clean_ext .= ' cut';

它附加了一个项目,因此不会撤消以前的设置。

相关内容