\\
在定义时,如何保护&符号(表格内的制表符对齐字符)以及可能的(表格中的新行) \savebox
?
\documentclass{article}
\usepackage{fontspec}% xelatex
\newsavebox{\tabdata}
\savebox{\tabdata}{sto1 & sto2 & sto3}% I'd like to save this.
\begin{document}
\begin{tabular}{lll}
col1 & col2 & col3 \\
\usebox{\tabdata} \\
\end{tabular}
\end{document}
背景
我有数十万个表。所有标题都以 开头\mybeginheadrow
并以 结尾\myendheadrow
。我想利用这些宏来获取标题并以不同的方式将它们应用于 longtable \endhead
、\endfirsthead
等。我实际上正在使用ltxtable
,它首先将所有数据写入外部文件。我不确定这是否相关。
意图
- 将标题行(可以是多行)标记存储在宏中。
- 将它们多次展开到表格中的不同位置。
答案1
表格不支持\savebox
,请参阅问题评论。
在史蒂文斯发表评论后,我从 改为\savebox
并将\gdef
其用作\myendheadrow
参数的分隔符。
%\newcommand\mybeginheadrow[1]{#1\gdef\myheadrowtokens{#1}}
\def\mybeginheadrow#1\myendheadrow{\gdef\myheadrowtokens{#1}}% see comments
\myheadrowtokens
在表中的任意位置调用。