一行中有多个标记表达式

一行中有多个标记表达式

我有几个又高又细的表达式(图形图表),我需要给它们贴上标签,就好像它们是方程式一样。考虑到它们的形状,将它们一个接一个地显示出来是疯狂的。我真的想让它们彼此相邻,并给它们下面立即显示的方程编号。我如何才能生成新的方程编号,然后将它们排版到我喜欢的任何位置?

这是我想要的效果的伪代码,其中\newlabel{blah}是一个虚构的命令,它将方程计数增加 1,排版(n)n新的方程编号,并设置标签“blah”来引用这个新数字。

\[
\begin{array}{cc}
\firstlongthinexpression & \secondlongthinexpression
\\
\newlabel{firstexpr} & \newlabel{secondexpr}
\end{array}
\]
.
.
.
In expressions~\eqref{firstexpr} and~\eqref{secondexpr}, we did blah blah blah.

答案1

您可以定义自己的命令\mylabel(与现有计数器配合使用equation)以及\myref用于排版标签和引用的命令。在下面的代码中,我曾经\rule{<width>}{<height>}生成了一个面“细长方程”,仅供参考。

\documentclass{article}
\usepackage{array}% http://ctan.org/pkg/array

\newcommand*{\mylabel}[1]{% Label
  \refstepcounter{equation}% Correct increment for referencing and label
  \label{#1}% Label
  \textrm{(\theequation)}% Typeset label
}%
\newcommand*{\myref}[1]{\textrm{(\ref{#1})}}% Reference

\begin{document}

\begin{equation}
  E=mc^2 \label{einstein}
\end{equation}

\[
  \begin{array}{*{5}{c}}
    \rule{5pt}{4em} & \rule{5pt}{3em} & \rule{5pt}{4em} & \rule{5pt}{3em} & \rule{5pt}{4em} \\
    \mylabel{firstexpr} & \mylabel{secondexpr} & \mylabel{thirdexpr} & \mylabel{fourthexpr} & \mylabel{fifthexpr}
  \end{array}
\]

In expressions~\myref{firstexpr} and~\myref{secondexpr}, we did blah blah blah. However, in expressions~\myref{fifthexpr}, 
\myref{fourthexpr} and \myref{thirdexpr} we have blah blah blah blah. I really like~\myref{einstein}.

\end{document}​

带计数器/标签/参考的细长方程

如果没有任何其他规定,这可以正常工作。但是,如果使用amsmath,则需要对\mylabel和的定义进行轻微修改\myref

\usepackage{amsmath}% http://ctan.org/pkg/amsmath
...
\makeatletter
\newcommand*{\mylabel}[1]{% Label
  \refstepcounter{equation}% Correct increment for referencing and label
  \ltx@label{#1}% Label
  \textrm{(\@currentlabel{})}% Typeset label
}%
\makeatother
\newcommand*{\myref}[1]{\textrm{\eqref{#1}}}% Reference

相关内容