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