我正在使用 Memoir 和 polyglossia(包括 fontspec 和 bidi)。我的文档包含阿拉伯文和拉丁文文本。我希望脚注标签(footnotemark)以定义的拉丁字体显示:具体来说,使用阿拉伯数字(相对于所谓的印地语)数字(如 1、2、3;而不是 ١ ٢ ٣)。
我知道可以定义 \setmainlanguage[numerals=maghribi]{arabic},但这会导致全部文档中的数字都使用阿拉伯数字,包括页码、行号等。我只希望脚注标记使用阿拉伯数字。谢谢你的帮助。
\TeXXeTstate=1
\documentclass{memoir}
\usepackage{polyglossia}
\setmainlanguage{arabic}
\setotherlanguage{english}
\newfontfamily{\arabicfont}[Script=Arabic,Scale=1.2,WordSpace=1.66]{Amiri}
\newfontfamily{\englishfont}[Script=Latin,Scale=1.2,WordSpace=1.66]{Times}
\newcommand{\eia}[1]{\LRE{\englishfont{#1}}} % English-in-Arabic
\begin{document}
\setLTR
This is some text.\footnote{Text.}
\unsetLTR
هذه كتابة.
\footnote{تعليقة.}
\end{document}
答案1
这里包改变了获取印度数字形式 polyglossia
的定义٣ ٢ ١ ...\arabic
您可以通过重新定义命令来修改脚注编号的格式\thefootnote
\documentclass{memoir}
\usepackage{polyglossia}
\setmainlanguage{arabic}
\setotherlanguage{english}
\newfontfamily{\arabicfont}[Script=Arabic,Scale=1.2,WordSpace=1.66]{Amiri}
\newfontfamily{\englishfont}[Script=Latin,Scale=1.2,WordSpace=1.66]{Times}
\newcommand{\eia}[1]{\LRE{\englishfont{#1}}} % English-in-Arabic
\begin{document}
\renewcommand{\thefootnote}{\englishfont\number\value{footnote}}
\begin{english}
This is some text.\footnote{Text.}
\end{english}
هذه كتابة.
\footnote{تعليقة.}
\end{document}
我们将拉丁文本放入english
环境中以使用\englishfont
的定义中的相同内容\thefootnote
。
和页脚
如果你想让脚注编号\arabicfont
在阿拉伯语和\englishfont
英语环境中同时出现,你可以使用这样的条件
\documentclass{memoir}
\usepackage{polyglossia}
\setmainlanguage{arabic}
\setotherlanguage{english}
\newfontfamily{\arabicfont}[Script=Arabic,Scale=1.2,WordSpace=1.66]{Amiri}
\newfontfamily{\englishfont}[Script=Latin,Scale=1.2,WordSpace=1.66]{Times}
\newcommand{\eia}[1]{\LRE{\englishfont{#1}}} % English-in-Arabic
\makeatletter
\newcommand{\MarkFont}{\if@RTL \arabicfont \else \englishfont \fi}
\makeatother
\begin{document}
\renewcommand{\thefootnote}{\MarkFont\number\value{footnote}}
\begin{english}
This is some text.\footnote{Text.}
\end{english}
هذه كتابة.
\footnote{تعليقة.}
\end{document}