
Necesito agregar algunas tablas en book
el documento de clase. En ocasiones la tabla es más ancha que el texto. Esto no es un problema cuando ocurre en páginas impares ya que tienen márgenes derechos más grandes y encuadernaré desde la izquierda como se muestra a continuación.
Sin embargo, se convierte en un problema cuando la tabla tiene que estar en páginas pares, como se muestra a continuación, porque la encuadernación ocurre en el lado derecho y parte de la tabla se verá afectada. Por lo tanto, sería mejor dejar que la tabla adicional ocupe espacio en el lado izquierdo en lugar del derecho en las páginas pares. ¿Cómo lograr esto, por favor? ¡Gracias! Mi ejemplo se adjunta a continuación.
\documentclass[a4paper, twoside, hidelinks, 11pt]{book}
\usepackage{booktabs}
\usepackage{lipsum}
\begin{document}
\begin{table}[h]
\centering
\begin{tabular}{rccccc}
\toprule
Blah & Blah & Blah & Blah & Blah & Blah Blah Blah Blah \\ \midrule
-0.4 & -0.00495 & 0.02716 & 0.02719 & (0.70525, 1.34978) & (0.67622, 1.32378) \\
-0.3 & -0.00558 & 0.02534 & 0.02537 & (0.71227, 1.33488) & (0.68681, 1.31319) \\
-0.2 & -0.00616 & 0.02362 & 0.02366 & (0.71923, 1.32050) & (0.69718, 1.30282) \\
-0.1 & -0.00669 & 0.02201 & 0.02206 & (0.72613, 1.30662) & (0.70732, 1.29268) \\
0.1 & -0.00762 & 0.01909 & 0.01915 & (0.73968, 1.28034) & (0.72692, 1.27308) \\
0.2 & -0.00802 & 0.01776 & 0.01783 & (0.74636, 1.26790) & (0.73638, 1.26362) \\
0.3 & -0.00838 & 0.01652 & 0.01659 & (0.75294, 1.25591) & (0.74561, 1.25439) \\
0.4 & -0.00870 & 0.01536 & 0.01543 & (0.75945, 1.24439) & (0.75462, 1.24538) \\ \bottomrule
\end{tabular}
\end{table}
\lipsum[1-5]
\begin{table}[h]
\centering
\begin{tabular}{rccccc}
\toprule
Blah & Blah & Blah & Blah & Blah & Blah Blah Blah Blah \\ \midrule
-0.4 & -0.00495 & 0.02716 & 0.02719 & (0.70525, 1.34978) & (0.67622, 1.32378) \\
-0.3 & -0.00558 & 0.02534 & 0.02537 & (0.71227, 1.33488) & (0.68681, 1.31319) \\
-0.2 & -0.00616 & 0.02362 & 0.02366 & (0.71923, 1.32050) & (0.69718, 1.30282) \\
-0.1 & -0.00669 & 0.02201 & 0.02206 & (0.72613, 1.30662) & (0.70732, 1.29268) \\
0.1 & -0.00762 & 0.01909 & 0.01915 & (0.73968, 1.28034) & (0.72692, 1.27308) \\
0.2 & -0.00802 & 0.01776 & 0.01783 & (0.74636, 1.26790) & (0.73638, 1.26362) \\
0.3 & -0.00838 & 0.01652 & 0.01659 & (0.75294, 1.25591) & (0.74561, 1.25439) \\
0.4 & -0.00870 & 0.01536 & 0.01543 & (0.75945, 1.24439) & (0.75462, 1.24538) \\ \bottomrule
\end{tabular}
\end{table}
\end{document}
Respuesta1
Prueba este. Es similar a la respuesta de @Werner, pero automatizo tabular
la alineación.
\documentclass[a4paper, twoside, hidelinks, 11pt]{book}
\usepackage{booktabs}
\usepackage{lipsum}
\makeatletter
\newcommand*\mytabalign{%
\edef\sk@align{\ifodd\c@page l\else r\fi}
\makebox[\textwidth][\sk@align]}
\makeatother
\begin{document}
\begin{table}[h]
\centering
\mytabalign{\begin{tabular}{rccccc}
\toprule
Blah & Blah & Blah & Blah & Blah & Blah Blah Blah Blah \\ \midrule
-0.4 & -0.00495 & 0.02716 & 0.02719 & (0.70525, 1.34978) & (0.67622, 1.32378) \\
-0.3 & -0.00558 & 0.02534 & 0.02537 & (0.71227, 1.33488) & (0.68681, 1.31319) \\
-0.2 & -0.00616 & 0.02362 & 0.02366 & (0.71923, 1.32050) & (0.69718, 1.30282) \\
-0.1 & -0.00669 & 0.02201 & 0.02206 & (0.72613, 1.30662) & (0.70732, 1.29268) \\
0.1 & -0.00762 & 0.01909 & 0.01915 & (0.73968, 1.28034) & (0.72692, 1.27308) \\
0.2 & -0.00802 & 0.01776 & 0.01783 & (0.74636, 1.26790) & (0.73638, 1.26362) \\
0.3 & -0.00838 & 0.01652 & 0.01659 & (0.75294, 1.25591) & (0.74561, 1.25439) \\
0.4 & -0.00870 & 0.01536 & 0.01543 & (0.75945, 1.24439) & (0.75462, 1.24538) \\ \bottomrule
\end{tabular}}
\end{table}
\lipsum[1-5]
\begin{table}[h]
\centering
\mytabalign{\begin{tabular}{rccccc}
\toprule
Blah & Blah & Blah & Blah & Blah & Blah Blah Blah Blah \\ \midrule
-0.4 & -0.00495 & 0.02716 & 0.02719 & (0.70525, 1.34978) & (0.67622, 1.32378) \\
-0.3 & -0.00558 & 0.02534 & 0.02537 & (0.71227, 1.33488) & (0.68681, 1.31319) \\
-0.2 & -0.00616 & 0.02362 & 0.02366 & (0.71923, 1.32050) & (0.69718, 1.30282) \\
-0.1 & -0.00669 & 0.02201 & 0.02206 & (0.72613, 1.30662) & (0.70732, 1.29268) \\
0.1 & -0.00762 & 0.01909 & 0.01915 & (0.73968, 1.28034) & (0.72692, 1.27308) \\
0.2 & -0.00802 & 0.01776 & 0.01783 & (0.74636, 1.26790) & (0.73638, 1.26362) \\
0.3 & -0.00838 & 0.01652 & 0.01659 & (0.75294, 1.25591) & (0.74561, 1.25439) \\
0.4 & -0.00870 & 0.01536 & 0.01543 & (0.75945, 1.24439) & (0.75462, 1.24538) \\ \bottomrule
\end{tabular}}
\end{table}
\end{document}
No estoy seguro de que funcione correctamente en todas las situaciones, pero parece funcionar bien en este caso ( table
entorno interior).
Respuesta2
Sugeriría compilar el suyo book
y esperar para ajustar esas cosas justo al final. En ese momento, puede evitar \hbox
advertencias de exceso de contenido para páginas impares de gran tamaño tabular
utilizando
\makebox[0pt][l]{\begin{tabular}{..}
...
\end{tabular}}
y páginas pares tabular
usando
\raggedleft
\makebox[0pt][r]{\begin{tabular}{..}
...
\end{tabular}}
Aquí está su ejemplo en acción:
\documentclass[a4paper, twoside]{book}
\usepackage{booktabs,lipsum}
\begin{document}
\begin{table}[h]
\makebox[0pt][l]{%
\begin{tabular}{rccccc}
\toprule
Blah & Blah & Blah & Blah & Blah & Blah Blah Blah Blah \\ \midrule
-0.4 & -0.00495 & 0.02716 & 0.02719 & (0.70525, 1.34978) & (0.67622, 1.32378) \\
-0.3 & -0.00558 & 0.02534 & 0.02537 & (0.71227, 1.33488) & (0.68681, 1.31319) \\
-0.2 & -0.00616 & 0.02362 & 0.02366 & (0.71923, 1.32050) & (0.69718, 1.30282) \\
-0.1 & -0.00669 & 0.02201 & 0.02206 & (0.72613, 1.30662) & (0.70732, 1.29268) \\
0.1 & -0.00762 & 0.01909 & 0.01915 & (0.73968, 1.28034) & (0.72692, 1.27308) \\
0.2 & -0.00802 & 0.01776 & 0.01783 & (0.74636, 1.26790) & (0.73638, 1.26362) \\
0.3 & -0.00838 & 0.01652 & 0.01659 & (0.75294, 1.25591) & (0.74561, 1.25439) \\
0.4 & -0.00870 & 0.01536 & 0.01543 & (0.75945, 1.24439) & (0.75462, 1.24538) \\
\bottomrule
\end{tabular}}
\end{table}
\lipsum[1-5]
\begin{table}[h]
\raggedleft
\makebox[0pt][r]{%
\begin{tabular}{rccccc}
\toprule
Blah & Blah & Blah & Blah & Blah & Blah Blah Blah Blah \\ \midrule
-0.4 & -0.00495 & 0.02716 & 0.02719 & (0.70525, 1.34978) & (0.67622, 1.32378) \\
-0.3 & -0.00558 & 0.02534 & 0.02537 & (0.71227, 1.33488) & (0.68681, 1.31319) \\
-0.2 & -0.00616 & 0.02362 & 0.02366 & (0.71923, 1.32050) & (0.69718, 1.30282) \\
-0.1 & -0.00669 & 0.02201 & 0.02206 & (0.72613, 1.30662) & (0.70732, 1.29268) \\
0.1 & -0.00762 & 0.01909 & 0.01915 & (0.73968, 1.28034) & (0.72692, 1.27308) \\
0.2 & -0.00802 & 0.01776 & 0.01783 & (0.74636, 1.26790) & (0.73638, 1.26362) \\
0.3 & -0.00838 & 0.01652 & 0.01659 & (0.75294, 1.25591) & (0.74561, 1.25439) \\
0.4 & -0.00870 & 0.01536 & 0.01543 & (0.75945, 1.24439) & (0.75462, 1.24538) \\
\bottomrule
\end{tabular}}
\end{table}
\end{document}
De hecho, la automatización de este procedimiento puede ser posible, pero depende en gran medida de su uso habitual tabular
(flotadores interiores y/o exteriores, por ejemplo).
Respuesta3
El principal problema es que tu tabla es demasiado grande y esto sucede porque contiene demasiados datos para el ancho del texto que tienes :) Como consecuencia, veo diferentes posibilidades para resolver el problema:
Cambia el formato de tu tabla. Podrías, por ejemplo, mostrar los pares en dos líneas en lugar de usar
(... , ...)
. O escriba.123
en lugar de0.123
, según las convenciones utilizadas en su dominio. Otra forma sería utilizar diferentes unidades de escala, por ejemplo,2.716
en lugar0.02716
del factor$10^{-2}$
escrito en el título de la columna. Nuevamente, esto puede o no ser factible.Utilice
\small
el tamaño de fuente. EstevoluntadHaz tu mesa más pequeña. Sin embargo, puede resultar más difícil de leer, dependiendo del contenido real que tenga.Utilice el entorno flotante
table
, coloque la tabla en una página separada y compórela en formato horizontal.
Si ninguna de estas posibilidades (o combinaciones de las mismas) funciona para usted, puede intentar forzar a LaTeX para que la mesa sobresalga hacia el interior.exteriormargen en lugar del margen derecho. Mientras escribo esto, puedo ver que Werner ya te mostró cómo hacer esto.
Respuesta4
Una solución basada en tabularx
y jugando con \arraycolsep
muestra que la tabla puede tener exactamente el ancho del texto. Agregué el siunitx
paquete para formatear los números en las primeras cuatro columnas.
\documentclass[a4paper, twoside]{book}
\usepackage{booktabs, tabularx, siunitx, lipsum}
\renewcommand{\tabularxcolumn}[1]{>{\centering\arraybackslash$}m{#1}<{$}}
\begin{document}
\lipsum[1]
\begin{table}[h]\setlength\extrarowheight{1.5pt}
\begin{tabularx}{\linewidth}{@{\,}S[table-format=-1.1]S[table-format=-1.5]S[table-format=1.5]S[table-format=1.5]XX @{\,}}
\toprule
{Blah} & Blah & Blah & Blah & \text{Blah} & \parbox{\hsize}{\centering Blah Blah Blah Blah} \\[1ex]
\midrule
-0.4 & -0.00495 & 0.02716 & 0.02719 & (0.70525, 1.34978) & (0.67622, 1.32378) \\
-0.3 & -0.00558 & 0.02534 & 0.02537 & (0.71227, 1.33488) & (0.68681, 1.31319) \\
-0.2 & -0.00616 & 0.02362 & 0.02366 & (0.71923, 1.32050) & (0.69718, 1.30282) \\
-0.1 & -0.00669 & 0.02201 & 0.02206 & (0.72613, 1.30662) & (0.70732, 1.29268) \\
0.1 & -0.00762 & 0.01909 & 0.01915 & (0.73968, 1.28034) & (0.72692, 1.27308) \\
0.2 & -0.00802 & 0.01776 & 0.01783 & (0.74636, 1.26790) & (0.73638, 1.26362) \\
0.3 & -0.00838 & 0.01652 & 0.01659 & (0.75294, 1.25591) & (0.74561, 1.25439) \\
0.4 & -0.00870 & 0.01536 & 0.01543 & (0.75945, 1.24439) & (0.75462, 1.24538) \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}