我正在使用 xltabular (tabularx + longtable) 创建newenvironment
我的标准表格样式。如下所示:
\newenvironment{tab1}[3]{\xltabular{\textwidth}{#2}
\hline
\rowcolor{WB7} #3 \\
\hline
\endfirsthead
\multicolumn{#1}{c}{\color{Y1} \faArrowUp \quad\quad\quad\quad\quad \faArrowUp \quad\quad\quad\quad\quad \faArrowUp \quad\quad\quad\quad\quad \faArrowUp \quad\quad\quad\quad\quad \faArrowUp} \\
\hline
\rowcolor{WB7} #3 \\
\hline
\endhead
\multicolumn{#1}{c}{\color{Y1} \faArrowDown \quad\quad\quad\quad\quad \faArrowDown \quad\quad\quad\quad\quad \faArrowDown \quad\quad\quad\quad\quad \faArrowDown \quad\quad\quad\quad\quad \faArrowDown}
\endfoot
\hline
\endlastfoot
}{\endxltabular}
\begin{tab1}{3}{|C|F|C|}{HELLO & Hello & hello}
1 & 2 & 3
\end{tab1}
这个想法是每个表都有一个标题(#3),当表需要另一页时,标题会再次出现。此环境需要列数(#1)、列类型(#2)和标题(#3),但对于标题,我想要一个具体的样式,\cellcolor{WB7}
以及一个行样式\bfseries
。使用\rowcolor{WB7}
工作正常,但我找不到任何方法来更改行样式。我刚刚发现这两个问题在 中不起作用xltabular
:
我当然可以这样做,但正如您所注意到的,这不是一个干净的解决方案,而且每次{\textbf{HELLO} & \textbf{Hello} & \textbf{hello}}
输入都会很乏味。\textbf{}
编译代码(简化)
\documentclass{article}
\usepackage{xltabular}
\usepackage{multirow}
\usepackage{colortbl}
\begin{document}
\newenvironment{tab}[3]{\xltabular{\textwidth}{#2}
\hline
\rowcolor{yellow} #3 \\
\hline
\endfirsthead
\multicolumn{#1}{c}{$\Uparrow$} \\
\hline
\rowcolor{yellow} #3 \\
\hline
\endhead
\multicolumn{#1}{c}{$\Downarrow$}
\endfoot
\hline
\endlastfoot
}{\endxltabular}
\begin{tab}{3}{|X|X|X|}{HELLO & Hello & hello}
1 & 2 & 3
\end{tab}
\end{document}