刷新 align* left 的最后一列

刷新 align* left 的最后一列

在 中align*,我得到了以下信息: 在此处输入图片描述

使用以下 MRE:

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsmath}

\newcommand{\upd}[2]{\ensuremath{[ \hspace{0.5pt} #1 \leftarrowtail \, #2 \hspace{0.5pt} ]}}
\newcommand{\LTLglobally}{\Box}
\newcommand{\LTLeventually}{\Diamond}
\newcommand{\add}{\texttt{add}}
\newcommand{\sub}{\texttt{sub}}
\newcommand{\eq}{\texttt{eq}}

\title{}
\author{}
\date{\today}

\begin{document}
\maketitle

\begin{align*}
    \LTLglobally(&~(\upd{x}{\add~x~1} \lor \upd{x}{\sub~x~1})~&\land& \\
    &~(\eq~x~0 \to \LTLeventually (\eq~x~2)~&)&
\end{align*}

\end{document}

如何将最后一个land和“移动”)到中其他字段的右侧align*?我仍然希望land和最后一个)对齐。

答案1

这可以很容易地通过以下方式实现alignat*

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath,amssymb}

\newcommand{\upd}[2]{\ensuremath{[ \hspace{0.5pt} #1 \leftarrowtail \, #2 \hspace{0.5pt} ]}}
\newcommand{\LTLglobally}{\Box}
\newcommand{\LTLeventually}{\Diamond}
\newcommand{\add}{\texttt{add}}
\newcommand{\sub}{\texttt{sub}}
\newcommand{\eq}{\texttt{eq}}

\begin{document}

\begin{alignat*}{2}
  \LTLglobally(
    &~(\upd{x}{\add~x~1} \lor \upd{x}{\sub~x~1})~&&\land \\
    &~(\eq~x~0 \to \LTLeventually (\eq~x~2)~&&)
\end{alignat*}

\begin{align*}
  \LTLglobally(
    ~ ( \upd{x}{\add~x~1} \lor \upd{x}{\sub~x~1}) ~ \land        & \\
      ( \eq~x~0 \to \LTLeventually ( \eq~x~2 ) ~ \phantom{\land} &)
\end{align*}

\end{document}

上述两种选择都不够吸引眼球,但就要求而言已经足够了。从美观度上来说,还有许多其他选择。

相关内容