LuaTeX 中有一个错误?

LuaTeX 中有一个错误?

我认为以下文档的输出是错误的

%\the\textdir
\textdir TLT
ab{\textdir TRT ab}\textdir TLT ab

\bye

在此处输入图片描述

如果我删除至少一个“不必要的”,\textdir TLT我就会得到正确的结果。

如果我删除周围的组,\textdir TRT ab我也会得到正确的结果。

这是一个错误吗LuaTeX?也许我不了解LuaTeX的双向排版模型。

答案1

这似乎是 LuaTeX 的一个错误。Hans Hagen 在回复这可能是因为我在垂直模式下推动节点,并且确实添加\leavevmode解决了这个例子。

但它不能解决更复杂的情况。例如

\input color

\parskip=20pt

cc{\textdir TRT cc}cc ab\textdir TLT\ \textcolor{green}{end of paragraph}

cc{\textdir TRT cc}cc
ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab\textdir TLT\ \textcolor{red}{end of paragraph}

cc{\textdir TRT cc}cc
ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab
ab ab ab ab ab ab ab ab ab ab ab ab\textdir TLT\ \textcolor{blue}{end of paragraph}


ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab
ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab
cc{\textdir TRT cc}cc
ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab
ab ab ab ab\textdir TLT\ \textcolor{yellow}{end of paragraph}

ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab
ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab
cc{\textdir TRT cc}cc
ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab
ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab
ab ab ab ab\textdir TLT\ \textcolor{yellow}{end of paragraph}


\bye

产生以下内容

在此处输入图片描述

这意味着只有当两个方向开关位于同一线路上时,才会发生该错误。

正如 David Purton 所说,缺失的文本出现在左下角(直到他提到这一点我才注意到)。这是页面底部:

在此处输入图片描述

值得一提的是,我无法在 LuaMetaTeX(或者更准确地说是使用 ConTeXt)中重现此错误。

由于向后兼容性的原因,这个错误可能不会被修复。

相关内容