好的,我查看了存档。该错误属于“发生了非常奇怪的事情”这一类
错误是因为 TeX 试图将文本 متّی\mt1 متّی 转换为页眉行的一部分(\h)。
\h 是一个特殊行,由于在 PTXprint 中的使用方式,它必须单独占一行,后面不能跟随其他 USFM 标记。最终的 USFM 中有一行:
\h متّی\mt1 متّی
这就是原因。
您的输入 SFM 文件似乎不包含这一行,但当文件到达 TeX 时它已经存在了。所以我猜测是更改文件(changes file)的问题,果然,关闭更改文件后问题就解决了。
深入挖掘后,我在 changes.txt 中找到了这一行:
"(\\toc3 (.+?)\s+)" > "\1\\h \2"
该行将 \h 放在与其后内容相同的行上。
以下是一个不会导致崩溃的版本:
"(\\toc3 (.+?)\s+)" > "\1\\h \2\n"
末尾的 \n 用于添加新行。
OK, I’ve had a look at the archive. The error comes into the class of “Something very odd is happening”
The error was because TeX was trying to turn the text متّی\mt1 متّی into part of the running header line (\h).
\h is a special line which, because of how it is used in PTXprint, must occur on a line on its own, with no other USFM markers following it. The final USFM has a line:
\h متّی\mt1 متّی
Which is the cause.
Your input SFM file does not seem to contain this line, but it’s there’s one by the time the file gets to TeX. So I guessed that it is the changes file, and sure enough, turning off the changes file fixes the problem.
Digging deeper, I find this line, in changes.txt
"(\\toc3 (.+?)\s+)" > "\1\\h \2"
That line puts \h on the same line with whatever follows it.
The following is a version which will not cause crashes:
"(\\toc3 (.+?)\s+)" > "\1\\h \2\n"
The \n at the end, adding a new line.
机器翻译自 English