有没有办法从 tex 文件中查找并删除连字符?有时当我将文本复制/粘贴到 Winedt 时,它显示完美,但当我将其编译为 Pdf 时,会出现一些问题,例如,finding 变成了 nding。
我想知道是否有任何方法可以搜索并找到这些字符?
这是一个示例文件(需要 utf8 编码)。
\documentclass{article}
\begin{document}
fi
\end{document}
答案1
这通常是由于字体信息错误造成的,但可以解决。ff
fi
fl
ffi
ffl
如果使用现代字体,可能出现问题的连字符是。
您可以立即解决您的问题
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
%% use this in your preamble
\usepackage{newunicodechar}
\newunicodechar{ff}{ff}
\newunicodechar{fi}{fi}
\newunicodechar{fl}{fl}
\newunicodechar{ffi}{ffi}
\newunicodechar{ffl}{ffl}
%% end of common ligatures
\begin{document}
ff fi fl ffi ffl
\end{document}
相关代码位于两%%
行前缀之间。请将其保存在手边并在需要时粘贴。
对于文档的生产版本,使用“搜索和替换”会更好。
答案2
如果您\usepackage[utf8]{inputenc}
在序言中添加内容,代码中的连字符将会产生错误。可能有很多,但(我认为)只有少数几种不同的情况。在inputenc
序言中,运行 pdflatex。它会在第一个连字符处停止,输入“e”应该会带您到它。复制连字符并进行全局查找和替换,例如更改fi
为fi
。对其他连字符重复此操作,问题就解决了。不是完全自动的,但应该不会花太长时间。