有了这个 MWE
\documentclass{article}
\usepackage{enumerate}
\usepackage{fontspec}
\usepackage{polyglossia}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.3]{Amiri}
\setdefaultlanguage{arabic}
\setotherlanguage{english}
\begin{document}
\begin{english}
\begin{enumerate}[{example}- a)]
\item text
\item text
\item text
\item text
\end{enumerate}
\end{english}
\end{document}
使用XeLaTeX
标签 'a'、'b' 等进行编译... 未出现在输出中
这个问题有解决办法吗?
答案1
当默认语言为阿拉伯语时,polyglossia
重新定义为使用阿拉伯字母,但在使用\@alph
时显然不会恢复定义。english
应该有更好的方法来做到这一点,但在没有更好的方法之前,请使用以下方法:
\documentclass{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage{enumitem}
\makeatletter
\appto\blockextras@english{%
\let\@savealph\@alph
\let\@alph\@origalph
}
\appto\noextras@english{\let\@alph@savealph}
\makeatother
\newfontfamily\arabicfont[Script=Arabic,Scale=1.3]{Amiri}
\setdefaultlanguage{arabic}
\setotherlanguage{english}
\begin{document}
\begin{english}
\begin{enumerate}[label=example-\alph*)]
\item text
\item text
\item text
\item text
\end{enumerate}
\end{english}
\end{document}
也enumerate
可以起作用,但enumitem
功能更强大。