我在演示文稿中使用了表格,并且按日期排序,但我希望一些主要日期在第一张幻灯片上可见,而所有其他日期则逐张幻灯片显示。
我认为这是一个定义命令的好方法:
\newcounter{coveredRows}
\newcommand{\uncoverrowauto}[3]{
\addtocounter{coveredRows}{1}
\uncoverrow{\value{coveredRows}-}{#1}{#2}{#3}
}
\newcommand{\uncoverrow}[4]{
\uncover<#1>{#2} & \uncover<#1>{#3} & \uncover<#1>{#4}\\
}
我想要一张这样的表格:
..
11.06. & ..begin.. & 24\\
\uncoverrowauto{11.06.}{begin subtask1}{24}
\uncoverrowauto{22.06.}{end subtask1}{25}
25.06.& ..mile stone.. & 26\\
\uncoverrowauto{25.06.}{begin subtask2}{26}
\uncoverrowauto{29.06.}{end subtask2}{26}
..
因此,它可能变成一张大表,而且我很懒,所以我想在行被覆盖时自动增加计数器。不幸的是,这行不通,它会编译无限数量的幻灯片。
是否有一个好的解决方案可以满足我的愿望,或者唯一的方法是手动定义未覆盖不同行的幻灯片?
编辑 正如戴维所说,下面是我所拥有的完整示例:
\documentclass{beamer}
\begin{document}
\begin{frame}
\titlepage
\end{frame}
\begin{frame}
\frametitle{Outline}
\tableofcontents
\end{frame}
\section{Plan}
\newcounter{coveredRows}
\setcounter{coveredRows}{1}
\newcommand{\uncoverrowauto}[3]{
\addtocounter{coveredRows}{1}
\uncoverrow{\value{coveredRows} -}{#1}{#2}{#3}
}
\newcommand{
\uncoverrow}[4]{\uncover<#1>{#2} & \uncover<#1>{#3} & \uncover<#1>{#4}\\
}
\begin{frame}
\frametitle{Plan}
\framesubtitle{Dates}
\centering
\begin{tabular}{| c l c |}
\hline
Date & Explanation & Week\\
\hline\hline
11.06. & Begin of work & 24\\
\uncoverrowauto{11.06.}{Begin of subtask one}{24}
\uncoverrowauto{22.06.}{End of subtask one}{25}
25.06.& Mile stone of work & 26\\
\uncoverrowauto{25.06.}{Begin of subtask two}{26}
\uncoverrowauto{29.06.}{End of subtask two}{26}
\uncoverrowauto{02.07.}{Begin of subtask three}{27}
\uncoverrowauto{30.07.}{Begin of subtask four}{31}
\uncoverrowauto{03.08.}{End of subtask four}{31}
\uncoverrowauto{17.08.}{End of subtask three}{33}
\uncoverrowauto{24.08.}{Planned end of work}{34}
03.09. & End of work & 36\\
\hline
\end{tabular}
\end{frame}
\end{document}
答案1
这是 Andrew 提到的完整解决方案。谢谢!
\documentclass{beamer}
\resetcounteronoverlays{coveredRows}
\begin{document}
\begin{frame}
\titlepage
\end{frame}
\begin{frame}
\frametitle{Outline}
\tableofcontents
\end{frame}
\section{Plan}
\newcounter{coveredRows}
\setcounter{coveredRows}{1}
\newcommand{\uncoverrowauto}[3]{%
\addtocounter{coveredRows}{1}%
\uncoverrow{\value{coveredRows} -}{#1}{#2}{#3}
}
\newcommand{%
\uncoverrow}[4]{\uncover<#1>{#2} & \uncover<#1>{#3} & \uncover<#1>{#4}\\
}
\begin{frame}
\frametitle{Plan}
\framesubtitle{Dates}
\centering
\begin{tabular}{| c l c |}
\hline
Date & Explanation & Week\\
\hline\hline
11.06. & Begin of work & 24\\
\uncoverrowauto{11.06.}{Begin of subtask one}{24}
\uncoverrowauto{22.06.}{End of subtask one}{25}
25.06.& Mile stone of work & 26\\
\uncoverrowauto{25.06.}{Begin of subtask two}{26}
\uncoverrowauto{29.06.}{End of subtask two}{26}
\uncoverrowauto{02.07.}{Begin of subtask three}{27}
\uncoverrowauto{30.07.}{Begin of subtask four}{31}
\uncoverrowauto{03.08.}{End of subtask four}{31}
\uncoverrowauto{17.08.}{End of subtask three}{33}
\uncoverrowauto{24.08.}{Planned end of work}{34}
03.09. & End of work & 36\\
\hline
\end{tabular}
\end{frame}
\end{document}
唯一的问题是,现在行的第一个单元格有一个前导空格。因此我个人会删除这两个命令定义中的空格。但我不确定是否有更好的方法,而不会破坏格式。
编辑
我插入了%
上面的示例来解决前导空格的问题。