
Ich habe versucht, eine Tabelle zu erstellen, in der die ersten beiden Spalten zusammengeführte Zeilen aufweisen, die nächsten drei Spalten zusammengeführte Spalten mit drei Unterspalten innerhalb der gleichen Höhe wie die zusammengeführten Zeilen der Spalten 1 und 2 aufweisen und die letzte Spalte zusammengeführte Zeilen wie die Spalten 1 und 2 aufweist, nämlich:
Ich verwende pdflatex, das tabularx-Paket, das booktabs-Paket und das array-Paket. Mein relevanter Code ist:
\documentclass[12pt]{article}
\usepackage{multirow}
\usepackage{tabularx}
\usepackage{booktabs}
\begin{document}
\begin{table}[h]
\caption{Spectral channel characteristics of SEVIRI in terms of central, minimum and maximum wavelength of the channels and the main application areas of each channel.}
\begin{tabularx}{\textwidth}{l l c c c l}
\toprule
\multirow{3}{3.5em}{Channel No.} & \multirow{3}{3.5em}{Spectral Band ($\mu$m)} & \multicolumn{3}{c}{Characteristics of} & \multirow{3}{10em}{Main observational application} \\
{} & {} & \multicolumn{3}{c}{Spectral Band ($\mu$m)} & {} \\
\cmidrule(lr){3-5}
{} & {} & $\lambda_{\mathrm{cen}}$ & $\lambda_{\mathrm{min}}$ & $\lambda_{\mathrm{max}}$ & {}\\
\midrule
1 & VIS0.6 & 0.635 & 0.56 & 0.71 & Surface, clouds, wind fields \\
2 & VIS0.8 & 0.81 & 0.74 & 0.88 & Surface, clouds, wind fields \\
3 & NIR1.6 & 1.64 & 1.50 & 1.78 & Surface, cloud phase \\
4 & IR3.9 & 3.90 & 3.48 & 4.36 & Surface, clouds, wind fields \\
5 & WV6.2 & 6.25 & 5.35 & 7.15 & Water vapor, high level clouds, atmospheric instability \\
6 & WV7.3 & 7.35 & 6.85 & 7.85 & Water vapor, atmospheric instability \\
7 & IR8.7 & 8.70 & 8.30 & 9.1 & Surface, clouds, atmospheric instability \\
8 & IR9.7 & 9.66 & 9.38 & 9.94 & Ozone \\
9 & IR10.8 & 10.80 & 9.80 & 11.80 & Surface, clouds, wind fields, atmospheric instability \\
10 & IR12.0 & 12.00 & 11.00 & 13.00 & Surface, clouds, atmospheric instability \\
11 & IR13.4 & 13.40 & 12.40 & 14.40 & Cirrus cloud height, atmospheric instability \\
12 & HRV & \multicolumn{3}{c}{Broadband (about 0.4--1.1 $\mu$m)} & Surface, clouds \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}
Ich möchte, dass die Lambda-haltigen Spalten gleichmäßig verteilt werden. Ich habe versucht, die Größe der CCC-Spalten zu ändern, aber dann erhalte ich den Fehler „illegal pream-token“, wenn ich Folgendes ausführe:
[1{c:/texlive/2018/texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
! Package array Error: Illegal pream-token (2em): `c' used.
See the array package documentation for explanation.
Type H <return> for immediate help.
...
l.104 \end{tabularx}
Irgendwelche Ideen?
Antwort1
Hier ist mein Vorschlag:
\documentclass[12pt]{article}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{siunitx} % also loads xparse
\sisetup{range-phrase = --}
\NewDocumentCommand{\splitcell}{mo}{%
\IfNoValueTF{#2}{%
\begin{tabular}[t]{@{}c@{}}#1\end{tabular}%
}{%
\vphantom{\begin{tabular}[t]{@{}c@{}}#1\end{tabular}}%
\smash{\begin{tabular}[t]{@{}c@{}}#1\\#2\end{tabular}}%
}%
}
\begin{document}
\begin{table}[htp]
\caption{Spectral channel characteristics of SEVIRI in terms
of central, minimum and maximum wavelength of the channels
and the main application areas of each channel.}
\medskip
\begin{tabularx}{\textwidth}{
@{}
S[table-format=2.0]
c
S[table-format=2.3]
S[table-format=2.2]
S[table-format=2.2]
>{\raggedright\arraybackslash}X
@{}
}
\toprule
{\splitcell{Channel \\ No.}} &
\splitcell{Spectral \\ Band}[\si{\micro\meter}] &
\multicolumn{3}{c}{
\splitcell{Characteristics of \\ Spectral Band (\si{\micro\meter})}%
} &
Main observational application \\
\cmidrule(lr){3-5}
{} & {} & {$\lambda_{\mathrm{cen}}$} &
{$\lambda_{\mathrm{min}}$} &
{$\lambda_{\mathrm{max}}$} & \\
\midrule
1 & VIS0.6 & 0.635 & 0.56 & 0.71 & Surface, clouds, wind fields \\
2 & VIS0.8 & 0.81 & 0.74 & 0.88 & Surface, clouds, wind fields \\
3 & NIR1.6 & 1.64 & 1.50 & 1.78 & Surface, cloud phase \\
4 & IR3.9 & 3.90 & 3.48 & 4.36 & Surface, clouds, wind fields \\
5 & WV6.2 & 6.25 & 5.35 & 7.15 & Water vapor, high level clouds, atmospheric instability \\
6 & WV7.3 & 7.35 & 6.85 & 7.85 & Water vapor, atmospheric instability \\
7 & IR8.7 & 8.70 & 8.30 & 9.1 & Surface, clouds, atmospheric instability \\
8 & IR9.7 & 9.66 & 9.38 & 9.94 & Ozone \\
9 & IR10.8 & 10.80 & 9.80 & 11.80 & Surface, clouds, wind fields, atmospheric instability \\
10 & IR12.0 & 12.00 & 11.00 & 13.00 & Surface, clouds, atmospheric instability \\
11 & IR13.4 & 13.40 & 12.40 & 14.40 & Cirrus cloud height, atmospheric instability \\
12 & HRV & \multicolumn{3}{c}{%
\splitcell{Broadband \\ (about \SIrange{0.4}{1.1}{\micro\meter})}} &
Surface, clouds \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}
Antwort2
Ich würde wahrscheinlich damit anfangen. Die lange Zeile in Nr. 12 wird nie gut aussehen, also ist es am besten, sie neu zu schreiben.
\documentclass[12pt]{article}
\usepackage{multirow}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage[tableposition=top]{caption}
\usepackage{siunitx}
\begin{document}
\begin{table}[h]
\caption{Spectral channel characteristics of SEVIRI in terms of
central, minimum and maximum wavelength of the channels and the
main application areas of each channel.}
\begin{tabularx}{\textwidth}{
l
l
S[table-format=2.3]
S[table-format=2.2]
S[table-format=2.2]
>{\raggedright\arraybackslash}X
}
\toprule
\multirow{3}{3.5em}{Channel No.}
&
\multirow{3}{3.5em}{\centering Spectral Band (\si{\micro\meter})}
&
\multicolumn{3}{c}{Characteristics of}
&
\multirow{3}{10em}{Main observational application}
\\
{} & {} & \multicolumn{3}{c}{Spectral Band (\si{\micro\meter})} & {}
\\
\cmidrule(lr){3-5}
{} & {} & {$\lambda_{\mathrm{cen}}$} & {$\lambda_{\mathrm{min}}$} &
{$\lambda_{\mathrm{max}}$} & {}
\\
\midrule
1 & VIS0.6 & 0.635 & 0.56 & 0.71 & Surface, clouds, wind fields
\\
2 & VIS0.8 & 0.81 & 0.74 & 0.88 & Surface, clouds, wind fields
\\
3 & NIR1.6 & 1.64 & 1.50 & 1.78 & Surface, cloud phase
\\
4 & IR3.9 & 3.90 & 3.48 & 4.36 & Surface, clouds, wind fields
\\
5 & WV6.2 & 6.25 & 5.35 & 7.15 & Water vapor, high level clouds,
atmospheric instability
\\
6 & WV7.3 & 7.35 & 6.85 & 7.85 & Water vapor, atmospheric instability
\\
7 & IR8.7 & 8.70 & 8.30 & 9.1 & Surface, clouds, atmospheric
instability
\\
8 & IR9.7 & 9.66 & 9.38 & 9.94 & Ozone
\\
9 & IR10.8 & 10.80 & 9.80 & 11.80 & Surface, clouds, wind fields,
atmospheric instability
\\
10 & IR12.0 & 12.00 & 11.00 & 13.00 & Surface, clouds, atmospheric
instability
\\
11 & IR13.4 & 13.40 & 12.40 & 14.40 & Cirrus cloud height, atmospheric instability \\
12 & HRV & \multicolumn{3}{c}{Broadband*} & Surface, clouds \\
\bottomrule
\addlinespace
\multicolumn{4}{l}{* about \SIrange{0.4}{1.1}{\micro\meter}}
\end{tabularx}
\end{table}
\end{document}
Antwort3
eine kleine Variation der Antwort von @daleif unter Berücksichtigung der Farbgebung der Zeilen aus Ihrer Antwort. Ich habe mir auch die Freiheit genommen und die Spaltennamen geändert:
\documentclass[12pt]{article}
\usepackage[table]{xcolor}
\usepackage{booktabs, multirow, tabularx}
\newcommand\mrc[1]{\linespread{0.8}\selectfont\begin{tabular}[t]{@{} c @{}}#1\end{tabular}}
\usepackage[skip=1ex]{caption}
\usepackage[range-phrase = --]{siunitx}
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
\begin{document}
\begin{table}[h]
\caption{Spectral channel characteristics of SEVIRI in terms of central, minimum and maximum wavelength of the channels and the main application areas of each channel.}
\label{tab:channels}
\renewcommand\arraystretch{1.2}
\setlength\tabcolsep{4pt}
\rowcolors{3}{white}{gray!15}
\begin{tabularx}{\textwidth}{
p{2em}
p{3em}
S[table-format=2.3]
*{2}{S[table-format=1.3]}
>{\raggedright\arraybackslash}X
}
\toprule
&
& \multicolumn{3}{c}{\mrc{Spectral band\\ characteristics (\si{\micro\meter})}}
& \\
\cmidrule(lr){3-5}
\multirow[b]{-3.3}{=}{Ch. No.}
& \multirow[b]{-3.3}{=}{Band name}
& {$\lambda_{\mathrm{cen}}$}
& {$\lambda_{\min}$}
& {$\lambda_{\max}$}
& \multirow[b]{-3}{\linewidth}{Main observational application} \\
\hline
1 & VIS0.6 & 0.635 & 0.56 & 0.71 & Surface, clouds, wind fields \\
2 & VIS0.8 & 0.81 & 0.74 & 0.88 & Surface, clouds, wind fields \\
3 & NIR1.6 & 1.64 & 1.50 & 1.78 & Surface, cloud phase \\
4 & IR3.9 & 3.90 & 3.48 & 4.36 & Surface, clouds, wind fields \\
5 & WV6.2 & 6.25 & 5.35 & 7.15 & Water vapor, high level clouds, atmospheric instability \\
6 & WV7.3 & 7.35 & 6.85 & 7.85 & Water vapor, atmospheric instability \\
7 & IR8.7 & 8.70 & 8.30 & 9.1 & Surface, clouds, atmospheric instability \\
8 & IR9.7 & 9.66 & 9.38 & 9.94 & Ozone \\
9 & IR10.8 & 10.80 & 9.80 & 11.80 & Surface, clouds, wind fields, atmospheric instability \\
10 & IR12.0 & 12.00 & 11.00 & 13.00 & Surface, clouds, atmospheric instability \\
11 & IR13.4 & 13.40 & 12.40 & 14.40 & Cirrus cloud height, atmospheric instability \\
12 & HRV & \multicolumn{3}{c}{\mrc{Broadband\\(about \SIrange{0.4}{1.1}{\micro\meter})}}
& Surface, clouds \\
\bottomrule
\end{tabularx}
Antwort4
Vielen Dank für alle Antworten! Ich habe also ein bisschen damit herumgespielt tabularx
und gesehen, wie jemand in einem früheren Beitrag in der Präambel einen Spaltentyp definiert hat:
\newcolumntype{Y}{>{\centering\arraybackslash}X}
Wenn ich jetzt also die mittleren drei Spalten als angebe Y
und meine Spaltengröße ein wenig anpasse (außerdem akzeptieren , l
, c
und r
keine Größenanpassung, deshalb habe ich den Fehler erhalten, ich bin zu p
, m
und b
des array
Pakets gewechselt):
\begin{tabularx}{\textwidth}{p{3.5em} p{3.5em} Y Y Y p{10em}}
Ich komme dem, was ich gesucht habe, sehr nahe:
(Entschuldigen Sie die dunklen Reihen, ich spiele auch mit rowcolor
s).
Nochmals vielen Dank für den Input!