我有一个 .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
否则,只需使用您选择的文本编辑器。