
tabularray
ist ziemlich nützlich, da ich diese Dinge tun muss:
- Halten Sie den Tisch so breit wie
\textwidth
- Ich muss
note{}
in die Überschrift der Tabelle einfügen - 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.
- Achten Sie darauf, dass die Zahl dezimal ausgerichtet ist
Wie ich weiss:
- Um dies zu erreichen
1
, kann ichtblr
odertalltblr
mitX
Format verwenden - Um dies zu erreichen
2
, muss ich verwendentalltblr
- Um zu erreichen
4
, kann ichtalltblr
mitX
und verwendensi={}
Aber wie kann ich 3
das erreichen talltblr
? Wenn wir Q
das 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?
Eine weitere Frage: Warum kann ich nicht gggggg
durch 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}
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 tabularray
Syntax ziemlich schnell verstehen.
- Die Bedeutung der Optionen
c
(Mitte),l
(links),r
(rechts) undm
(Mitte),t
(oben)b
(unten, die letzten drei sind imarray
Paket definiert) ist die gleiche wie bei klassischen Tabellen. – Führen Sie neben den genannten Optionentabularray
drei weitere Optionen ein:h
(Kopf, oben in der Zelle),f
(Fuß, unten in der Zelle) undj
(Blocksatz). - Diese Optionen können einzeln oder als Attribute von Spaltentypen verwendet werden
X
.Q
Beispiel: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]
oderQ[c, wd=2cm]
definieren Sie eine Spalte mit 2cm Breite und horizontal zentriertem InhaltX[j]
hat Blocksatztext, der bei Bedarf getrennt wird- Die Spalten
c
verhalten 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
S
Spalten (definieren alsS
Spalte oder beispielsweise , wo die Formatierung außerhalb der TabelleQ[c, si]
definiert werden kann , siehe Dokumentation) musste der Zahleninhalt solcher Zellen gemäß dem Paket in klassischen Tabellen in geschweifte Klammern eingeschlossen werden:\sisetup
siunitx
siunitx
- dadurch wird
table-format
die Einstellung unterbrochen, - deaktiviert falsche Interpretation der Inhaltsbedeutung (denken Sie daran, dass
siunitx
einige Buchstaben zur Bezeichnung von Zahlen verwendet werden, z. B.10e5
bedeuten10 x 10^5
!
- dadurch wird
- Aufgrund der
tabularray
unterschiedlichen Tabellenverarbeitung (mitl3exp
) ist es erforderlich, zwei weitere geschweifte Klammernpaare hinzuzufügen (diesesiunitx
Anforderung gilt in allen Fällen). - Das
tabularray
Paket 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
- mit
- 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: