このテーブルは、問題ばかり起こしています。今のところ、問題ないようです。
しかし、垂直方向の間隔があまり良くないことは明らかです。「Region」が高すぎます ( [fixup]
multirow: パラメータを使用して対処しようとしました[-0.5em]
)。以前は、\parbox
中央の列の改行と中央揃えが適切に行われていました。ページ幅に合わせるには、これらの列を 3 行で折り返す必要があります。
実行すると、次の 2 つの列に対して 2 つのエラーが発生します。
Overfull \vbox (5.89192pt too high) detected
Overfull \vbox (6.57993pt too high) detected
言ったように、見た目は問題ないようです。でも、何が起こっているのか理解したいです(テーブルの内容を変更して問題を解決できたとしても、それではわかりません。なぜ(それは問題でした)。おそらく私は苦痛を甘受するタイプなのでしょうが、論文に数時間取り組んだ後は、\LaTeX
エラーや警告をデバッグして休憩を取るのが好きです。
ここでいくつかの質問/回答を読んで、挿入してみました目に見えないルール(コメントより)、\smash
(行の折り返しが壊れる)、\vphantom
(テキストが消える)、[1em]
さまざまな場所にさまざまなサイズで追加する、およびその他のいくつかの方法がありました。
MWE:
\documentclass{article} % The class file specifying the document structure
\usepackage{palatino} % Use the Palatino font by default
\usepackage{siunitx}
\usepackage{geometry}
\usepackage{booktabs}
\usepackage{caption}
\usepackage{array}
\usepackage[referable]{threeparttablex}
\usepackage{multirow}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}m{#1}}
\geometry{
paper=letterpaper, % Change to letterpaper for US letter
inner=2.5cm, % Inner margin
outer=3.8cm, % Outer margin
bindingoffset=.5cm, % Binding offset
top=1.5cm, % Top margin
bottom=1.5cm, % Bottom margin
}
\begin{document}
\begin{table}[!htb]
\sisetup{input-decimal-markers = .,group-separator={,}, group-four-digits = true}
\captionsetup{skip=0.5\baselineskip,size=footnotesize}
\footnotesize
\centering
\begin{threeparttable}
\begin{tabular}{L{2.8cm}*4{S[table-format=2.1]}}
\toprule
\multicolumn{1}{c}{\multirow{2}{*}[-0.5em]{\parbox[c]{2.7cm}{\centering \textbf{Region}}}} &
\multicolumn{1}{c}{\multirow{2}{*}{\parbox[c]{1.8cm}{\centering \textbf{Electric outages per month}\tnote{a}}}} &
\multicolumn{1}{c}{\multirow{2}{*}{\parbox[c]{2.0cm}{\centering \textbf{Typical outage duration (hours)}\tnote{a}}}} &
\multicolumn{2}{c}{\centering\textbf{Population with electricity access}\tnote{b}} \\ \cmidrule{4-5}
& ~ & ~ & \multicolumn{1}{c}{\parbox[c]{1.7cm}{\centering \textbf{~~Total [\si{\percent}]}}} & \multicolumn{1}{c}{\parbox[c]{1.7cm}{\centering\textbf{~~Rural [\si{\percent}]}}} \\ [0.2cm]
\midrule
South Asia & 25.4 & 3.1 & 78. & 69.3 \\%
Sub-Saharan Africa & 9.0 & 4.2 & 35.3 & 15.3 \\%
OECD countries & 0.4 & 0.4 & 99.9 & 99.7 \\%
\bottomrule
\end{tabular}
\begin{tablenotes}
\item[a] For commercial users only
\item[b] For residential users only
\end{tablenotes}
\end{threeparttable}
\caption[Grid statistics for selected regions]{Grid statistics for selected regions.}
\label{tab:grid}
\end{table}
\end{document}
スクリーンショットと MWE ではarticle
クラスが使用されていますが、私のドキュメントではカスタム クラスのわずかに変更されたバージョンを使用していることに注意してくださいMastersDoctoralThesis
(ただし、どちらの場合もエラーは同じです)。
\documentclass[11pt,oneside,english,singlespacing,
headsepline,chapterinoneline]
{MastersDoctoralThesis}
答え1
最初の引数は、実際には1 つのセルに置き換えられる\multirow
の数ではなく、置き換えられる の数 (またはそれと同等の数) です。 の値を取得すれば、目的の機能が果たされます。rows
lines
4
makecell
私は、パッケージとそのコマンドを使用してコードを簡素化する機会を得ました\multirowthead
。これにより、セル内での改行と共通の書式設定が可能になります。また、左端の列見出しを左揃えにすることを提案しますが、これは簡単に変更できます (すべてのコマンドのデフォルトは、makecell
垂直方向と水平方向の両方で中央揃えになっています)。
最後に、palatino
は廃止されており、数学をサポートしていません。このパッケージをnewpx
、palatino クローン に基づいて に置き換えましたTeX Gyre Pagella
。
\documentclass{article} % The class file specifying the document structure
\usepackage{newpxtext, newpxmath} %
\usepackage{siunitx}
\usepackage{geometry}
\usepackage{booktabs}
\usepackage{caption}
\usepackage{array}
\usepackage[referable]{threeparttablex}
\usepackage{multirow, makecell}
\renewcommand\theadfont{\bfseries}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}m{#1}}
\geometry{
paper=letterpaper, % Change to letterpaper for US letter
inner=2.5cm, % Inner margin
outer=3.8cm, % Outer margin
bindingoffset=.5cm, % Binding offset
top=1.5cm, % Top margin
bottom=1.5cm, % Bottom margin
}
\begin{document}
\begin{table}[!htb]
\sisetup{input-decimal-markers = .,group-separator={,}, group-four-digits = true}
\captionsetup{skip=0.5\baselineskip,size=footnotesize}
\footnotesize
\centering
\begin{threeparttable}
\begin{tabular}{L{2.8cm}*4{S[table-format=2.1]}}
\toprule
\renewcommand\theadalign{lc}\multirowthead{3}{Region}&
{\multirowthead{4}[1.3ex]{Electric\\ outages\\ per month\tnote{a}}} &
{\multirowthead{4}[1.3ex]{Typical outage\\ duration\\ (hours)\tnote{a}}} &
\multicolumn{2}{c}{\centering\textbf{Population with electricity access}\tnote{b}} \\%
\addlinespace[0.5ex] \cmidrule(lr){4-5}
& ~ & ~ & {\quad\textbf{Total [\si{\percent}]}\quad} & {\textbf{Rural [\si{\percent}]}}\\%
\addlinespace[0.8ex]
\midrule
South Asia & 25.4 & 3.1 & 78. & 69.3 \\%
Sub-Saharan Africa & 9.0 & 4.2 & 35.3 & 15.3 \\%
OECD countries & 0.4 & 0.4 & 99.9 & 99.7 \\%
\bottomrule
\end{tabular}
\begin{tablenotes}
\item[a] For commercial users only
\item[b] For residential users only
\end{tablenotes}
\end{threeparttable}
\caption[Grid statistics for selected regions]{Grid statistics for selected regions.}
\label{tab:grid}
\end{table}
\end{document}