采用楼上方案有个问题就是当表格行数变化时,得不断修改row参数。
另一个方案是在所有单元格中先使用\alert<.>
以停止beamerpauses计数器,然后在第1列使用\alert<+>
覆盖第一列的\alert<.>
以在每行开始时递增beamerpauses计数器,从而实现逐行显示。如果某行不需要高亮,则对该行的第1列再次使用\alert<.>
覆盖其\alert<+>
,如对cell{1}{1}
再次使用\alert<.>
则可以取消第1行的逐列高亮。
逻辑止看似有点复杂,但这样可以不用考虑具体的表格行数,相对比较通用。
但有一点需要注意,需要在导言区使用\UseTblrLibrary{counter}
修正tabularray的计数器。
完整的代码如下:
\documentclass{ctexbeamer}
\usepackage{tabularray}
\UseTblrLibrary{counter} %% added this line
\begin{document}
\begin{frame}
\frametitle{表格修饰的主要方法}
% \begin{table} % Beamer中不应该使用table浮动体
\centering
\begin{tblr}{
% 对所有单元枨添加\alert<.>命令,
% 暂停增加beamerpauses计数器
cells = {m,cmd=\alert<.>},
colspec = {Q[c]Q[l,20em]},
hline{1,Z} = {1pt},
hline{2},
% 给第一列添加<+>,增加beamerpauses计数
% 从而实现逐行显示
column{1}={cmd=\alert<+>},
% 暂停增加beamerpauses计数器
cell{1}{1}={cmd=\alert<.>},
}
修饰内容 & 主要属性\\
框线 & 样式、颜色、宽度\\
底纹 & 颜色、图案(样式、颜色)\\
大小 & {自动调整:根据内容、根据窗口 \\指定宽高:指定高度、宽度(厘米、百分比) \\均分行列:分布行、分布列}\\
对齐 & {九宫格对齐:表格其实只控制了上中下对齐,左右对齐是用段落 \\文字方向:简化的页面设置--文字方向 \\单元格边距:内容盒子和格盒子的距离}\\
内容 & 同具体对象的设置一样\\
\end{tblr}
% \end{table}
\end{frame}
\end{document}
问 在beamer中使用tabularray制作表格。在实现逐行高亮时,遇到翻页混乱问题!