0

I would like to define a new equation environment that displays the equation inline, but with its number being displayed at the end of the line (without text between them).

More concretely, the following code:

The quick brown fox jumps over the lazy dog. We have
\begin{equation-inline}
 a + b + c = d.
\end{equation-inline}
Therefore, ...

should output something like this:

enter image description here

Motivation: I am writing a document with some space constraints and I would be able to save a few lines by replacing some display-style centered equations with the above.

There have been quite a lot of questions on labeled inline equations, for example this one or this one, but my question is a bit different: I would like the equation number to be displayed at the end of the line so that it can be easily located.

Thank you in advance for your help!


Update:

With the following definition of equation-inline, the equation is displayed correctly but referencing to it doesn't work:

\documentclass{article}
\usepackage{amsmath}

\newenvironment{equation-inline}{$\stepcounter{equation}}{$\hfill(\theequation)\}

\begin{document}

The quick brown fox jumps over the lazy dog. We have \begin{equation-inline}\label{eq:x} a + b + c = d. \end{equation-inline} According to~\eqref{eq:x}, we have...

\end{document}

enter image description here

Update 2:

Replacing \stepcounter{equation} in the above with \refstepcounter{equation} works (credit):

\newenvironment{equation-inline}{
    % Put \refstepcounter at the beginning, because
    % package `hyperref' sets the anchor here.
    \refstepcounter{equation}%
    $}{
    $\hfill(\theequation)\\}
f10w
  • 791

3 Answers3

1

Although I disagree stylistically, this is how you could do it:

inline equation tags

\documentclass[fleqn]{article}
\usepackage{amsmath}

\newcommand\inlineTag{% \refstepcounter{equation}% \hspace{0em plus 1fill}\makebox{(\theequation)}% }

\begin{document}

\section{Option 1 (the manual way)}
The quick brown fox jumps over the lazy dog.
%
\begingroup
    \setlength{\mathindent}{0pt}
    \setlength{\abovedisplayskip}{0pt}
    \setlength{\belowdisplayskip}{0pt}
    \begin{equation}\label{option1}
        \text{The quick brown fox jumps over the lazy dog. We have }    a + b + c = d.
    \end{equation}
\endgroup
Therefore, ...
\begin{equation}
    a^2+b^2=c^2
\end{equation}

\noindent
The inline equation is \eqref{option1}.

\section{Option 2 (the automatic way)}

The quick brown fox jumps over the lazy dog.\\
The quick brown fox jumps over the lazy dog. We have $a + b + c = d.$ \inlineTag\label{option2}\\
Therefore, ...

\begin{equation}
    a^2+b^2=c^2
\end{equation}

\noindent
The inline equation is \eqref{option2}.

\end{document}

Credit for the right align code to this answer.

codecepts
  • 396
  • 1
  • 4
  • Thanks and +1. Option 1 is not interesting to me, while Option 2 is quite similar to my solution (I prefer using an environment because then I can switch easily between equation and equation-inline). – f10w May 20 '21 at 11:31
  • You shouldn't leave a blank line before a display; it will foul up the vertical spacing and will allow a page break. And if the text following the display is a continuation of the paragraph, you shouldn't have a blank line there either (and you won't need \noindent). – barbara beeton May 20 '21 at 16:27
1

It can be done with the linegoal package, which measures the remaining space on a line (requires two compilations), and nccmath:

\documentclass{article}
\usepackage{linegoal}
\usepackage{nccmath}
\usepackage{lipsum}

\newenvironment{inlineequation}{% \minipage{\linegoal}\useshortskip\fleqn[0.5em]\equation}{\endequation\endfleqn\endminipage\linebreak}

\begin{document}

\noindent The quick brown fox jumps over the lazy dog. We have \begin{inlineequation} a + b + c = d. \end{inlineequation} \lipsum[11]

\end{document}

enter image description here

Bernard
  • 271,350
0

The following does the job:

\newenvironment{equation-inline}{
    % Put \refstepcounter at the beginning, because
    % package `hyperref' sets the anchor here.
    \refstepcounter{equation}%
    $}{
    $\hfill(\theequation)\\}
f10w
  • 791