删除我的文档中所有出现的unicode U + 2009

删除我的文档中所有出现的unicode U + 2009

我有一个 .tex 文档,其中插入了“thinspace”,很可能是在从另一个文档复制文本时插入的。

我目前正在使用\DeclareUnicodeCharacter{2009}{\,}它来跳过这种情况。是否可以从文档本身中搜索并删除此字符,因为它不是必需的。

我使用 Linux Mint 20.1、pdflatex 和 Texmaker 作为前端。

答案1

您应该能够在任何编辑器中删除该字符,但由于您在 Linux 上,所以可能有 perl,您可以使用命令行脚本:

perl -C -p -e 's/\x{2009}//g' file.tex > file-new.tex

将制作一个删除所有 U+2009 的文件版本。

答案2

如果您使用的是 Unicode 引擎(XeTeX 或 LuaTeX),那么您可以设置此字符在 TeX 处理中被忽略:

\catcode`\^^^^2009 = 9

答案3

因为你在 Linux 上,所以好用的旧流编辑器 (sed)

sed -i 's/old-text/new-text/g' input.tex

或者更友好地处理 rpl

rpl "old-text" "new-text" --encoding UTF-8 -q input.tex

如果您必须在命令行上执行此操作,将是我的选择。

有关 Linux 上更多可能的方法,请查看unix.stackexchange.com

否则,只需使用您选择的文本编辑器。

相关内容