我将许多文档从 XML(Unicode)转换为 XeLaTeX。
我偶然发现一个文档中的 x≠5,我的软件无法将字符转换为该文档\neq
(由于 Unicode 复合字符)。
我确实解析了日志文件中的“缺失字符”,然后逐一查看每个案例。
为了快速找到 tex 文件中的错误,我还想输出行号。
如果字符本身隐藏在某些宏中,我想获取调用行号,而不是定义。
有什么办法可以实现这个吗?在这个例子中,
简单的 grep̸
可以找到第 2 行,但我需要第 4 行:
\documentclass[openany]{book}
\def\someChar{≠} %def may be in another file, so grep is not sufficient
\begin{document}
x \someChar 5
\end{document}
在现实世界中,我尝试使用周围警告中的行号Overfull \hbox
,但这很容易出错。
在下面的日志中,我假设该字符位于第 982 行和第 993 行之间,但实际上它位于第 886 行。(前一节)
Overfull \hbox (325.02254pt too wide) detected at line 982
\EU2/Cambria.ttf(0)/bx/n/10.54 Sta-ti-sche axiale Trag-zahl für ein-sei-tig un
d zwei-sei-tig wir-kende Lager
[]
Underfull \hbox (badness 10000) has occurred while \output is active
\EU2/Cambria.ttf(0)/bx/n/10.54 14
[]
[14
Missing character: There is no ̸ (U+0338) in font [Cambria]:mode=node;script=la
tn;language=DFLT;+tlig;!
]
Overfull \hbox (273.26788pt too wide) detected at line 993
我预计会发生类似的错误,因此快速找到相关点会非常有帮助(这样我就可以花时间修复它们)。
如果这不可能,还有其他提示可以用来至少缩小搜索区域吗?