我四处寻找,没有找到这个问题的答案。我正在使用该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.3
。mawk
是 的一个特定实现awk
,该实现在此版本中存在错误(缺少功能?),即不支持 Posix 字符类。脚本delcmdchanges.bash
使用 字符类[:space:]
,但无法正确解释。
您的选择是:
升级到
mawk
1.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 文件问题的人更新软件包或下载新的脚本。
欲了解更多信息,请参阅包文档。