Resolver "overfull \vbox" en una tabla con varias filas

Resolver "overfull \vbox" en una tabla con varias filas

Esta mesa no me ha causado más que problemas. Ahora mismo se ve bien:

ingrese la descripción de la imagen aquí

Pero está claro que el espaciado vertical no es tan bueno. "Región" es demasiado alta (que intenté solucionar con el [fixup]parámetro de varias filas [-0.5em]:). Solía \parbox​​hacer saltos de línea y centrar correctamente las columnas del medio. Para ajustarse al ancho de mi página, estas columnas deben ajustarse en tres líneas.

Cuando ejecuto, aparece dos errores para estas dos columnas:

Overfull \vbox (5.89192pt too high) detected 
Overfull \vbox (6.57993pt too high) detected

Como dije, se ve bien, pero me gustaría entender qué está pasando (incluso si pudiera cambiar el contenido de la tabla para solucionar el problema, eso no me dirápor quéfue un problema). Quizás soy un glotón de castigo, pero después de unas horas trabajando en mi tesis, disfruto tomando un descanso depurando \LaTeXerrores/advertencias.

He leído varias preguntas/respuestas aquí e intenté insertarreglas invisibles (de un comentario), \smash(que rompió el ajuste de línea), \vphantom(que hizo que el texto desapareciera), agregando [1em]en varios lugares de diferentes tamaños y varios otros métodos.


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}

Tenga en cuenta que la captura de pantalla y MWE usan la articleclase, pero para mi documento estoy usando una versión ligeramente modificada de la clase personalizada MastersDoctoralThesis(pero los errores son idénticos en ambos sentidos):

\documentclass[11pt,oneside,english,singlespacing,
               headsepline,chapterinoneline]
              {MastersDoctoralThesis}

Respuesta1

El primer argumento de \multirowno es realmente el número de celdas rowsreemplazadas por una sola celda, sino el número de lines(o su equivalente) que se reemplazan. Tomar un valor de 4hace el trabajo.

Aproveché para simplificar su código usando el makecellpaquete y su \multirowtheadcomando, que permite saltos de línea en las celdas y un formato común. Además, propongo tener el encabezado de la columna más a la izquierda alineado a la izquierda, pero es fácil cambiar eso (el valor predeterminado para todos makecelllos comandos está centrado tanto vertical como horizontalmente).

Último punto: palatinoestá obsoleto y no admite matemáticas. Reemplacé este paquete con newpx, basado en el clon 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} 

ingrese la descripción de la imagen aquí

información relacionada