删除所有标记会自动更改包

删除所有标记会自动更改包

我四处寻找,没有找到这个问题的答案。我正在使用该changes包,我需要从源文件中删除所有标记。有这个问题关于使用删除命令更改,但遗憾的是没有得到答复。

我的问题是:为什么脚本不起作用,有没有办法让它起作用?还有其他脚本吗?(希望也可以在 Windows 机器上使用)

一些背景 - 我正在使用 lubuntu 16.04 机器。

我尝试从以下文件中删除标记,但没有成功:

\documentclass{article}

\usepackage{changes} %I could use [final] to hide the markup from the PDF, but I need the ``evidence'' removed from the source

\begin{document}
 Some text \added{some added text}, and some \replaced{replaced}{replactd} text. \deleted{also, some deleted.}
\end{document}

我将脚本放在与 input.tex 相同的文件夹中,使脚本可执行并使用

sh ./delcmdchanges.bash -i input.tex output.tex

我没有收到任何错误,没有关于找到标记的查询,并且输出文件内容与输入相同。

答案1

尝试命令

awk -W version

它可能会告诉您类似这样的信息mawk 1.3.3mawk是 的一个特定实现awk,该实现在此版本中存在错误(缺少功能?),即不支持 Posix 字符类。脚本delcmdchanges.bash使用 字符类[:space:],但无法正确解释。

您的选择是:

  • 升级到mawk1.3.4。虽然它已经推出一段时间了,但尚未进入几个 Linux 发行版(如 Ubuntu 16.04 和 16.10 以及所有当前(=2016 年 11 月)的 Debian 版本,包括 sid)。

  • 安装 的另一个实现awk,例如gawk。如果安装后它没有自动成为默认值(即awk现在调用gawk),请在脚本中用awk替换。gawk

  • 或者,编辑脚本并替换所有出现的

    [[:space:]]
    

    经过

    [ \t\r\n\v\f]
    

    (反斜杠要按字面意思理解,因此 11 个字符的字符串被 13 个字符的字符串替换)。

答案2

该软件包的较新版本包含一个用 Python 编写的新脚本。可以从python pyMergeChanges.py [-arh] <Input File> <Output File>脚本文件夹运行该脚本来使用。

因此,我建议遇到 bash 文件问题的人更新软件包或下载新的脚本。

欲了解更多信息,请参阅包文档。

相关内容