数组和循环设置框架标题、子部分和文本

数组和循环设置框架标题、子部分和文本

在下面的例子中,我将文本存储到三个变量(\subTa、、)中,然后使用这些变量来设置子部分、设置框架标题并在每张幻灯片上显示文本,全部使用如下例所示的方式\subTb\subTc\only

\documentclass[pdf]{beamer}
\begin{document}

\def\subTa{$1^{st}$ Step}
\def\subTb{$2^{nd}$ Step}
\def\subTc{$3^{rd}$ Step}

\section{Solution}
\begin{frame}
    \only<+>{\subsection{\subTa}}
    \only<+>{\subsection{\subTb}}
    \only<+>{\subsection{\subTc}}
    \frametitle{\insertsection...\only<1>{\subTa}\only<2>{\subTb}\only<3>{\subTc}}
    \only<1>{\subTa:}
    \only<2>{\subTb:}
    \only<3>{\subTc:}
    \begin{align*}
        \uncover<1->{2x-c&=2}
        \uncover<2->{\\ 2x&=2+c}
        \uncover<3->{\\ x&=1+0.5c}
    \end{align*}
\end{frame}
\end{document}

有没有办法做到这一点,将我存储在三个变量中的文本存储在一个数组中(类似于\def\subTarray{{"$1^{st}$ Step","$2^{nd}$ Step,"$3^{rd}$ Step"}}),然后通过循环遍历数组来设置子部分、框架标题和文本?至少文本和框架标题/子部分需要单独的循环,但使用单个数组是可取的。如果不可能为所有三个部分(框架标题、子部分和文本)设置一个数组,那么如何使用数组和循环分别对各个部分进行示例也将不胜感激。

我尝试过类似问题的解决方案(pgf-tikz-如何将字符串存储在数组中循环包含图形, 和这个数组索引不适用于节点标签),我可以使用数组让文本部分工作,但不能在循环中工作。而且我对框架标题或子部分不太满意。

答案1

让 beamer 为你完成即可:

\documentclass{beamer}

\usepackage[super]{nth} 

\makeatletter
   \def\c@slideinframe{\beamer@slideinframe}   
   \def\beamerslideinframe{\beamer@slideinframe} 
\makeatother

\begin{document}
\section{Solution}
\begin{frame}
    \frametitle{\insertsection{} \nth{\beamerslideinframe} Step}
    \begin{align*}
        \uncover<1->{2x-c&=2}
        \uncover<2->{\\ 2x&=2+c}
        \uncover<3->{\\ x&=1+0.5c}
    \end{align*}
\end{frame}
\end{document}

在此处输入图片描述

相关内容