我在 Latex (Beamer) 中使用 align* 环境。我在那里有几个方程式,但其中一个方程式比幻灯片的宽度略长,最后一部分留在幻灯片之外。这是一个示例代码:
\begin{frame}{sample frame}
\begin{align*}
X &= 3 \\
Y &= A+B+C+D+E+F+G+H+I+J+K+L+M+N+O
\end{align*}
\end{frame}
第二个方程中的“+O”将留在外面。如果我可以让方程在幻灯片中占用比常规线宽稍多一点的宽度,那么第二个方程就可以适合,而不是将第二个方程分成两行。实现此目的的最佳方法是什么?
答案1
对于一次性案件:
\documentclass{beamer}
\begin{document}
\begin{frame}
\frametitle{sample frame}
\begin{align*}
\hspace*{-1.5em}
X &= 3 \\
\hspace*{-1.5em}
Y &= A+B+C+D+E+F+G+H+I+J+K+L+M+N+O
\hspace*{-1.5em}
\end{align*}
\end{frame}
\end{document}
使用\frametitle
,而不是 的附加参数\begin{frame}
。
然而我更喜欢下面这样:
\documentclass{beamer}
\begin{document}
\begin{frame}
\frametitle{sample frame}
\begin{align*}
X &= 3 \\
Y &= \begin{aligned}[t]A+B+C+D &+E+F+G+H+I+J \\
&+I+J+K+L+M+N+O
\end{aligned}
\end{align*}
\end{frame}
\end{document}
答案2
欢迎来到 TeX.SE!
您是否在追求以下的镜框外观?
通过使用\medmath
包nccmath
(将公式中使用的字体大小缩小约 30%)和aligned
数学环境:
\documentclass{beamer}
\usepackage{nccmath}
\usepackage{lipsum}
\begin{document}
\begin{frame}{sample frame}
\lipsum[1][1-3]
\[\medmath{
\begin{aligned}
X &= 3 \\
Y &= A+B+C+D+E+F+G+H+I+J+K+L+M+N+O
\end{aligned}
}
\]
\lipsum[1][1-3]
\end{frame}
\end{document}
如果要减小公式中的字体大小,则需要将较长的数学项分成两行。例如,使用 ˙mathtools˙ 包的 `multlined˙:
\usepackage{mathtools}
\usepackage{lipsum}
\begin{document}
\begin{frame}{sample frame}
\lipsum[1][1-3]
\begin{align*}
X & = 3 \\
Y & = \begin{multlined}[t]
A+B+C+D+E+F+G+H+I+ {} \\
J+K+L+M+N+O
\end{multlined}
\end{align*}
\lipsum[1][1-3]
\end{frame}
\end{document}
附录:
Ups,你居然问如何局部放大\textwidth
...通过使用changepage
包这很简单:
\documentclass{beamer}
\usepackage{changepage}
\usepackage{lipsum}
\begin{document}
\begin{frame}{sample frame}
\lipsum[1][1-3]
\begin{adjustwidth}{-1em}{-1em}
\vspace{-\baselineskip}
\begin{align*}
X & = 3 \\
Y & = A+B+C+D+E+F+G+H+I+J+K+L+M+N+O
\end{align*}
\end{adjustwidth}
\lipsum[1][1-3]
\end{frame}
\end{document}