![tikz 图片和 XeTeX 多语言问题](https://linux22.com/image/272212/tikz%20%E5%9B%BE%E7%89%87%E5%92%8C%20XeTeX%20%E5%A4%9A%E8%AF%AD%E8%A8%80%E9%97%AE%E9%A2%98.png)
问题是章节标题消失了,这里只有一个最小的例子
\documentclass{report}
\usepackage{setspace}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage{arabic}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.1]{Scheherazade}
%\usepackage{amsmath, amsfonts, amssymb, amsthm}
%=========================================================
\usepackage{tikz}
\usepackage{etoolbox}
\AtBeginEnvironment{tikzpicture}{\selectlanguage{english}}
\tikzset{font=\selectlanguage{arabic}}
\begin{document}
Some latin text and inline arabic: \textarabic{السلام عليكم}
And for larger blocks of text you can use Arabic environment:
\begin{Arabic}
\section{المتتاليات العددية}
\tikzset{
mybox/.style={
draw=red, fill=blue!20, very thick,
rectangle, rounded corners, inner sep=10pt, inner ysep=20pt
},
fancytitle/.style={
draw=red, fill=blue!20, text=black, rectangle, rounded corners
}
}
\begin{tikzpicture}
\node [mybox] (box){%
\begin{minipage}{.89\textwidth}
العربية أكثر لغات المجموعة السامية متحدثينَ، وإحدى أكثر اللغات انتشارًفي العالم، يتحدثها أكثر من 422 مليون نسمة،1 ويتوزع متحدثوها في المنطقة المعروفة باسم الوطن العربي، بالإضافة إلى العديد من المناطق الأخرى المجاورة كالأحواز وتركيا وتشاد ومالي السنغال وإرتيريا. اللغة العربية ذات أهمية قصوى لدى المسلمين، فهي لغة مقدسة (لغة القرآن)، ولا تتم الصلاة (وعبادات أخرى) في الإسلام إلا بإتقان بعض من كلماتها.
\end{minipage}
};
\node[fancytitle, left=10pt] at (box.north east) {\AR{نظـريـة}};
\node[fancytitle, rounded corners] at (box.south east) {$\clubsuit$};
\end{tikzpicture}%
هذه محاولة ناجحة للكتابة بالعربية مع استخدام التكزد
\section{المحاولة الثانية لكتابة تكزد }
\begin{tikzpicture}
\node [mybox] (box){%
\begin{minipage}{.89\textwidth}
يجب التأكد من جودة الفونت بكل طريقة ممكنة
\end{minipage}
};
\node[fancytitle, left=10pt] at (box.north east) {\AR{نظرية رقم - 2}};
\node[fancytitle, rounded corners] at (box.south east) {$\clubsuit$};
\end{tikzpicture}%
\end{Arabic}
\end{document}
答案1
答案可能为时已晚,但对于其他可能遇到同样问题的人来说......您只需要在设置语言之前放入 tikz 包:
\usepackage{setspace}
\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage{tikz}
\usepackage{etoolbox}
\setmainlanguage{arabic}
\setotherlanguage{english}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.1]{Scheherazade}
不需要\AR。