I am not having this issue if I run your code (I removed redundant packages):
\documentclass{article}
\usepackage{nth}
\usepackage{xcolor}
\usepackage{tabularray}
\UseTblrLibrary{booktabs}
\UseTblrLibrary{varwidth}
\begin{document}
\begin{table}[tbh]
\begin{tblr}{
width=1\columnwidth,
measure=vbox,
colspec={Q[c,m] Q[c,m] Q[c,m] Q[c,m] Q[c,m] Q[c,m] Q[c,m] Q[c,m] Q[c,m]},
%rows = {valign=c},
row{1} = {bg=white, fg=black, font=\bfseries},
cell{1}{1,8,9} = {r=2,c=1}{c},
cell{1}{2,5} = {r=1,c=3}{c},
%cell{1}{5} = {r=1,c=3}{c},
%cell{1}{8} = {r=2,c=1}{c},
%cell{1}{9} = {r=2,c=1}{c},
hspan=even, vspan=even,
%colspec={X[3cm,c,m] X[c,m] X[c,m] X[c,m] X[c,m] X[c,m] X[c,m] X[3cm,c,m] X[3cm,c,m]},
%colspec={Q[c]Q[c]Q[c]Q[c]Q[c]Q[c]Q[c]Q[c]Q[c]},
%rowspec={Q[c]Q[c]Q[c]Q[c]Q[c]Q[c]Q[c]Q[c]Q[c]},
hline{4-Y} = {1,8,9}{0.5pt, rightpos = -1, leftpos = -1},
vline{2,5,8,9} = {1pt,solid},
hline{1,Z} = {2pt},
hline{3} = {1,8,9}{1.5pt, rightpos = -1, leftpos = -1},
hline{3} = {2,3,4}{1.5pt, rightpos = -1, leftpos = -1, endpos},
hline{3} = {5,6,7}{1.5pt, rightpos = -1, leftpos = -1, endpos},
hline{4-Y} = {2,3,4}{0.5pt, rightpos = -1, leftpos = -1, endpos},
hline{4-Y} = {5,6,7}{0.5pt, rightpos = -1, leftpos = -1, endpos},
vline{3,4,6,7} = {0.5pt}
}
A & B & & & C & & & D & F \\
& $1$ & $2$ & $3$ & $4$ & $5$ & $6$ & & \\
\nth{1} & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 \\
\nth{2} & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 \\
\nth{3} & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 \\
\nth{4} & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 \\
\nth{5} & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 \\
\nth{6} & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 \\
\nth{7} & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 \\
\end{tblr}
\end{table} %Summary of the different topological stage
\end{document}
Also, not sure if the middle alignment is intended but in case you want headers to be in one line, here's the snippet to change
% ... valgin added
row{1} = {valign=h, bg=white, fg=black, font=\bfseries},
cell{1}{1,8,9} = {r=2,c=1}{}, % c removed
% ...
You should change booktabs
preamble to:
colspec = {c K K K},
row{1} = {c, font=\bfseries},
row{2} = {c, guard}, % <--- added `guard`
Explanation:
By adding guard
to specification of the second row, this row not obey siunitx
specifications for columns and text in cells in this row are just centered, i.e.
after this addition you will get:
However, I would write your table on the following, to my opinion simpler and more in tabularray
spirit, way where is considered @Mico comment too:
\documentclass[margin=3mm]{standalone}
\usepackage{tabularray}
\UseTblrLibrary{amsmath, booktabs, siunitx}
\begin{document}
\begingroup
\sisetup{table-format=-5.4,
round-mode=places, round-precision = 4,
}
\begin{booktabs}{
colspec = {Q[c, mode=math] S S S},
row{1} = {c, font=\bfseries, guard},
row{2} = {c, guard, mode=text, cmd={\sisetup{round-precision=3}}},
}
\toprule
& C3 & RLA & DLA \\
Shift & \qty{0.025}{\km^2/\s^2} & \qty{0.005}{\degree} & \qty{0.008}{\degree} \\
\midrule
B.T km & 14028.09419155 & 982.72457669 & -13477.32067085 \\
B.R km & -7751.49915236 & -3700.77434474 & 3148.12003385 \\
\midrule
\Delta_{\mathrm{x}} m/s
& 4.774015816660711e-01 & 4.126455467703491e-02 & -4.480105352801190e-01 \\
\Delta_{\mathrm{y}} m/s
& 6.781754913310237e-01 & -7.925658411887511e-02 & -8.241304954028742e-01 \\
\Delta_{\mathrm{z}} m/s
& 7.649481111877549e-01 & 4.826834479224431e-01 & -1.507332008655069e-01 \\
\midrule
\Delta m/s
& 1.128264100301457 & 4.908845897939598e-01 & 9.500657929944257e-01 \\
\midrule
\mathrm{TCM}\;\Delta m/s
& 4.546833189860270e-0 & 4.563499345528536e-0 & 4.486347115134618e-0 \\
\bottomrule
\end{booktabs}
\endgroup
\end{document}
Best Answer
Here are various strategies you can apply, none of which is specific to
tabularray
. In all cases, the idea is to prepare the desired known-valid input beforetabularray
parses it in its own way.P.S.: don't forget to declare
expl3
variables.