使用以下 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}
上述两种选择都不够吸引眼球,但就要求而言已经足够了。从美观度上来说,还有许多其他选择。