水平收缩方程式以适应周围的 tcolorbox,与 align* 命令兼容

水平收缩方程式以适应周围的 tcolorbox,与 align* 命令兼容

我想在我的投影仪幻灯片中为方程式加上框架。

为此,我使用了 tcolorbox 包。

我使用在本网站其他地方找到的宏\fiteq{}来水平收缩过长的方程式(见下面的第一个方程式)。

我如何采用此宏来与对齐命令(例如\\或)配合使用&?(参见下面的第二个等式。当我用 \fiteq{} 包围内容时,我收到错误消息) 在此处输入图片描述

最让我高兴的是,解决方案是缩小方程式而不是扩大周围的框。

另外:我还希望能够使用方程式环境而不是 align*,然后在拆分环境中使用\\and 。但是,替换为会导致垂直对齐不佳: &ams align*ams equation*在此处输入图片描述

第一张图片的代码如下。对于第二张图片,我在第一个 tcolorbox 中将其替换ams align*为。ams equation*

\documentclass{beamer}
\usepackage[most]{tcolorbox}
\newcommand\fiteq[1]{%
  \sbox{\mybox}{$\displaystyle#1$}%
  \ifdim\wd\mybox>.85\textwidth\resizebox{.85\textwidth}{!}{\usebox{\mybox}}%
  \else\usebox{\mybox}\fi%
}
\newsavebox{\mybox}
\begin{document}
\begin{frame}
\begin{tcolorbox}[ams align*]% Replace by ams equation* to get second image
\fiteq{
A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z
}
\end{tcolorbox}
\begin{tcolorbox}[ams align*]
&A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z\\
\Leftrightarrow &A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z
\end{tcolorbox}
\end{frame}
\end{document}

答案1

如果您更改align*equation*,则可以在其中嵌入或,并split执行 所需的操作。最好将其取消,以避免公式上方出现较大的差距。aligned\fiteq\abovedisplayskip

示例代码的输出

\documentclass{beamer}
\usepackage[most]{tcolorbox}
\newcommand\fiteq[1]{%
  \sbox{\mybox}{$\displaystyle#1$}%
  \ifdim\wd\mybox>.85\textwidth\resizebox{.85\textwidth}{!}{\usebox{\mybox}}%
  \else\usebox{\mybox}\fi%
}
\newsavebox{\mybox}
\begin{document}
\begin{frame}
\begin{tcolorbox}[ams align*]% Replace by ams equation* to get second image
\fiteq{
A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z
}
\end{tcolorbox}
\begin{tcolorbox}[ams equation*]
\abovedisplayskip=0pt \relax
\fiteq{\begin{split}
&A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z\\
\Leftrightarrow &A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z
\end{split}}
\end{tcolorbox}
\end{frame}
\end{document}

相关内容