我想在 LaTeX 中创建一个美观的表格,发现 tcolorbox 非常有用。但是表格中的间距似乎不对,因为我希望项目间距均匀,并且不会超出表格范围。特别是,项目之间的间距有时太大,有时太小。特别是右侧没有剩余空间。我该如何改变这种情况?
我的代码是:
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{tcolorbox}
\usepackage{tabularx}
\usepackage{array}
\usepackage{colortbl}
\tcbuselibrary{skins}
\newcolumntype{Y}{>{\raggedleft\arraybackslash}X}
\tcbset{tab2/.style={enhanced,fonttitle=\bfseries,fontupper=\normalsize\sffamily,
colback=white!10!white,colframe=blue!50!black,colbacktitle=blue!40!white,
coltitle=black,center title}}
\begin{tcolorbox}[tab2,tabularx={X||YYYYYYYY},title=Objects,boxrule=0.5pt]
$d=2$ & $Z^{:2:}$ & $Z^{:3:}$ & \multicolumn{4}{Y}{} \\ \hline
$d=3$ & $Z^{:2:}$ & $Z^{:3:}$ & $ZY$ & $ZY^2$ & $Z^{:2:}Y$ & $Z^{:2:}\tL^{-1}(Z^2)$\\
\end{tcolorbox}
答案1
请注意,表格总共有 7 列,而不是 9 列。更改tabularx={X||YYYYYYYY}
为tabularx={X||YYYYYc}
应该可以解决问题,尤其是如果将Y
其内容定义为居中而不是右对齐。
进一步的改进(下文未应用)可能是执行\addtolength{\tabcolsep}{4pt}
。
\documentclass{article}
\usepackage[usenames,dvipsnames,table]{xcolor}
\usepackage{tabularx}
\newcolumntype{Y}{>{\centering\arraybackslash}X}
\usepackage{tcolorbox}
\tcbuselibrary{skins}
\tcbset{tab2/.style={enhanced,fonttitle=\bfseries,
fontupper=\normalsize\sffamily,colback=white!10!white,
colframe=blue!50!black,colbacktitle=blue!40!white,
coltitle=black,center title}}
\newcommand{\tL}{\tilde{\mathcal{L}}}
\begin{document}
\begin{tcolorbox}[tab2,tabularx={Y||YYYYYc},title=Objects,boxrule=0.5pt]
$d=2$ & $Z^{:2:}$ & $Z^{:3^{\mathstrut}:}$ \\
\hline
$d=3$ & $Z^{:2:}$ & $Z^{:3^{\mathstrut}:}$ & $ZY$ & $ZY^2$ & $Z^{:2:}Y$ & $Z^{:2:}{\tL}^{-1}(Z^2)$\\
\end{tcolorbox}
\end{document}