Wie behält man die Stile „X“ und „Q“ gleichzeitig in „tabularray“ bei?

Wie behält man die Stile „X“ und „Q“ gleichzeitig in „tabularray“ bei?

tabularrayist ziemlich nützlich, da ich diese Dinge tun muss:

  1. Halten Sie den Tisch so breit wie\textwidth
  2. Ich muss note{}in die Überschrift der Tabelle einfügen
  3. Der Tabellenkopf besteht aus zwei Zeichen, sodass er auf mehrere Zeilen in einer Zelle aufgeteilt ist. In diesem Fall muss ich kurze Köpfe so platzieren, dass sie in der Mitte der Tabellenzelle liegen.
  4. Achten Sie darauf, dass die Zahl dezimal ausgerichtet ist

Wie ich weiss:

  • Um dies zu erreichen 1, kann ich tblroder talltblrmit XFormat verwenden
  • Um dies zu erreichen 2, muss ich verwendentalltblr
  • Um zu erreichen 4, kann ich talltblrmit Xund verwendensi={}

Aber wie kann ich 3das erreichen talltblr? Wenn wir Qdas Format in zusammenführen können talltblr, können diese vier Funktionen gleichzeitig erreicht werden.

Zum Beispiel:

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

Wie erstellt man diese Tabelle, um die vier Anforderungen zu erfüllen? Bildbeschreibung hier eingeben

Eine weitere Frage: Warum kann ich nicht ggggggdurch ersetzen Length? Als ich das tat, trat ein Fehler auf:Package siunitx Error: Invalid number 'e'.

Antwort1

Bearbeiten: ups, ich habe die letzte Version des Codes und des Bildes nicht hochgeladen. Jetzt korrigiert. Tut mir leid für den Lärm ...

Als Ausgangspunkt:

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

Bildbeschreibung hier eingeben

Anmerkungen: Sie lesen wirklich (immer wieder) die Paketdokumentation. Nicht nur lesen, sondern auch mit verschiedenen Einstellungen für die Spaltenformatierung experimentieren. Meine Erfahrungen zeigen mir, dass die beste Lernmethode istLernen durch Tun. Am Anfang ist es etwas zeitaufwändig, aber Sie werden die Philosophie der tabularraySyntax ziemlich schnell verstehen.

  • Die Bedeutung der Optionen c(Mitte), l(links), r(rechts) und m(Mitte), t(oben) b(unten, die letzten drei sind im arrayPaket definiert) ist die gleiche wie bei klassischen Tabellen. – Führen Sie neben den genannten Optionen tabularraydrei weitere Optionen ein: h(Kopf, oben in der Zelle), f(Fuß, unten in der Zelle) und j(Blocksatz).
  • Diese Optionen können einzeln oder als Attribute von Spaltentypen verwendet werden X. QBeispiel:
    • X[c] hat eine Breite, die von LaTeX berechnet wird und der Spalteninhalt ist horizontal
    • `X[2,l] hat die doppelte Breite, die von LaTeX berechnet wird und linksbündiger Spalteninhalt
    • Q[c, 2cm]oder Q[c, wd=2cm]definieren Sie eine Spalte mit 2cm Breite und horizontal zentriertem Inhalt
    • X[j]hat Blocksatztext, der bei Bedarf getrennt wird
    • Die Spalten cverhalten sich wie bei „klassischen“ Tabellen. Die Spaltenbreite entspricht der Breite des längsten Inhalts in den Zellen und ist horizontal zentriert (ähnlich verhält es sich bei den anderen Optionen).
  • Bei SSpalten (definieren als SSpalte oder beispielsweise , wo die Formatierung außerhalb der Tabelle Q[c, si]definiert werden kann , siehe Dokumentation) musste der Zahleninhalt solcher Zellen gemäß dem Paket in klassischen Tabellen in geschweifte Klammern eingeschlossen werden: \sisetupsiunitxsiunitx
    • dadurch wird table-formatdie Einstellung unterbrochen,
    • deaktiviert falsche Interpretation der Inhaltsbedeutung (denken Sie daran, dass siunitxeinige Buchstaben zur Bezeichnung von Zahlen verwendet werden, z. B. 10e5bedeuten 10 x 10^5!
  • Aufgrund der tabularrayunterschiedlichen Tabellenverarbeitung (mit l3exp) ist es erforderlich, zwei weitere geschweifte Klammernpaare hinzuzufügen (diese siunitxAnforderung gilt in allen Fällen).
  • Das tabularrayPaket ermöglicht das Formatieren von Zeilen. Beispiele:
    • mit row{1} = {font=\bfseries}vorgeschriebenem Fettdruck in allen Zeilenzellen der ersten Zeile,
    • mit row{Z} = {font=\scfaily, c}vorgeschriebener Kapitälchenschrift und Zentrierung des Inhalts in der letzten Zeile der Tabelle
  • usw.,

Nachtrag: Ihnen gefällt vielleicht die Tabellenformatierung, die Zeilen gruppiert, z. B. mit drei davon, und einen zusätzlichen vertikalen Abstand zwischen ihnen einfügt. Fügen Sie dazu der Präambel hinzu

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

und zur Tabellenpräambel:

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

Unter Berücksichtigung dieser Ergänzungen verliert die Tabelle Folgendes:

Bildbeschreibung hier eingeben

verwandte Informationen