两边都有标签的等式

两边都有标签的等式

确切的要求是我想把引用放在左边,把通常的阿拉伯标签放在右边。

到目前为止我已经找到了 3 个解决方案:

  1. 使用环境flalign。来源:如何从两边对数学等式进行编号?
  2. 使用\makebox从头开始​​创建环境,借助\hfill。来源:https://tex.stackexchange.com/a/574793/199226
  3. 使用包zreftikz获取精确的坐标,并将文本与其他包一起放置在那里,即tikztextposeso-pic

以下 MWE 包含equation对齐参考的默认值、解决方案 1、解决方案 2 和解决方案 3 的实例。

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikzpagenodes}

% source: https://tex.stackexchange.com/a/574795/199226
\newcommand{\ltag}[1]{
    \begin{tikzpicture}[baseline=(tmp.base),remember picture]
        \node[inner sep=0pt](tmp){\vphantom{1}};
        \begin{scope}[overlay]
            \path (current page text area.west|-tmp.base)
                node[anchor=base west,inner sep=0pt,outer sep=0pt]{#1};
        \end{scope}
    \end{tikzpicture}
}

\begin{document}
\begin{equation}
    \frac{Example}{Equation}
\end{equation}
\begin{equation}
    \frac{Example}{Equation}\ltag{tikz}
\end{equation}
\begin{flalign}
    \rlap{\text{flalign with balancing}}%
    \phantom{(\theequation)}%
    &&\frac{Example}{Equation}&&
\end{flalign}
\begin{flalign}
    \rlap{\text{flalign}}%
    &&\frac{Example}{Equation}&&
\end{flalign}
\makebox[\linewidth]{
    \refstepcounter{equation}
    \rlap{makebox}\hfill
    $\displaystyle \frac{Example}{Equation}$
    \hfill\llap{(\theequation)}
}
\end{document}

在此处输入图片描述

解决方案 1 的问题是方程式没有完全居中。我尝试\phantom{(\theequation)}在左侧添加以进行平衡,但与通常的equation环境相比仍然有一点偏移。另请参阅:https://latex.org/forum/viewtopic.php?t=31268 还要注意flalign有不同的行距。

解决方案 2 也存在对齐问题。请参阅 MWE。

解决方案 3 可以给出所需的结果,但我认为应该有一种更干净的方法,在本地运行,而不是全局保存一些数据。

PS:我也想要\eqref正常\autoref工作。

答案1

您可以将文本添加到右对齐标签,但向左移动。

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\def\ltag#1{%
\stepcounter{equation}%
\tag*{}%
\def\df@tag{(\theequation)\llap{\rlap{#1}\hspace{\columnwidth}}}%
}
\makeatother
\begin{document}

\noindent X\dotfill X
\begin{equation}\label{aa}
    \frac{Example}{Equation}
\end{equation}

\noindent X\dotfill X
\begin{equation}
\ltag{left text}\label{bb}
    \frac{Example}{Equation}
\end{equation}


\noindent X\dotfill X
\begin{equation}
    \frac{Example}{Equation}
\end{equation}


aa\eqref{aa} aa\eqref{bb}
\end{document}

相关内容