当使用带有 tcolorbox 包的 bidi 时,框不与文本内联。运行 MWE 时,无论是否注释 bidi,都可以清楚地看到一切。有人可以解释这种行为并可能提出解决方案/解决方法吗?
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8
\documentclass{article}
\usepackage[most]{tcolorbox}
\usepackage{bidi}
\begin{document}
Lorem ipsum before \tcbox[size=tight, on line]{some tcb text} lorem ipsum after
\end{document}
答案1
问题的原因是 bidi 包重新定义了tikzpicture
和 ,pgfpicture
并将它们放入一个段落中。如果启用了 bidi,以下内容也无法在您的 MWE 中正常工作:
Lorem ipsum before \tikz\node[draw] {text}; lorem ipsum after
可以pgfpicture
本地重置其原始行为。但当然,这也会禁用双向适配(本地)。但也许这对您的应用程序来说并不重要。请尝试以下操作:
\documentclass{article}
\usepackage[most]{tcolorbox}
\usepackage{bidi}
\makeatletter
\tcbset{%
bidi reset/.code={%
\let\pgfpicture\origin@pgfpicture%
\let\endpgfpicture\origin@endpgfpicture%
}
}
\makeatother
\begin{document}
Lorem ipsum before \tcbox[bidi reset, size=tight, on line]{some tcb text} lorem ipsum after
\end{document}
这适用于 MWE。但是,它可能无法为您的预期应用程序提供预期的结果,因为您会出于某种原因而包含 bidi...