Beamer 中自定义方程编号不在同一行

Beamer 中自定义方程编号不在同一行

我有以下代码,但我不明白为什么使用 \ 标签时我的方程式数量不在同一行。列有“足够”的空间。

\documentclass{beamer}

\usepackage{mathtools,cleveref}
\usepackage[american]{circuitikz}

\begin{document}

\begin{frame}{Ohm and Kirchhoff Laws}

\begin{block}{}
    \only<1>{The Ohm and Kirchhoff laws -- a simple test.}
    \only<2>{\par A simple electric circuit.}
    \only<3>{\par From Ohm's law we got \cref{eq:ohm-1}~to~\cref{eq:ohm-3}.}
    \only<4>{\par The \texttt{LKC} applied to each node implies \cref{eq:lkc-1}~to~\cref{eq:lkc-4}, but they are not a system of equations linearly independent.}
    \only<5>{\par And finaly \texttt{LKT} applied to the single mesh gives the equation \cref{eq:lkt}.}
\end{block}

\begin{columns}

    \column[b]{.5\textwidth}

        \only<2->{%
            \begin{block}{}
                \begin{circuitikz}[scale=.7, transform shape]
                    \draw
                        (0,0) to [V,l=$v_s$,i>=$i_s$,*-*] (0,3)
                        to [short] (6,3)
                        to [R,l=$R_l$,v=$v_l$,i>^=$i_l$,*-*] (6,0)
                        to [R,l=$R_c$,v>=$v_c$,i^<=$i_c$,*-*] (3,0)
                        to [R,l=$R_1$,v=$v_1$,i^>=$i_1$,*-*] (0,0)
                     ;
                \end{circuitikz}
            \end{block}%
        }

    \column[b]{.5\textwidth}

        \only<3>{%
            \begin{block}{}
                \begin{align}
                    v_1 &= i_1R_1\tag{2.1}\label<3>{eq:ohm-1}\\
                    v_c &= i_cR_c\tag{2.2}\label<3>{eq:ohm-2}\\
                    v_l &= i_lR_l\tag{2.3}\label<3>{eq:ohm-3}
                \end{align}
            \end{block}%
        }

        \only<4>{%
            \begin{block}{}
                \begin{align}
                    i_s-i_1 &= 0\tag{2.1.1}\label<4>{eq:lkc-1}\\
                    i_1+i_c &= 0\tag{2.1.2}\label<4>{eq:lkc-2}\\
                    -i_c-i_l &= 0\tag{2.1.3}\label<4>{eq:lkc-3}\\
                    i_l-i_s &= 0\tag{2.1.4}\label<4>{eq:lkc-4}
                \end{align}
            \end{block}%
        }

        \only<5>{%
            \begin{block}{}
                \begin{equation}
                    v_l-v_c+v_1-v_s=0\tag{2.4}\label<5>{eq:lkt}
                \end{equation}
            \end{block}%
        }

\end{columns}

\end{frame}

\end{document}

答案1

一些评论

我对您的幻灯片有一些批评:

  • 正如Harish Kumar评论中所述,您最初遇到的方程式数字与直线拟合的问题是由于您将s 放入其中。但这些已经在宏的参数中,因此即使它们<transitions>按照您希望的方式工作,它们也是多余的。因此,您应该将每个都更改为。\label\only\label<...>\label

  • 在环境中使用方程式存在一个问题\only:交叉引用无法正常工作(您只能获得??)。实验表明,只有当方程式编号出现在幻灯片的第一个过渡中时,它们才会正确显示(例如\only<1>\only<1->类似物)。

    1. 考虑到您的幻灯片中的几乎所有内容都会随着每次转换而发生变化,您是否考虑过将它们放在多张幻灯片上,以便将所有标签都写入辅助文件中?

    2. 或者——既然你无论如何都要手动对方程式进行编号——你可能希望考虑对方程式进行硬编码。这不是最好的做法,但通常也不是。(在你的方程式中与有\tag什么关系?)(2.1.1)(2.1)

  • 你的电路上下跳动,因为

    1. 每张幻灯片的描述文字长度可变;并且
    2. 下面的方程的长度也是可变的。

    电路上下跳动确实让人分心。你应该做的是一切出现在\only命令中的环境内,{overlayarea}为其提供固定的空间。这将使您的电路保持原位。

  • 如果您没有为您的{block}环境使用任何标题,为什么不省略它们以简化您的代码呢?

示例代码

以下是我整理幻灯片的方法。我还没有解决公式引用的问题;你应该按照自己喜欢的方式解决这个问题。

\documentclass{beamer}
\usepackage{mathtools,cleveref}
\usepackage[american]{circuitikz}

\begin{document}
\begin{frame}{Ohm and Kirchhoff Laws}
\begin{overlayarea}{\textwidth}{0.25\paperheight}
    \only<1>{The Ohm and Kirchhoff laws -- a simple test.}
    \only<2>{\par A simple electric circuit.}
    \only<3>{\par From Ohm's law we got \cref{eq:ohm-1}~to~\cref{eq:ohm-3}.}
    \only<4>{\par The \texttt{LKC} applied to each node implies \cref{eq:lkc-1}~to~\cref{eq:lkc-4}, but they are not a system of equations linearly independent.}
    \only<5>{\par And finaly \texttt{LKT} applied to the single mesh gives the equation \cref{eq:lkt}.}
\end{overlayarea}

\begin{columns}
    \column[t]{.5\textwidth}
    \begin{overlayarea}{\columnwidth}{0.5\paperheight}
        \only<2->{%
                \begin{circuitikz}[scale=.7, transform shape]
                    \draw
                        (0,0) to [V,l=$v_s$,i>=$i_s$,*-*] (0,3)
                        to [short] (6,3)
                        to [R,l=$R_l$,v=$v_l$,i>^=$i_l$,*-*] (6,0)
                        to [R,l=$R_c$,v>=$v_c$,i^<=$i_c$,*-*] (3,0)
                        to [R,l=$R_1$,v=$v_1$,i^>=$i_1$,*-*] (0,0)
                     ;
                \end{circuitikz}
        }
    \end{overlayarea}

    \column[t]{.5\textwidth}
    \begin{overlayarea}{0.9\columnwidth}{0.5\paperheight}
        \vspace*{-4ex}
        \only<3>{%
                \begin{align}
                    v_1 &= i_1R_1\tag{2.1}\label{eq:ohm-1}\\
                    v_c &= i_cR_c\tag{2.2}\label{eq:ohm-2}\\
                    v_l &= i_lR_l\tag{2.3}\label{eq:ohm-3}
                \end{align}
        }

        \only<4>{%
                \begin{align}
                    i_s-i_1 &= 0\tag{2.1.1}\label{eq:lkc-1}\\
                    i_1+i_c &= 0\tag{2.1.2}\label{eq:lkc-2}\\
                    -i_c-i_l &= 0\tag{2.1.3}\label{eq:lkc-3}\\
                    i_l-i_s &= 0\tag{2.1.4}\label{eq:lkc-4}
                \end{align}
        }

        \only<5>{%
                \begin{equation}
                    v_l-v_c+v_1-v_s=0\tag{2.4}\label{eq:lkt}
                \end{equation}
        }
    \end{overlayarea}
\end{columns}
\end{frame}
\end{document}

相关内容