我想为方程式创建连续星号标签
a+b=c (∗)
x+y=z (⁑)
i+j=k (⁂)
您会如何排版它们?
答案1
对于您所想的带有星号的编号,您可以在不使用它的情况下定义它,\substack
但这似乎不是最好的工具。
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\newcommand{\stars}{}% just for safety
\DeclareRobustCommand{\stars}[1]{\stars@{#1}}
\newcommand{\stars@}[1]{%
\ifcase#1\relax\or\stars@one\or\stars@two\or\stars@three\or\stars@four
\else ??\fi
}
\newcommand{\stars@char}{$\scriptstyle*$}
\newcommand{\stars@base}[1]{%
$\m@th\vcenter{\offinterlineskip\ialign{\hfil##\hfil\cr#1\crcr}}$%
}
\newcommand{\stars@one}{%
\stars@base{\stars@char}%
}
\newcommand{\stars@two}{%
\stars@base{\stars@char\cr\stars@char}%
}
\newcommand{\stars@three}{%
\stars@base{\stars@char\cr\stars@char\stars@char}%
}
\newcommand{\stars@four}{%
\stars@base{\stars@char\stars@char\cr\stars@char\stars@char}%
}
\makeatother
\begin{document}
\begin{gather}
p+q=w \\
a+b=c \label{eq:1} \tag{\stars{1}} \\
x=y \label{eq:2} \tag{\stars{2}} \\
x=y \label{eq:3} \tag{\stars{3}} \\
x=y \label{eq:4} \tag{\stars{4}}
\end{gather}
Text \eqref{eq:1} and \eqref{eq:2} and \eqref{eq:3} and \eqref{eq:4}
\end{document}
答案2
不幸的是,字符 ⁂ (U+2042) 未在 MathClass.txt 文件中声明,因此几乎所有 Unicode 数学字体中都缺少该字符。但是字符 ⁑ (U+2051) 在此处存在,并且有些 Unicode 数学字体包含该字符,例如。我的示例使用此字体并将 ⁂ 定义为活动字符,相当于由这三个 * 定义并完成的STIXMath-Regular.otf
宏。\threeasts
\halign
该示例使用 OpTeX:
\loadmath{[stixmath-regular]}
\fontfam[termes]
\def\threeasts{\vcenter{\offinterlineskip\halign{\hfil##\hfil\cr$*$\cr$**$\cr}}}
\catcode`⁂ = 13 \let ⁂ = \threeasts
$$
a + b = c \eqno (*)
$$
$$
x + y = z \eqno (⁑)
$$
$$
i + j = k \eqno (⁂)
$$
\bye
答案3
以下是使用 Unicode 字符的 egreg 的出色答案的简化:它适用于 LuaLaTeX 或 XeLaTeX。
\documentclass{article}
\tracinglostchars=3 % Make it an error if a glyph is missing.
\usepackage[default]{fontsetup} % Load unicode-math and New Computer Modern
\newfontfamily\symbolfont{DejaVu Serif}[Scale=MatchUppercase]
\newcommand\texttwostars{{\symbolfont\symbol{"2051}}} % ⁑
\newcommand\textthreestars{{\symbolfont\symbol{"2042}}} % ⁂
\newcommand\textdoublequestion{{\symbolfont\symbol{"2047}}} % ⁇
\newcommand{\stars}[1]{%
\ifcase#1\relax\or\textasteriskcentered\or\texttwostars\or\textthreestars
\else\textdoublequestion\fi}
\begin{document}
\begin{gather}
p+q=w \\
a+b=c \label{eq:1} \tag{\stars{1}} \\
x=y \label{eq:2} \tag{\stars{2}} \\
x=y \label{eq:3} \tag{\stars{3}}
\end{gather}
\end{document}