Como manter os estilos `X` e `Q` ao mesmo tempo em `tabularray`?

Como manter os estilos `X` e `Q` ao mesmo tempo em `tabularray`?

tabularrayé bastante útil porque preciso fazer o seguinte:

  1. Mantenha a mesa tão larga quanto\textwidth
  2. Preciso inserir note{}na legenda da tabela
  3. O cabeçalho da tabela tem dois caracteres, portanto eles são divididos em várias linhas em uma célula. Neste caso, preciso manter as cabeças curtas para ficar no meio da célula da tabela
  4. Mantenha o número decimal alinhado

Como eu sei:

  • Para conseguir 1, posso usar tblrou talltblrcom Xformato
  • Para conseguir 2, preciso usartalltblr
  • Para conseguir 4, posso usar talltblrcom Xesi={}

Mas como posso conseguir 3isso talltblr? Se pudermos mesclar Qo formato talltblr, essas quatro funções poderão ser alcançadas ao mesmo tempo.

Por exemplo:

\documentclass{article}

\usepackage{tabularray}
\usepackage{siunitx}
\usepackage{romannum}
\UseTblrLibrary{booktabs, siunitx}
\begin{document}
\begin{table}[h]
  \begin{talltblr}
    [caption={Main component geographic information table\TblrNote{1}},
     label={tab:Main component geographic information table},
     note{1}={The data is obtained through satellite maps, and there are certain errors},
     note{2}={The latitude and longitude of the surface is the latitude and longitude of its centroid. There is a certain error in the measurement of latitude and longitude, for reference},
     note{3}={This length is the length in our study area}
    ]
    {colspec={
              X[1.5,r] X[1.3,c] X[1.3,c] X[c,si={table-format=4.2},0.8] X[c,si={table-format=4.2},0.8] X[c,si={table-format=1.2},0.8]
              } 
    }
    \toprule
      name  & latitude\TblrNote{2} & longitude &{gggggg\unit{\m}}  & gggggg\unit{\m} \TblrNote{3} &{{{area total\unit{\km\squared}}}}\\
    
         \midrule
      DongLake      &\ang{30;33;29.52}N &\ang{114;22;47.55}E &             &         & 12.74 \\
      dongtinglake     &\ang{30;33;12.71}N &\ang{114;20;46.87}E &         &         &0.12 \\
      great river      &\ang{30;33;33.66}N &\ang[minimum-integer-digits=2]{114;20;09.29}E & 1682.88&         &        \\
     bigbig lake      &\ang[minimum-integer-digits=2]{30;34;06.02}N &\ang{114;19;45.86}E &         &         & 2.74    \\
     inside the gate   &\ang{30;33;54.85}N &\ang{114;18;35.99}E &         &         & 0.06  \\
      new ditches     &\ang{30;35;33.19}N &\ang[minimum-integer-digits=2]{114;23;02.77}E & 977    &         &         \\
      west part of new gate   &\ang{30;35;26.31}N &\ang{114;21;43.67}E & 5213.77 &         &         \\
     luoai port   &\ang[minimum-integer-digits=2]{30;37;08.49}N &\ang{114;21;27.93}E & 3770.58 &         &         \\
qingling port     &\ang[minimum-integer-digits=2]{30;39;02.32}N &\ang{114;24;30.27}E &         &         & 0.13   \\
      from port to lake &\ang[minimum-integer-digits=2]{30;37;03.06}N &\ang{114;24;22.99}E & 345.15 &         &        \\
    east part of the gate   &\ang[minimum-integer-digits=2]{30;38;05.41}N &\ang{114;24;27.64}E &2926.08 &         &         \\
   Yangzi river     &\ang{30;37;43.29}N &\ang{114;20;58.87}E &         &         &         \\
      east part of the lake   &\ang{30;35;55.14}N &\ang{114;23;14.49}E & 1090.45 &         &         \\
      donghu port     &\ang{30;35;37.38}N &\ang{114;23;45.81}E & 7332.3 & \num{4614.19} &         \\
   west section of qingqing   &\ang[minimum-integer-digits=2]{30;38;01.20}N &\ang{114;24;11.10}E & 3449.86 &         &         \\
    new road   drainage station &\ang{30;33;55.17}N &\ang{114;18;48.14}E &         &         &         \\
