setotherlanguage{arabic} は、inline-tikz がインラインでタイプセットされないようにする

setotherlanguage{arabic} は、inline-tikz がインラインでタイプセットされないようにする
\documentclass{article}

\usepackage{fontspec}
\usepackage{tikz}
\usepackage{polyglossia}

\setmainlanguage{french}
\setotherlanguage{arabic} % comment that line, the problem disappears.

\setmainfont[Ligatures=TeX,
             Numbers=OldStyle]{Linux Libertine O}

\newfontfamily\arabicfont[Scale=MatchLowercase,
                          Script=Arabic]{Scheherazade}

\begin{document}
before tikz insertion  \tikz[baseline=-0.5ex]\draw(0,0)circle(1ex); afteeeeeeeeeeeeer
\end{document}

これはアラビア語に特に関係していると思います。ギリシャ語や中国語も使っていますが、影響はありません。tikz

うわぁぁぁぁ

答え1

おそらく、数式モードの隠れた使用により、いくつかの方向ノードが介入することになります。内部のコードを保護できます。\mbox

\documentclass{article}

\usepackage{fontspec}
\usepackage{tikz}
\usepackage{polyglossia}

\setmainlanguage{french}
\setotherlanguage{arabic} % comment that line, the problem disappears.

\setmainfont[Ligatures=TeX,
             Numbers=OldStyle]{Linux Libertine O}

\newfontfamily\arabicfont[Scale=MatchLowercase,
                          Script=Arabic]{Scheherazade}

\begin{document}
before tikz insertion  \mbox{\tikz[baseline=-0.5ex]{\draw(0,0)circle(1ex);}} afteeeeeeeeeeeeer
\end{document}

関連情報