![\SetTblrInner[tblr]{cells={bg= 无法更改 LaTeX 中 tabularray 中的 @{} 背景颜色](https://linux22.com/image/451756/%5CSetTblrInner%5Btblr%5D%7Bcells%3D%7Bbg%3D%20%E6%97%A0%E6%B3%95%E6%9B%B4%E6%94%B9%20LaTeX%20%E4%B8%AD%20tabularray%20%E4%B8%AD%E7%9A%84%20%40%7B%7D%20%E8%83%8C%E6%99%AF%E9%A2%9C%E8%89%B2.png)
我把表格的背景设置为包{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}