nanjing drainage station  &\ang{30;33;52.23}N &\ang{114;18;29.72}E &         &         &         \\
      beijing pumping station   &\ang{30;37;22.34}N &\ang[minimum-integer-digits=2]{114;21;01.01}E &         &         &         \\
      guilin road gata   &\ang{30;37;19.42}N &\ang{114;20;57.23}E &         &         &       \\
      the last gate     &\ang{30;39;16.08}N &\ang{114;24;31.97}E &         &         &     \\     
    \bottomrule
\end{talltblr}
\end{table}
\end{document}

Como fazer essa tabela para atender as quatro solicitações? insira a descrição da imagem aqui

Outra pergunta: por que não posso substituir ggggggpor Length? Quando fiz isso, ocorreu um erro:Package siunitx Error: Invalid number 'e'.

Responder1

Editar: ups, não carreguei a última versão do código e da imagem. Corrigido agora. So4ry pelo barulho ...

Como ponto de partida:

\documentclass{article}
\usepackage{tabularray}
\UseTblrLibrary{booktabs, siunitx} % libraries loads packages of the same names

\begin{document}
    \begin{table}[h]
    \sisetup{minimum-integer-digits=2}
\begin{talltblr}[
caption = {Main component geographic information table},
  label = {tab:Main component geographic information table},
remark{Note} = {The data are obtained through satellite maps, and there are certain errors},
     note{1} = {The latitude and longitude of the surface is the latitude and longitude of its centroid. There is a certain error in the measurement of latitude and longitude, for reference},
     note{2} = {This length is the length in our study area},
     note{3} = {Total area}
                ]{colsep = 3pt,
                  colspec = {@{} X[2,l, m, font=\linespread{0.84}\selectfont] r r
                            *{2}{X[c, si={table-format=4.2}]}
                                 X[c, si={table-format=2.2,
                                          minimum-integer-digits=1}]
                            @{}},
                   row{1} = {font=\small\bfseries, c, m}
    }
    \toprule
name        & latitude\TblrNote{1} 
                & longitude
                     & {{{gggggg \unit{\metre}}}}
                        & {{{gggggg\TblrNote{2} \unit{\metre}}}}
                            & {{{area\TblrNote{3} \unit{\km\squared}}}}\\

    \midrule
Dong Lake    & \ang{30;33;29.52}N 
                & \ang{114;22;47.55}E 
                    &   &   & 12.74         \\
Dongting Lake     
            & \ang{30;33;12.71}N 
                &\ang{114;20;46.87}E 
                    &   &   & 0.12          \\
Great river & \ang{30;33;33.66}N
                & \ang{114;20;09.29}E  
                    & 1682.88
                        &   &               \\
Big lake    & \ang{30;34;06.02}N        
                & \ang{114;19;45.86}E 
                    &   &   & 2.74          \\
inside the gate   
            & \ang{30;33;54.85}N 
                & \ang{114;18;35.99}E 
                    &   &   & 2.74          \\
new ditches & \ang{30;35;33.19}N    
                &\ang{114;23;02.77}E 
                    & 977    
                        &   &               \\
west part of new gate   
            & \ang{30;35;26.31}N 
                & \ang{114;21;43.67}E 
                    & 5213.77 
                        &   &               \\
Luoai port  & \ang{30;37;08.49}N    
                &\ang{114;21;27.93}E 
                    & 3770.58 
                        &   &               \\
qingling port     
            & \ang{30;39;02.32}N    
                &\ang{114;24;30.27}E 
                    &   &   & 0.13          \\
from port to lake 
            & \ang{30;37;03.06}N    
                & \ang{114;24;22.99}E 
                    & 345.15 
                        &   &               \\
east part of the gate   
            & \ang{30;38;05.41}N   
                & \ang{114;24;27.64}E 
                    & 2926.08 
                        &   &               \\
Yangzi river     
            & \ang{30;37;43.29}N 
                & \ang{114;20;58.87}E 
                    &   &   &               \\
east part of the lake   
            & \ang{30;35;55.14}N 
                & \ang{114;23;14.49}E 
                    & 1090.45 
                        &   &               \\
