我用easytable
制作等距表格的软件包。此软件包提供TAB
(带大写字母的)制作表格的环境。
同时我使用xcolor
带有给单元格着色的选项的包table
。
该选项\cellcolor
提供的命令可以在一个环境内部或者除该环境之外的其他表环境中正常工作。table
xcolor
tabular
TAB
正如您在以下 MWE 中看到的,为环境\cellcolor
中的单元格中着色,但不为环境tabular
中的单元格着色:TAB
\documentclass{article}
\usepackage[thinlines]{easytable}
\usepackage[table]{xcolor}
\begin{document}
\begin{TAB}(e,0.4cm,0.4cm){|c|}{|c:c:c:c|}
T \cellcolor{blue!25} \\
~ \\
~ \\
~ \\
\end{TAB}
\begin{tabular}{l|c|r}
\hline
Some & \cellcolor{blue!25}coloured & contents \\
\hline
\end{tabular}
\end{document}
TAB
那么,我怎样才能强制环境中的细胞着色(使用xcolor
或其他解决方案,这并不重要)?
答案1
以下是使用新tabularray
包的解决方案(参见加拿大运输安全局)。
\documentclass{article}
\usepackage{xcolor}
\usepackage{tabularray}
\begin{document}
\begin{tblr}{
hlines={0.7pt, solid}, vlines={0.7pt, solid},
hline{2-Y} = {0.5pt, dashed},
colspec={c}, rows={4mm}, columns={4mm},
rowsep=0mm, colsep=0mm, stretch=0,
}
\SetCell{blue!25}T \\
~ \\
~ \\
~ \\
\end{tblr}
\begin{tblr}{
colspec={l|c|r},
rowsep=0mm,
}
\hline
Some & \SetCell{blue!25}coloured & contents \\
\hline
\end{tblr}
\end{document}
在tblr
环境中,您可以使用命令\SetCell
来修改当前单元格的外观。tabularray
包对间距有不同的默认规范,因此我修改了一些参数以类似于示例的输出。请查看表格数组文档以获取更多信息。
如果您经常使用这些表,您可以考虑使用这些规范作为默认值来定义一个新环境。
\NewTblrEnviron{mytblr}
\SetTblrInner[mytblr]{
hlines={0.7pt, solid}, vlines={0.7pt, solid},
hline{2-Y} = {0.5pt, dashed},
rows={4mm}, columns={4mm},
rowsep=0mm, colsep=0mm, stretch=0,
}
\begin{mytblr}{c}
\SetCell{blue!25}T \\
~ \\
~ \\
~ \\
\end{mytblr}
您可以决定使用哪些规范作为默认值。例如,如果您想为每个表单独指定单元格大小,只需删除该行rows={4mm}, columns={4mm}
并在 的参数中指定它mytblr
。