在之前的问题我得到了一个简单的方法,可以enumerate
在阅读阿拉伯语mainlanguage
文档时暂时切换到英语。
此解决方案适用于第一的枚举级别。它不适用于嵌套enumerate
情况下的下一级。
我现在想问的是,如果足够简单的话,如何达到下一个级别 — — 或者甚至是更高级别。
下面的 MWE 包含有限的原始解决方案并清楚地显示了问题:
\documentclass{article}
\usepackage{polyglossia}
% the next 3 lines are a solution from @selim-bou
\makeatletter
\newcommand{\restarabic}{\let\@arabic\orig@arabic}
\makeatother
\setmainlanguage{arabic}
\setotherlanguage{english}
\newfontfamily\arabicfont[Script=Arabic, Scale=1.50]{Times New Roman}
\newfontfamily\englishfont[Script=Latin]{Times New Roman}
\begin{document}
\begin{english}
This is going to be a nested, numbered list. The document is elsewhere mainly Arabic.
\begin{enumerate}
\restarabic
\item The first item
\item The second item
\begin{enumerate}
\item A sub-item.
\item Another sub-item
\end{enumerate}
\item A third, main item.
\end{enumerate}
\end{english}
\end{document}
答案1
只需\let\@alph\@origalph
在第二级枚举环境中添加恢复字母格式 a,b,c。
\documentclass{article}
\usepackage{polyglossia}
\makeatletter
\newcommand{\restcount}{
\let\@arabic\orig@arabic%
\let\@alph\@origalph%
\let\@Alph\@origAlph%
}
\makeatother
\setmainlanguage{arabic}
\setotherlanguage{english}
\newfontfamily\arabicfont[Script=Arabic, Scale=1.50]{Times New Roman}
\newfontfamily\englishfont[Script=Latin]{Times New Roman}
\begin{document}
\begin{english}
This is going to be a nested, numbered list. The document is elsewhere mainly Arabic.
\begin{enumerate}
\restcount
\item The first item
\item The second item
\begin{enumerate}
\item A sub-item.
\item Another sub-item
\end{enumerate}
\item A third, main item.
\end{enumerate}
\end{english}
\end{document}