我想要在我定义的新环境中实现以下效果,其中应该是分隔符的内容是 \begin{aligned} \end{aligned} 块。
\begin{equation}
/ math math math math math (outside aligned)| \lor |
\ math math /
\end{equation}
这一切都很简单,只是我想将 \lor 置于对齐方程的中心,即,将其置于两个分隔符的中心。如何在宏中执行此操作(无需手动设置对齐字符)?
我是否需要将 \lor 设为中间分隔符或类似的东西?请注意,有时外部分隔符可能需要不可见(如果不是完全不存在),但 \lor 仍应位于对齐环境的中心。
答案1
我并不完全确定,但您正在寻找这样的东西吗?
\documentclass{article}
\usepackage{amsmath}
\usepackage{mathtools}
\makeatletter
\newcommand*\addlor[2][]{%
\begingroup
\ifx\relax#1\relax
\mathpalette\addlor@aux{#2}%
\else
\addlor@aux#1{#2}%
\fi
\endgroup
}
\def\addlor@aux#1#2{
\setbox0\hbox{$\m@th#1#2$}%
\rlap{\hbox to\wd0{\hfill$\m@th#1\lor$\hfill}}%
\box0
}
\makeatother
\begin{document}
\begin{equation}
\text{(outside aligned)}
\left<
\addlor{
\begin{aligned}
f(x)&=g(x)+h(x)\\
&\\
f(x)&=x
\end{aligned}
}
\right>
\end{equation}
\makeatother
\end{document}
该宏采用可选的第一个参数,可以是、、或\addlor
之一。如果没有可选参数,它只会使用周围的样式。\displaystyle
\textstyle
\scriptstyle
\scriptscriptstyle
答案2
我不明白新的环境中到底应该有什么。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
\text{(outside aligned)}
\left(\arraycolsep=1.35pt
\begin{array}{@{}rl@{}}
f(x) &= g(x)+h(x)\\
\multicolumn{2}{c}{\lor}\\
f(x) &= x
\end{array}
\right)
\end{align}
\end{document}