在 \(re)newcommand 环境中使用 unicode-math 包交替使用数学字母

在 \(re)newcommand 环境中使用 unicode-math 包交替使用数学字母

我正在尝试定义一些命令来在unicode-math包中切换各种字母。更具体地说,我的代码如下

\documentclass[12pt]{article}
\usepackage{unicode-math}
\usepackage[utf8]{inputenc}

\setmathfont[version=Pagella]{TeX Gyre Pagella Math}
\setmathfont[version=Termes]{TeX Gyre Termes Math}
\setmathfont[version=Default]{Latin Modern Math}

\renewcommand{\L}{$\mathversion{Termes}$\mathscr{L}}
\renewcommand{\H}{$\mathversion{Default}$\mathscr{H}}
\renewcommand{\l}{$\mathversion{Default}$\mathscr{L}}
\newcommand{\h}{$\mathversion{Pagella}$\mathscr{H}}
\newcommand{\q}{\vec{q}}
\newcommand{\dq}{\dot{\vec{q}}}

\begin{document}
This is a Lagrangian function $\L(\q,\dq,t)$, and this is the Hamiltonian $\H$.
This is a Lagrangian density $\l$, and this is a Hamiltonian density $\h$.
I want to take a derivative, so I'll go $\partial_t\L$, and this is still fine, but if I go to the double dollar enviroment, I get
$$
\partial_t\L
$$
and after it
\begin{equation}
\partial_t\L
\end{equation}
\end{document}

输出如下这意味着我在使用双美元符号时明显做错了 我真的很想知道如何通过保留这四个特定字母来重新定义命令,而不必每次都复制和粘贴整个序列。如果有人能帮忙,我将不胜感激,非常感谢!

答案1

您只能在数学之外更改数学版本,在同一版本中使用多个数学系列会更有效率,但 unicode-math 没有直接为此设置,所以在这里我模拟了一个版本切换,就像\boldsymbol在嵌套中切换数学版本一样\text

\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{unicode-math}
% never in luatex or xetex \usepackage[utf8]{inputenc}

\setmathfont[version=Pagella]{TeX Gyre Pagella Math}
\setmathfont[version=Termes]{TeX Gyre Termes Math}
\setmathfont[version=Default]{Latin Modern Math}

\renewcommand{\L}{\text{\mathversion{Termes}$\mathscr{L}$}}
\renewcommand{\H}{\text{\mathversion{Default}$\mathscr{H}$}}
\renewcommand{\l}{\text{\mathversion{Default}$\mathscr{L}$}}
\newcommand{\h}{\text{\mathversion{Pagella}$\mathscr{H}$}}
\newcommand{\q}{\vec{q}}
\newcommand{\dq}{\dot{\vec{q}}}

\begin{document}
This is a Lagrangian function $\L(\q,\dq,t)$, and this is the Hamiltonian $\H$.
This is a Lagrangian density $\l$, and this is a Hamiltonian density $\h$.
I want to take a derivative, so I'll go $\partial_t\L$, and this is still fine, but if I go to the double dollar enviroment, I get
% never use $$ in latex$$
\[
\partial_t\L
\]%$$
and after it
\begin{equation}
\partial_t\L
\end{equation}
\end{document}

相关内容