我想在表格上方添加标题。软件包文档中没有相关信息这里。文档仅解释了如何向长表添加标题,而我的情况并非如此。如能提供任何帮助,不胜感激!
这是代码:
\usepackage{tabularray}
\usepackage[table]{xcolor}
\usepackage{graphicx}
\begin{document}
\scalebox{0.8}{
\begin{tblr}[caption={"sdsdssdfsdfds"}]{
colspec={cccccccc},
rowspec={Q[gray!20]Q[]Q[gray!10]Q[]Q[gray!10]Q[]Q[gray!10]Q[]},
rowhead = 1,
vline{2-8} = {0-1}{0.3pt,gray!50},
vline{2-8} = {2-7}{0.3pt,gray!30},
hline{1,2,8} = {0.1pt,azure5}}
header & header & header & header & header & header & header & header\\
1 & Beta & Gamma & Alpha & Beta & Gamma & Beta & Gamma\\
2 & Beta & Gamma & Alpha & Beta & Gamma & Beta & Gamma\\
3 & Beta & Gamma & Alpha & Beta & Gamma & Beta & Gamma\\
4 & Beta & Gamma & Alpha & Beta & Gamma & Beta & Gamma\\
5 & Beta & Gamma & Alpha & Beta & Gamma & Beta & Gamma\\
6 & Beta & Gamma & Alpha & Beta & Gamma & Beta & Gamma\\
\end{tblr}
}
\end{document}
答案1
我认为您混淆了tblr
环境和table
环境。前者用于创建类似表格的结构,而后者是浮动环境。caption
(和label
)必须放在浮动环境中。
\documentclass{article}
\usepackage[margin=2.5cm]{geometry}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{tabularray}
\begin{document}
\begin{table}
\centering
\caption{Example caption}
\label{tab:Example}
\begin{tblr}{
colspec={*{8}{c}},
row{odd}={gray!10}, row{1}={gray!20},
vline{2-Y} = {1}{0.3pt,gray!50},
vline{2-Y} = {2-Z}{0.3pt,gray!30},
hline{1,2,Z} = {0.1pt,azure5}
}
header & header & header & header & header & header & header & header\\
1 & Beta & Gamma & Alpha & Beta & Gamma & Beta & Gamma\\
2 & Beta & Gamma & Alpha & Beta & Gamma & Beta & Gamma\\
3 & Beta & Gamma & Alpha & Beta & Gamma & Beta & Gamma\\
4 & Beta & Gamma & Alpha & Beta & Gamma & Beta & Gamma\\
5 & Beta & Gamma & Alpha & Beta & Gamma & Beta & Gamma\\
6 & Beta & Gamma & Alpha & Beta & Gamma & Beta & Gamma\\
\end{tblr}
\end{table}
\end{document}
我还对你的代码做了一些进一步的改进
table
xcolor
使用时不需要选项tabularray
- 删除
rowhead
选项,因为它只需要longtblr
- 避免使用,
\scalebox
因为它会导致字体大小不一致 - 使用
*{8}{c}
incolspec
重复c
列8
时间 - 用行着色选项替换
rowspec
定义odd
。这更加灵活,因为它不依赖于行数 - 简化
vline
和hline
定义:您可以使用字母X
、Y
和分别Z
引用最后三个columns
(或rows
)。这使您的代码更具可读性,并且如果您以后更改列数,也会更加灵活
答案2
您可以替换tblr
以talltblr
获取标题。
\documentclass{article}
\usepackage{tabularray}
\usepackage{xcolor} % tabularray doesn't need `table` option
\usepackage{graphicx}
\begin{document}
\scalebox{0.8}{
\begin{talltblr}[
caption={"sdsdssdfsdfds"}
]{
colspec={cccccccc},
rowspec={Q[gray!20]QQ[gray!10]QQ[gray!10]QQ[gray!10]Q},
%rowhead = 1, % only for long tables
vline{2-8} = {0-1}{0.3pt,gray!50},
vline{2-8} = {2-7}{0.3pt,gray!30},
hline{1,2,8} = {0.1pt,azure5},
}
header & header & header & header & header & header & header & header\\
1 & Beta & Gamma & Alpha & Beta & Gamma & Beta & Gamma\\
2 & Beta & Gamma & Alpha & Beta & Gamma & Beta & Gamma\\
3 & Beta & Gamma & Alpha & Beta & Gamma & Beta & Gamma\\
4 & Beta & Gamma & Alpha & Beta & Gamma & Beta & Gamma\\
5 & Beta & Gamma & Alpha & Beta & Gamma & Beta & Gamma\\
6 & Beta & Gamma & Alpha & Beta & Gamma & Beta & Gamma\\
\end{talltblr}}
\end{document}