可能是重复的,但是...
...是否有原语检测所述基于 e-TeX 的引擎的当前排版方向是什么?
我知道设置\TeXXeTstate
> 0 可以\beginR, \beginL, \endR, \endL
实现环境方向,并且 pkgbidi
提供用于此目的的条件。但是bidi
不能与一起使用pdftex
。
答案1
没有办法做到这一点,因为与 omega/luatex 模型不同,方向不是排版列表(框)的属性,只有遇到时会改变方向状态的节点。
这意味着在执行 tex 宏时可能不知道方向,实际上可以在任一方向上设置相同的文本。
\documentclass{article}
\newbox\foo
\TeXXeTstate=1
\begin{document}
\sbox\foo{hello world}
\beginR \usebox\foo \endR
\usebox\foo
\end{document}
生产
hello world
这里只是简单的文本,但它可以是任意复杂的宏来测试任何条件,当文本在另一个方向显示时,这些条件都不会重新执行。