而加载包realscripts
会将某些字体中的脚注标记更改为内衬数字(参见如何更改脚注编号样式),它不适用于 Times New Roman:
\documentclass{article}
\usepackage{fontspec}
\setmainfont[Numbers=OldStyle]{Times New Roman}
\newfontfamily\TNR[Numbers=Lining]{Times New Roman}
\usepackage{realscripts}
\begin{document}
0123456789\footnote{Word}
{\TNR{0123456789\footnote{Word}}}
\end{document}
因此,我想知道是否有其他方法可以将脚注标记设置为realscripts
无效果的带字体的内衬数字。通过更新宏\footnotemark
或其他方法...
答案1
我将 Times New Roman 换成了 Latin Modern Roman,因为我的 TNR 副本只有行数字,而且这两种字体都没有真正的上标。这显示了在文档中途设置脚注标记所用字体的效果。
\documentclass{article}
\usepackage{fontspec}
\setmainfont[Numbers={OldStyle,Proportional}]{Latin Modern Roman}
\newfontfamily\llf[Numbers={Lining,Monospaced}]{Latin Modern Roman}
\newfontfamily\lpf[Numbers={Lining,Proportional}]{Latin Modern Roman}
\newfontfamily\ltf[Numbers={OldStyle,Monospaced}]{Latin Modern Roman}
\usepackage{realscripts}
\begin{document}
0123456789\footnote{Word}% BEFORE
{\llf{0123456789\footnote{Word}}}
{\lpf 0123456789\footnote{Word}}
{\ltf 0123456789\footnote{Word}}
\renewcommand{\footnotemarkfont}{\lpf}
\setcounter{footnote}{0}
0123456789\footnote{Word}% AFTER
{\llf{0123456789\footnote{Word}}}
{\lpf 0123456789\footnote{Word}}
{\ltf 0123456789\footnote{Word}}
\end{document}