Как сохранить стили `X` и `Q` одновременно в `tabularray`?

Как сохранить стили `X` и `Q` одновременно в `tabularray`?

tabularrayвесьма полезно, так как мне нужно сделать следующее:

  1. Держите стол настолько широким, насколько это возможно.\textwidth
  2. Мне нужно вставить note{}в заголовок таблицы
  3. Заголовок таблицы — это два множества символов, поэтому они разделены на несколько строк в одной ячейке. В этом случае мне нужно сохранить короткие заголовки, чтобы они были в середине ячейки таблицы
  4. Сохраняйте выравнивание десятичных знаков числа

Как я знаю:

  • Чтобы достичь 1, я могу использовать tblrили talltblrс Xформатом
  • Чтобы достичь 2, мне нужно использоватьtalltblr
  • Чтобы достичь 4, я могу использовать talltblrс Xиsi={}

Но как я могу достичь этого 3с помощью talltblr? Если мы сможем объединить Qформат в talltblr, эти четыре функции могут быть достигнуты одновременно.

Например:

\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}

Как составить эту таблицу, чтобы выполнить четыре запроса? введите описание изображения здесь

Еще вопрос: почему я не могу заменить ggggggна Length? Когда я это сделал, возникла ошибка:Package siunitx Error: Invalid number 'e'.

решение1

Редактировать: ups, я не загрузил последнюю версию кода и изображения. Сейчас исправил. Извините за шум...

В качестве отправной точки:

\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}

введите описание изображения здесь

Примечания: Вы действительно читаете (снова и снова) документацию пакета. Не просто читаете, а экспериментируете с различными настройками форматирования столбцов. Мой опыт показывает мне, что лучший метод обучения — этообучение в процессе работы. Поначалу это займет немного времени, но вскоре вы поймете философию синтаксиса tabularray.

  • Значение опций c(center), l(left), r(right) и m(middle), t(top) b(low, последние три определены в arrayпакете) такое же, как и в классических таблицах. - Помимо указанных опций, tabularrayвведите еще три опции: h(head, вверху ячейки), f(foot, внизу ячейки) и j(выравнивание).
  • Эти параметры можно использовать отдельно или как атрибуты типов Xстолбцов Q. Например:
    • X[c] имеет ширину, которая рассчитывается LaTeX, а содержимое столбца горизонтальное
    • `X[2,l] имеет удвоенную ширину, которая вычисляется LaTeX и выровнена по левому краю содержимого столбца
    • Q[c, 2cm]или Q[c, wd=2cm]определить столбец шириной 2 см и горизонтально отцентрированным содержимым
    • X[j]имеет выровненный текст, который при необходимости переносится через дефис
    • столбцы cведут себя так же, как и в «классических» таблицах: ширина столбца равна ширине самого длинного содержимого в ячейках и выравнивается по горизонтали (аналогично и для других опций)
  • В столбцах ( например S, определяемых как столбец или , где форматирование может быть определено за пределами таблицы, см. документацию) нечисловое содержимое такого элемента cel должно быть заключено в соответствии с пакетом в классических таблицах в пару фигурных скобок: SQ[c, si]\sisetupsiunitxsiunitx
    • этим прерываются table-formatнастройки,
    • отключена неверная интерпретация смысла содержания (имейте в виду, что siunitxиспользование некоторых букв для обозначения чисел, например, 10e5означает 10 x 10^5!
  • Из tabularray-за различной обработки таблиц (использования l3exp) требуется добавить еще две пары фигурных скобок (это siunitxтребование работает во всех случаях).
  • Пакет tabularrayпозволяет форматировать строки. Например:
    • с row{1} = {font=\bfseries}прописным жирным шрифтом текста во всех ячейках строки в первой строке,
    • с row{Z} = {font=\scfaily, c}прописными буквами и центрированием содержимого в последней строке таблицы
  • и т. д.,

Приложение: вам может понравиться форматирование таблицы, которое группирует строки, например, по три, и вставляет между ними некоторое дополнительное вертикальное пространство. Для этого добавьте в преамбулу

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

и к преамбуле таблицы:

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

Учитывая эти дополнения, таблица потеряет следующий вид:

введите описание изображения здесь

Связанный контент