强制使用拉丁字母作为脚注标记

强制使用拉丁字母作为脚注标记

在一份多语言文档(希腊语和英语)中,我想将脚注标记从阿拉伯数字更改为拉丁字母。这里是我尝试这样做的方法,但是当我用它编译时,xelatex我得到的却是希腊字母。

这是一个 mwe:

\documentclass[a4paper,12pt]{article}

\usepackage{unicode-math,xgreek}
\defaultfontfeatures{Mapping=tex-text}
\setromanfont[Mapping=tex-text]{GFS Didot}

\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage[variant=modern]{greek}    

\usepackage{alphalph}
\renewcommand*{\thefootnote}{\alph{footnote}}
\alphalph{\value{footnote}}

\begin{document}

some text\footnote{test}

\end{document}

答案1

该包xgreek明确重新定义\@alph\@Alph使用希腊数字。

如果文档的其余部分不需要这些特定的希腊数字样式,则可以通过捕获原始定义切换回拉丁样式并在xgreek加载后返回它们。

\documentclass[a4paper,12pt]{article}

\makeatletter
\let\latex@alph\@alph
\let\latex@Alph\@Alph
\makeatother
\usepackage{unicode-math,xgreek}
\defaultfontfeatures{Mapping=tex-text}
\usepackage{alphalph}
\renewcommand*{\thefootnote}{\alph{footnote}}

\setromanfont[Mapping=tex-text]{Arial Black}%
%GFS Didot}

\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage[variant=modern]{greek}    

%\alphalph{\value{footnote}}

\makeatletter
\let\@alph\latex@alph
\let\@Alph\latex@Alph
\makeatother
\begin{document}
\section{Foo}
\alph{section}
some text\footnote{test}

\end{document}

改良版

\documentclass[a4paper,12pt]{article}

\usepackage{unicode-math,xgreek}
\defaultfontfeatures{Mapping=tex-text}
\usepackage{alphalph}



\setromanfont[Mapping=tex-text]{Arial Black}%
%GFS Didot}

\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage[variant=modern]{greek}    


\makeatletter
\renewcommand*{\thefootnote}{%
  \latin@alph{\c@footnote}%
}
\makeatother


\begin{document}
\section{Foo}
\alph{section}
some text\footnote{test}
\end{document}

在此处输入图片描述

相关内容