如何将 dmath 方程式放入 beamer 中的块中?

如何将 dmath 方程式放入 beamer 中的块中?

我正在尝试将一个长方程式放入beamer块中:

\documentclass[pdf]{beamer}
\usepackage{adjustbox}      % to fit content into a box

% Resize equations to always fit into frame:
\usepackage{environ}         % provides \BODY
\usepackage{etoolbox}        % provides \ifdimcomp
\usepackage{graphicx}        % provides \resizebox
\usepackage{breqn}           % for multi-line equations
###

\begin{frame}{Damping} 
    \begin{columns} 
        \column{0.5\textwidth}
        \begin{figure}[ht]
            \begin{center}
                \includegraphics[width=0.6\textwidth]{images/sdof_damped}
            \end{center}
        \end{figure}
        \begin{block}<5->{Solution}     
            \begin{dmath*}
                x(t) =  \exp (-\zeta \omega_0 t) \left(  \frac{v_0 + \zeta \omega_0 x_0}{\omega_d} \sin \left( \omega_d t \right) + x_0 \cos \left( \omega_d t \right)  \right)
            \end{dmath*}
        \end{block}
        
        \column{0.5\textwidth}
        # stuff goes here 
    \end{columns}
\end{frame}

\end{document}

然而,该方程超出了块的大小:

在此处输入图片描述

有人能建议如何减小dmath方程的大小以使其适合块吗beamer

答案1

不要依赖breqn正确地分解方程。相反,在 中手动分解align*

在此处输入图片描述

\documentclass{beamer}
\usetheme{Warsaw}

\usepackage{breqn}

\begin{document}

\begin{frame}{Damping} 
  \begin{columns} 
    \column{0.5\textwidth}
      \centering
      \includegraphics[width=0.6\textwidth]{example-image}

    \begin{block}{Solution}     
      \begin{align*}
        x(t) &= \exp (-\zeta \omega_0 t) \\
             &\qquad \biggl( \frac{v_0 + \zeta \omega_0 x_0}{\omega_d} \sin \bigl( \omega_d t \bigr) \\
             &\qquad\qquad + x_0 \cos \bigl( \omega_d t \bigr)  \biggr)
      \end{align*}
    \end{block}
    
    \column{0.5\textwidth}
    More stuff goes here 
  \end{columns}
\end{frame}

\end{document}

答案2

  • 您应该提供 MWE(最小工作示例),一个以 开头\documentclass并以 结尾的完整小文档end{document}
  • 正如我在评论中提到的,你的方程太大,无法放在一列中。解决方案可以将其拆分为两行,并将第一个因子缩短为mathrm{e}^{-\zeta \omega_0 t},例如,如下面的 MWE 中所做的那样。
  • 对于分数,我建议使用包\mfrac中定义的nccmath
\documentclass{beamer}
\usepackage{nccmath}
\usepackage{lipsum}

\begin{document}
\begin{frame}{Damping}
    \begin{columns}
        \column{0.5\textwidth}
        \begin{figure}[ht]
            \centering
            \includegraphics[width=0.6\textwidth]{example-image-duck}%{images/sdof_damped}
        \end{figure}
        \begin{block}<2->{Solution}\small
        \begin{multline*}
            x(t) =  \mathrm{e}^{-\zeta \omega_0 t} 
                \Bigl(\mfrac{v_0 + \zeta \omega_0 x_0}{\omega_d}
                    \sin(\omega_d t)\\ + 
                x_0 \cos(\omega_d t)  
                \Bigr)
        \end{multline*}
        \end{block}

         \column{0.5\textwidth}
        \# stuff goes here
        
        \medskip
        \lipsum[66]
     \end{columns}
\end{frame}
\end{document}

在此处输入图片描述

新增数量: 在方程中使用正常字体大小并且方程与列的左边框对齐的版本(通过使用fleqn来自的环境nccmath):

\documentclass{beamer}
\usetheme{Warsaw}  % stolen from @Werner answer ...
\usepackage{nccmath}
\usepackage{lipsum}

\begin{document}
\begin{frame}{Damping}
    \begin{columns}
        \column{0.5\textwidth}
        \begin{figure}[ht]
            \centering
            \includegraphics[width=0.6\textwidth]{example-image-duck}%{images/sdof_damped}
        \end{figure}
        \begin{block}<2->{Solution}
        \begin{fleqn}
        \begin{multline*}
            x(t) =  \mathrm{e}^{-\zeta \omega_0 t} 
                \Bigl(\mfrac{v_0 + \zeta \omega_0 x_0}{\omega_d}
                    \sin(\omega_d t)\\ + 
                x_0 \cos(\omega_d t)  
                \Bigr)
        \end{multline*}
        \end{fleqn}
        \end{block}

         \column{0.5\textwidth}
        \# stuff goes here
        
        \medskip
        \lipsum[66]
     \end{columns}
\end{frame}
\end{document}

在此处输入图片描述

相关内容