![水平縮小方程式以適應周圍的 tcolorbox,與align*指令相容](https://rvso.com/image/330736/%E6%B0%B4%E5%B9%B3%E7%B8%AE%E5%B0%8F%E6%96%B9%E7%A8%8B%E5%BC%8F%E4%BB%A5%E9%81%A9%E6%87%89%E5%91%A8%E5%9C%8D%E7%9A%84%20tcolorbox%EF%BC%8C%E8%88%87align*%E6%8C%87%E4%BB%A4%E7%9B%B8%E5%AE%B9.png)
我想在我的投影機幻燈片中的方程式周圍放置框架。
為此,我使用包 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}