Donghu port & \ang{30;35;37.38}N 
                & \ang{114;23;45.81}E 
                    & 7332.3 
                        & 4614.19
                            &               \\
west section of qingqing   
            & \ang{30;38;01.20}N   
                & \ang{114;24;11.10}E
                    & 3449.86
                        &   &               \\
new road  drainage station 
            & \ang{30;33;55.17}N 
                &\ang{114;18;48.14}E 
                    &   &   &               \\
nanjing drainage station  
            & \ang{30;33;52.23}N 
                & \ang{114;18;29.72}E 
                    &   &   &               \\
Beijing pumping station   
            & \ang{30;37;22.34}N 
                &\ang{114;21;01.01}E    
                    &   &   &               \\
Guilin road gata   
            & \ang{30;37;19.42}N 
                &\ang{114;20;57.23}E 
                    &   &   &               \\
the last gate     
            & \ang{30;39;16.08}N 
                & \ang{114;24;31.97}E 
                    &   &   &               \\
    \bottomrule
\end{talltblr}
    \end{table}
\end{document}

insira a descrição da imagem aqui

Notas: Você realmente lê (repetidamente) a documentação do pacote. Não apenas leia, mas também experimente diferentes configurações para formatação de colunas. Minhas experiências me mostram que o melhor método de aprendizagem éaprendendo fazendo. No início consome um pouco de tempo, mas logo você descobrirá a filosofia da tabularraysintaxe.

  • O significado das opções c(centro), l(esquerda), r(direita) e m(meio), t(topo) b(parte inferior, as três últimas são definidas no arraypacote) é o mesmo das mesas clássicas. - Além das opções mencionadas, tabularrayintroduza mais três opções: h(cabeça, no topo da célula), f(pé, na parte inferior da célula) e j(justificado).
  • Essas opções podem ser usadas isoladamente ou como atributos de tipos Xde Qcolunas. Por exemplo:
    • X[c] tem largura, que é calculada pelo LaTeX e o conteúdo da coluna é horizontal
    • `X[2,l] tem o dobro da largura, que é calculada pelo LaTeX e pelo conteúdo da coluna alinhada à esquerda
    • Q[c, 2cm]ou Q[c, wd=2cm]defina coluna com 2 cm de largura e conteúdo centralizado horizontalmente
    • X[j]tem texto justificado, que é hifenizado quando necessário
    • a coluna cse comporta da mesma forma que nas tabelas "clássicas", a largura da coluna é igual à largura do conteúdo mais longo nas células e é centralizada horizontalmente (da mesma forma para outras opções)
  • Nas Scolunas (definir como Scoluna ou por exemplo Q[c, si], onde a formatação pode ser definida \sisetupfora da tabela, consulte siunitxa documentação) o conteúdo sem número de tal cel tinha que estar de acordo com siunitxo pacote nas tabelas clássicas entre chaves:
    • por isso são table-formatconfigurações interrompidas,
    • desativou a interpretação errada do significado do conteúdo (tenha em mente que siunitxuse algumas letras para designar números, por exemplo 10e5significar 10 x 10^5!
  • Devido ao tabularrayprocessamento diferente da tabela (usando l3exp), é necessário adicionar mais dois pares de chaves (esse siunitxrequisito funciona em todas as circunstâncias).
  • O tabularraypacote permite a formatação de linhas para. Por exemplo:
    • com row{1} = {font=\bfseries}texto em negrito prescrito em todas as células da primeira linha,
    • com row{Z} = {font=\scfaily, c}prescrição de fonte em versalete e centralização do conteúdo na última linha da tabela
  • etc.,

Termo aditivo: você pode gostar da formatação da tabela, que agrupa linhas, por exemplo, com três delas e insere algum espaço vertical adicional entre elas. Para isso adicione ao preâmbulo

  \ExplSyntaxOn
\NewChildSelector{eachthree}
  {
    \int_step_inline:nnnn {5}{3}{\l_tblr_childs_total_tl}
      { \clist_put_right:Nn \l_tblr_childs_clist {##1} }
  }
\ExplSyntaxOff

e ao preâmbulo da tabela:

                   row{eachthree} = {abovesep=2ex},

Considerando esses acréscimos, a tabela ficará da seguinte forma:

insira a descrição da imagem aqui

informação relacionada