如何使公式 ID 位于所有行的中间?

如何使公式 ID 位于所有行的中间?

aligned我在中写了一些公式equation如下:

\begin{equation}
\begin{aligned}
&~&XNor(b_1,~b_2)=Neg(Xor(b_1,~b_2))~&\wedge~Neg(Xor(b_1,~b_2))=Xor(Neg(b_1),~b_2) \\
\Rightarrow&~&XNor(b_1,~b_2)&=Xor(Neg(b_1),~b_2) \\
\Rightarrow&~&Neg(XNor(b_1,~b_2))&=Neg(Xor(Neg(b_1),~b_2)) \\
\Rightarrow&~&Neg(XNor(b_1,~b_2))&=XNor(Neg(b_1),~b_2)
\end{aligned}
\end{equation}

但是标签(公式 ID)的位置太低了。如何将其调整到中间位置(就像其他公式一样)? 在此处输入图片描述

答案1

保持原样(应用我建议的修复后)。当您的文档为最终版本时,您可以尝试一些技巧,例如下面的技巧,其中后面的部分\wedge被人为地设置为零宽度1,我通过将所有内容移到最左边来掩盖我的踪迹。2

  1. \lefteqn是使子公式宽度为零的方法。
  2. \hspace{0pt}一开始是必要的,以便移动aligned到最左边。

避免~在公式中,逗号后的空格是正确的。运算符应为直立类型:Neg 不是乘积G

\documentclass{article}
\usepackage{amsmath}
\usepackage{lipsum}% for nonsense context

\DeclareMathOperator{\XNor}{XNor}
\DeclareMathOperator{\Neg}{Neg}
\DeclareMathOperator{\Xor}{Xor}

\begin{document}

\lipsum[1][1-3]
\begin{equation}
\hspace{0pt}
\begin{aligned}
&& \XNor(b_1,b_2)=\Neg(\Xor(b_1,b_2)) &
  \wedge \lefteqn{\Neg(\Xor(b_1,b_2))=\Xor(\Neg(b_1),b_2)} \\
\Rightarrow
&& \XNor(b_1,b_2)       &= \Xor(\Neg(b_1),b_2) \\
\Rightarrow
&& \Neg(\XNor(b_1,b_2)) &= \Neg(\Xor(\Neg(b_1),b_2)) \\
\Rightarrow
&& \Neg(\XNor(b_1,b_2)) &= \XNor(\Neg(b_1),b_2)
\end{aligned}
\hspace{1000pt minus 1fill}
\end{equation}
\lipsum[1][4-6]

\end{document}

请注意,这里使用的技巧利用了显示器的特殊形状,其中顶行有两个部分,每个部分占据文本宽度的大约一半,因此它根本不是解决此类问题的通用方法。

在此处输入图片描述

答案2

对我来说,它绝对很好用:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
    \begin{equation}
        \begin{aligned}
            ~&&Neg(Neg(b)) = b~\wedge~Neg(And(b_1,&~b_2))=Or(Neg(b_1),~Neg(b_2)) \\
            \Rightarrow&~&And(b_1,~b_2)=Neg(Or(&Neg(b_1),~Neg(b_2))) \\
            \Rightarrow&~&Neg(Or(b_1,~b_2))=And&(Neg(b_1),~Neg(b_2))
        \end{aligned}
    \end{equation}
\end{document}

在此处输入图片描述

答案3

这使用了\mathmakeboxmathtools 包中的函数。有趣的是,如果宽度太小,顶部的垂直间距会更小,这似乎与前面的文本长度有关。

\documentclass{article}
\usepackage{mathtools}
\usepackage{lipsum}% for nonsense context

\DeclareMathOperator{\XNor}{XNor}
\DeclareMathOperator{\Neg}{Neg}
\DeclareMathOperator{\Xor}{Xor}

\begin{document}

\lipsum[1][1-3]
\begin{equation}
\mathmakebox[0.7\textwidth][c]{\begin{aligned}
&& \XNor(b_1,b_2)=\Neg(\Xor(b_1,b_2)) &
  \wedge \Neg(\Xor(b_1,b_2))=\Xor(\Neg(b_1),b_2) \\
\Rightarrow
&& \XNor(b_1,b_2)       &= \Xor(\Neg(b_1),b_2) \\
\Rightarrow
&& \Neg(\XNor(b_1,b_2)) &= \Neg(\Xor(\Neg(b_1),b_2)) \\
\Rightarrow
&& \Neg(\XNor(b_1,b_2)) &= \XNor(\Neg(b_1),b_2)
\end{aligned}}
\end{equation}
\lipsum[1][4-6]

\end{document}

相关内容