我想定义一个类似于\section
将希腊字母按正确顺序排列在方程中的命令。此外,我希望可以选择标记希腊字母以便以后使用,并且我想给方程的各部分命名以便以后使用。例如
\begin{equation}
\greekvar + 4 + \frac{1}{N} + \greekvar{specialvar} + d{\int_0^\infty x^2\mathrm{d}x\label{specialintegral}}
\end{equation}
If $\greekref{specialvar}$ is 0 then $d=1$ and $\ref{specialintegral}$ is active.
结果应该与以下相同:
\begin{equation}
\alpha + 4 + \frac{1}{N} + \beta + d\int_0^\infty x^2\mathrm{d}x
\end{equation}
If $\alpha$ is 0 then $d=1$ and $\int_0^\infty x^2\mathrm{d}x$ is active.
如果可能的话,我想使用我建议的命令。非常感谢您的帮助。就希腊数字而言,我找到了某种解决方案,尽管它在数学模式下不起作用。
答案1
不错的锻炼,但我不推荐。
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\newcommand\mathgreek[1]{\expandafter\@mathgreek\csname c@#1\endcsname}
\newcommand\@mathgreek[1]{%
\ifcase#1\or\alpha\or\beta\or\gamma\or\delta\or\epsilon\or\zeta\or
\eta\or\theta\or\kappa\or\lambda\or\mu\or\nu\or\xi\or o\or\pi\or
\rho\or\sigma\or\tau\or\upsilon\or\chi\or\phi\or\psi\or\omega\else
\@ctrerror\fi}
\newcounter{greekvars}
\renewcommand\thegreekvars{\mathgreek{greekvars}}
\newcommand\greekvar[1][]{%
\if\relax\detokenize{#1}\relax
\stepcounter{greekvars}%
\else
\refstepcounter{greekvars}\ltx@label{#1}%
\fi
\thegreekvars
}
\makeatother
\newcommand{\greekref}[1]{\ref{#1}}
\newcommand\diff{\mathop{}\!\mathrm{d}}
\begin{document}
\begin{gather}\label{specialintegral}
\greekvar + 4 + \frac{1}{N} + \greekvar[specialvar] +
c\int_0^\infty x^2 \diff x
\end{gather}
If $\greekref{specialvar}$ is $0$ then $c=1$ and \eqref{specialintegral} is active.
\begin{align}
\greekvar[4]&=1 \label{x}\\
\greekvar[5]&=2 \label{y}
\end{align}
$\greekref{4}$ and $\greekref{5}$ are in \eqref{x} and \eqref{y}
\end{document}
您必须小心放置\label
with equation
:事实证明,这amsmath
两个标签不能放在一起。因此,如果您使用引用,\greekvar
则需要使用gather
而不是equation
。