自定义文本和内联方程的对齐方式

自定义文本和内联方程的对齐方式

我希望创建一个与“align”类似但可以与文本和内联方程式而不是普通方程。

在此处输入图片描述

上图是所需的结果,我希望使用以下格式创建一个环境“newalign”。

\newenvironment{newalign}{  }{  }
\newcommand{\alignhere}[1]{  }
\newcommand{\notehere}{  }

\begin{newalign}
(some equation)
\alignhere{$\Rightarrow$} (some equation) \notehere (shortnote)\\
\alignhere{$\Rightarrow$} (some looooooooooooooooooooooooooooong equation) \notehere (shortnote)\\
\alignhere{$\Leftrightarrow$} (some equation) \notehere (shortnote)
\end{newalign}


\begin{newalign}
(some equation)\\
\alignhere{$=$} (some equation) \notehere (shortnote)\\
\alignhere{$=$} (some looooooooooooooooooooooooooooooooooooooooooong equation) \notehere (shortnote)\\
\alignhere{$\subseteq$} (some equation) \notehere (shortnote)
\end{newalign}
  1. 命令 \alignhere 使用诸如 \Rightarrow、\Leftrightarrow、=、\subseteq 等符号来指示对齐点。
  2. 当长文本(或公式)出现在 \alignhere 之后时,它会自动分成多行,缩进长度等于 \alignhere{} 中使用的符号的长度。
  3. 命令 \notehere 会创建一个长度恒定、向右对齐的空间,并在每行中添加一个简短的注释(通常是一个单词)。
  4. 此环境周围的每个边距或空格(当在文本中使用此环境时)都为零。

由于我对宏了解不多,每次尝试创建满足 1-4 的环境都失败了。有人能帮助我吗?

答案1

我猜你想要这样的东西,使用tabularx一个中心列,允许换行到未指定的宽度。

在此处输入图片描述

注意我添加了 + 因为数学不允许字母之间换行。

\documentclass{article}
\usepackage{amsmath,tabularx}
\newenvironment{zz}
{\center\noindent\tabularx{\textwidth}{
@{}
>{\let\\\zznewline$}r<$
@{}
>{${}}c<{{}$}
@{}
>{${}}X<$
%@{}
l
@{}
}}
{\endtabularx\endcenter}
\newcommand\zznewline{\span\omit\span\omit\hfill\\}

\begin{document}

\begin{zz}
(some equation)
&\Rightarrow& (some equation) & (shortnote)\\
&\Rightarrow& (some lo+oo+oo+oo+oo+oo+oo+oo+oo+ooong + equation) & (shortnote)\\
&\Leftrightarrow& (some equation) & (shortnote)
\end{zz}


\begin{zz}
(some equation)\\
&=& (some equation) & (shortnote)\\
&=& (some lo+oo+oo+oo+oo+oo+oo+oo+oo+oo+oo+oo+oo+oo+oong + equation)& (shortnote)\\
&\subseteq& (some equation) & (shortnote)
\end{zz}

\end{document}

相关内容