水平縮小方程式以適應周圍的 tcolorbox,與align*指令相容

水平縮小方程式以適應周圍的 tcolorbox,與align*指令相容

我想在我的投影機幻燈片中的方程式周圍放置框架。

為此,我使用包 tcolorbox。

我使用在本網站其他地方找到的宏\fiteq{}來水平縮小超長方程式(請參見下面的第一個方程式)。

如何採用此巨集來使用對齊命令,例如\\&? (請參閱下面的第二個方程式。當我用 \fiteq{} 包圍內容時,我收到錯誤訊息) 在此輸入影像描述

我最滿意的解決方案是縮小方程式而不是擴大周圍的盒子。

另外:我還希望能夠使用equation環境而不是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}

相關內容