1

I am using Memoir and polyglossia (including fontspec and bidi). My document contains text in Arabic script and Latin script. I'd like the footnote labels (footnotemark) to display in the defined Latin font: specifically, to use Arabic (vs so-called Hindi) numerals (numerals like 1, 2, 3; and not ١ ٢ ٣).

I am aware that one can define \setmainlanguage[numerals=maghribi]{arabic}, but that cause all numerals in the document to use Arabic numerals, including the page numbers, linenumbering, etc. I only want the footnote marker to be in Arabic numerals. Thank you for your help.

\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 Answer 1

3

Here package polyglossia change the definition of \arabic to get Indian form of numbers ٣ ٢ ١ ...

You can modify the format of footnote numbering by redefining the command \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}

We put Latin text inside english environment to use \englishfont same thing inside definition of \thefootnote.

enter image description here

And footer

enter image description here

If you want to make the footnote numbers appear with \arabicfont in Arabic context and with \englishfont in english context you can use conditional like this

\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}
1
  • Beautiful, thank you. While the first part of your answer suffices for my current needs and question, I am grateful also for the extra code for automating it, which will definitely be helpful in other projects.
    – talazem
    Jul 27, 2015 at 0:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .