LuaTeX 的 \textdir 原语未通过字符串比较测试

LuaTeX 的 \textdir 原语未通过字符串比较测试

通过最小工作示例演示问题

我在文件中保存了以下 LaTeX 代码~/Test.tex

\documentclass{article}
\usepackage{ifthen}
\begin{document}
\the\textdir =%
\ifthenelse{\equal{\the\textdir}{TLT}}{TLT}{TRT}
\end{document}

代码打印出 LuaTeX 原始\textdir寄存器的内容、一个等号,然后打印出TLT如果所述寄存器的内容为 则为字符串TLT,并且TRT否则打印出字符串。

然后我在终端中执行了以下命令。

> cd ~
> lualatex Test

结果文件~/Test.pdf就创建了。在 PDF 查看器中打开时,它显示“TLT=TRT”。


问题

  1. 如果\the\textdir扩展为字符串“TLT”,那么为什么条件表达式求值为别的案例“TRT”?

  2. 如何查询\textdir寄存器的值?

答案1

\jobname它与和相同\string,它返回 catcode 12 个字符而不是 catcode 11

\documentclass{article}
\usepackage{ifthen}
\begin{document}
\the\textdir =%
\ifthenelse{\equal{\the\textdir}{\detokenize{TLT}}}{TLT}{TRT}
\end{document}

相关内容