我把表格的背景设置为包{RGB}{245,246,246}
内的tabularray
颜色,但是下面表格中的内容@{}
并没有变成那种颜色,所以还是原来的白色。那么有没有办法让颜色随着tabularray
包的变化而变化呢?
\documentclass{article}
\usepackage{tabularray,xcolor}
\UseTblrLibrary{siunitx}
\definecolor{tablebackground}{RGB}{245,246,246}
\SetTblrInner[talltblr]{cells={bg=tablebackground}}
\begin{document}
\begin{table}
\begin{talltblr}{colspec={X[c] X[c,si={table-format=2.2\%}]@{\ $\sim$\ }S[table-format=2.2\%] }}
1&11.11\% &55.56\%\\
2&5.12\% &21.2\%\\
3&6.78\% &2.1\%\\
4&75.5\%&\\
\end{talltblr}
\end{table}
\end{document}
答案1
该设置cells={bg=tablebackground}
仅设置所有单元格的背景颜色。但列说明符@
会将其内容放在\ $\sim$\
边框中。您可以尝试编写
@{\colorbox{tablebackground}{\ $\sim$\ }}
但由于背景颜色没有填满整个高度,所以它不会起作用。并且会导致错误,这是 的一个扩展错误tabularray
。
因此您可以尝试\llap
将\clap
边框文本的宽度设为零:
\documentclass{article}
\usepackage{tabularray,xcolor}
\UseTblrLibrary{siunitx}
\definecolor{tablebackground}{RGB}{245,246,246}
\SetTblrInner[talltblr]{cells={bg=tablebackground}}
\begin{document}
\begin{table}[!htp]
\begin{talltblr}{
X[c] X[c,si={table-format=2.2\%}] @{\llap{$\sim$\ }} S[table-format=2.2\%]
}
1 & 11.11\% & 55.56\% \\
2 & 5.12\% & 21.2 \% \\
3 & 6.78\% & 2.1 \% \\
4 & 75.5 \% & \\
\end{talltblr}
\end{table}
\begin{table}[!htp]
\begin{talltblr}{
X[c] S[table-format=2.2\%] !{\clap{$\sim$}} S[table-format=2.2\%]
}
1 & 11.11\% & 55.56\% \\
2 & 5.12\% & 21.2 \% \\
3 & 6.78\% & 2.1 \% \\
4 & 75.5 \% & \\
\end{talltblr}
\end{table}
\end{document}
答案2
解决此问题的方法是使用vline{} = {}{text=$\sim$}
:
\documentclass{article}
\usepackage{tabularray,xcolor}
\UseTblrLibrary{siunitx}
\definecolor{tablebackground}{RGB}{245,246,246}
\SetTblrInner[talltblr]{cells={bg=tablebackground}}
\begin{document}
\begin{table}
\begin{talltblr}{colspec={X[c,1.5] X[r,si={table-format=2.2\%},0.2] X[l,si={table-format=2.2\%},0.2]},vline{3} = {1-4}{text=\clap{$\sim$}}}
1&11.11\% &55.56\%\\
2&5.12\% &21.2\%\\
3&6.78\% &2.1\%\\
4&75.5\%&\\
\end{talltblr}
\end{table}
\end{document}