МВЭ

МВЭ

Как использовать \visible, когда его содержимое заключено в , multlinedкоторый в свою очередь содержит вложенные \visible?

МВЭ

Следующий MWE не компилируется из-за multlined.

\documentclass[12pt,beamer,preview,multi={math},border=12pt]{standalone}
\usefonttheme[onlymath]{serif}
\usepackage{mathtools}
\newcommand{\foo}[1]{\visible<+->{#1}}
\begin{document}
\begin{standaloneframe}
    \begin{math}
        \displaystyle
        \begin{aligned}
        \foo{\int_a^b}\foo{f(x)}\foo{\, \mathrm{d}x}
            \foo{&=}\foo{F(b)}\foo{-F(a)}\\
            \foo{&=}\foo{\cos a}\foo{\sin b}\foo{+}\foo{\sin a }\foo{\cos b}\\
            \foo{&=}
                \foo{\begin{multlined}[t]}
                \foo{ax^4}\foo{+bx^3}\\\foo{+cx^2}\foo{+dx}\foo{+e}\\
                \foo{\end{multlined}}
        \end{aligned}
        \end{math}
\end{standaloneframe}
\end{document}

Приведенный выше код был украден из идеи Мармота.

Редактировать

Если я удалил foo для обоих \begin{multlined}и \end{multlined}, я получил пустые кадры, как вы можете видеть из следующей анимации. Некоторые задержки представляют пустые кадры.

\documentclass[12pt,beamer,preview,multi={math},border=12pt]{standalone}
\usefonttheme[onlymath]{serif}
\usepackage{mathtools}
\newcommand{\foo}[1]{\visible<+->{#1}}
\begin{document}
\begin{standaloneframe}
    \begin{math}
        \displaystyle
        \begin{aligned}
        \foo{\int_a^b}\foo{f(x)}\foo{\, \mathrm{d}x}
            \foo{&=}\foo{F(b)}\foo{-F(a)}\\
            \foo{&=}\foo{\cos a}\foo{\sin b}\foo{+}\foo{\sin a }\foo{\cos b}\\
            \foo{&=}
                \begin{multlined}[t]
                \foo{ax^4}\foo{+bx^3}\\\foo{+cx^2}\foo{+dx}\foo{+e}\\
                \end{multlined}
    \end{aligned}
        \end{math}
\end{standaloneframe}
\end{document}

введите описание изображения здесь

решение1

Это сочетание двух проблем:

  • \begin{}и среды \end{}должны находиться на одном и том же слое

  • multilineобрабатывает код дважды. Это проблема, если вы совмещаете это с использованием , <+->поскольку создается вдвое больше наложений, чем необходимо.

Я предлагаю следующий обходной путь:

\documentclass[12pt,beamer,preview,multi={math},border=12pt]{standalone}
\usefonttheme[onlymath]{serif}
\usepackage{mathtools}
\newcommand{\foo}[1]{\visible<+->{#1}}


\begin{document}
\begin{standaloneframe}
    \begin{math}
        \displaystyle
        \begin{aligned}
        \foo{\int_a^b}\foo{f(x)}\foo{\, \mathrm{d}x}
            \foo{=&}\foo{F(b)}\foo{-F(a)}\\
            \foo{=&}\foo{\cos a}\foo{\sin b}\foo{+}\foo{\sin a }\foo{\cos b}\\
            \foo{=& }
            \foo{ ax^4}\foo{+bx^3}\\
            \foo{&+cx^2}\foo{+dx}\foo{+e}\\
        \end{aligned}
        \end{math}
\end{standaloneframe}
\end{document}

введите описание изображения здесь

Связанный контент