TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In the question Latex Math Symbol: Vitanyi puts a tiny plus symbol over his equals. How do I do that?, there was an answer to how to place additional sign over the equal sign.

And my question is, what if I also want to have some symbol/text under the equal sign? Or if I want to use \stackrel to label my equal sign that follows an tab alignment character (&=)?

share|improve this question
@user4217 --- I don't understand the second part of your question. Do you mean that you want to have text underneath an equals sign that follows an alignment tab character? – Ian Thompson May 16 '11 at 17:04
Yes, that's what I mean. Sorry I got it wrong in the question, I've edited it. – FloydChen May 16 '11 at 17:52
I have edited my answer. – Ian Thompson May 17 '11 at 12:53
up vote 7 down vote accepted

The amsmath package provides the \overset and \underset macros that can be used to place one symbol above or below another. If you want text above and below, you could use \DeclareMathOperator* (also from amsmath).

\underset{b}{=} \quad  \eq^a_b

There shouldn't be any problems using this in amsmath environments such as align.

A  &\eq^b_a B \\
   &\eq^b_a C

However, if you use it in the middle column of an eqnarray or eqnarray* (which are generally considered to be obsolete), then you will need \displaystyle before \eq.

All of the above applies to egreg's suggestion of defining \eq via


which seems to improve the spacing (and may be better in other ways as well).

share|improve this answer
thanks, that's helpful. – FloydChen May 16 '11 at 17:36
In this case I would prefer \newcommand{\eq}[2]{\mathrel{\operatorname*{=}_#1^#2}}} to be called as \eq{under}{over}. In this way the symbol will behave like a relation symbol. – egreg May 16 '11 at 18:04
\newcommand{\eq}[2]{\mathrel{\operatorname*{=}_#1^#2}}} is not a balanced expression (one too many }). – Steven B. Segletes Jul 9 '13 at 10:39
@StevenB.Segletes --- well, that's what I get for copying from egreg's comment! – Ian Thompson Jul 9 '13 at 11:41
I suggest modifying egregs command to this form: \newcommand{\eq}[2]{\mathrel{\operatorname*{=}_{#1}^{#2}}} which allows empty strings as its arguments in case one wants text only above or below the operator – ted Sep 23 '13 at 12:38

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.