这是这个问题;我还希望标签(由命令排版\tag
)采用内联数字。但是,检查\tag
in的定义amsmath
并没有给我带来太多信息 - 它\let
取决于(我猜)所使用的具体环境,这取决于不同的宏。
答案1
我会这样做
\documentclass{article}
\usepackage{amsmath}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX,Numbers=OldStyle]{Linux Libertine O}
\newfontfamily{\tagfont}[Ligatures=TeX]{Linux Libertine O}
\makeatletter
\def\maketag@@@#1{\hbox{\m@th\normalfont\tagfont#1}}
\makeatother
\begin{document}
123
\begin{equation}
a+b=c\tag{1234567890}\label{x}
\end{equation}
\setcounter{equation}{455}
\begin{equation}
aaa
\end{equation}
456--\eqref{x}--456
\end{document}
重要的宏是\maketag@@@
;您也可以使用\Lpnum
其他答案的方法,但我相信这样更干净。
答案2
如果你不想直接更改内部宏,mathtools
包装更加友好(参见egreg的解决方案):
\documentclass{article}
\usepackage{mathtools}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX,Numbers=OldStyle]{Linux Libertine O}
\newfontfamily\lining[Ligatures=TeX]{Linux Libertine O}
\newtagform{lining}{(\lining}{)}
\usetagform{lining}
\begin{document}
123
\begin{equation}
a+b=c\tag{1234567890}\label{x}
\end{equation}
\setcounter{equation}{455}
\begin{equation}
aaa
\end{equation}
456--\eqref{x}--456
\end{document}