Desbordamiento del contenido de la tabla de látex

Desbordamiento del contenido de la tabla de látex

Tengo una tabla con varios textos largos y no puedo ajustarlos al ancho de la página. He descubierto un conjunto óptimo de anchos de columna (con prueba y error según el ancho del texto), pero cuando coloco el contenido, rompe la tabla o no funciona.

Más tarde, hice una solución alternativa: ya no es una fila fusionada, se ve horrible y, como usaré la tabla en un documento, no puedo usarla. Mi solución:

\documentclass{article}
\usepackage{longtable}
\usepackage{multirow}
\usepackage{libertine}
\usepackage[verbose=true,letterpaper]{geometry}
\AtBeginDocument{
  \newgeometry{
    textheight=9in,
    textwidth=6.5in,
    top=1in,
    headheight=14pt,
    headsep=25pt,
    footskip=30pt
  }
}

\begin{document}

\begin{longtable}[h]{p{1.2cm}p{3.8cm}p{1.8cm}p{2cm}p{1.8cm}p{3.5cm}}
\caption{Sample table}
\label{table:sample} \\
\hline
\textbf{Col 1} & \textbf{Col 2} & \textbf{Slightly loooooooong name} & \textbf{Col 4} & \textbf{Col 5} & \textbf{Col 6} \\ \hline
\endfirsthead

\multicolumn{5}{c}{{\bfseries Table \thetable\ continued from previous page}} \\
\hline
\textbf{Col 1} & \textbf{Col 2} & \textbf{Slightly looooong name} & \textbf{Col 4} & \textbf{Col 5} & \textbf{Col 6} \\ \hline
\endhead

\\ \hline
\multicolumn{5}{r}{{Continued on next page}} \\ \hline
\endfoot

\\ \hline
\endlastfoot

\multirow{2}{*}{lorem ipsum} & voluptatem accusantium doloremque laudantium & 111,111 & 222,222 & 333,333 & Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad \\
& voluptatem accusantium doloremque laudantium & 444,444 & 555,555 & 666,666  \\ 

\end{longtable}


\end{document}

Por ejemplo, en la imagen adjunta puedes ver que aunque especifiqué el ancho de la columna, está desbordado. Lo que necesito es, todos los datos entrecolumna 1ycolumna 6debe ajustarse a la altura de estas 2 columnas, preferiblemente con los anchos de columna especificados.

salida de mesa de látex

Cuando usé \makecell, parecía una combinación de 3 filas. Probé otras formas (varias filas con ancho, etc.) pero no pude resolver mi problema.

Lo que esencialmente quiero es algo como la siguiente imagen: salida deseada

Respuesta1

Si entendí bien, necesitas esto:

\documentclass{article}
\usepackage{libertine}
\usepackage[verbose=true,letterpaper]{geometry}
\AtBeginDocument{
  \newgeometry{
    textheight=9in,
    textwidth=6.5in,
    top=1in,
    headheight=14pt,
    headsep=25pt,
    footskip=30pt
  }
}

\usepackage{tabularray}
\DefTblrTemplate{conthead-text}{normal}{\bfseries Table \thetable\ continued from previous page}

\begin{document}
\begin{longtblr}[
  caption={Sample table},
  label={table:sample},
  ]{
  colspec={Q[l,1.2cm]Q[l,3.8cm]Q[l,1.8cm]Q[l,2cm]Q[l,1.8cm]Q[l,3.5cm]},
  hline{1,2,Z}={solid},
  row{1}={font=\bfseries},
  rowhead=1,
  }
Col 1 & Col 2 & Slightly loooooooong name & Col 4 & Col 5 & Col 6 \\
\SetCell[r=2]{l} lorem ipsum & voluptatem accusantium doloremque laudantium & 111,111 & 222,222 & 333,333 & \SetCell[r=2]{l} Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad \\
& voluptatem accusantium doloremque laudantium & 444,444 & 555,555 & 666,666  \\ 
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
Other & lines & just & to & show & the page break\\
\end{longtblr}
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

¿Algo como esto?

ingrese la descripción de la imagen aquí

Tenga en cuenta que he eliminado la \multirowdirectiva, ya que no hace ninguna contribución útil aquí.

\documentclass{article}
\usepackage{longtable}
\usepackage{libertine}
\usepackage[verbose=true,letterpaper]{geometry}
\AtBeginDocument{%
  \newgeometry{%
    textheight=9in, textwidth=6.5in,
    top=1in, headheight=14pt, headsep=25pt,
    footskip=30pt
  }
}
\usepackage{array}
\usepackage{ragged2e} % for '\RaggedRight' macro
\usepackage{booktabs} % for well-spaced horizontal rules
\newcolumntype{P}[1]{>{\RaggedRight\hspace{0pt}}p{#1}}
\hyphenation{looooooo-ong loooo-ong} % choose something sensible

\begin{document}

\begin{longtable}{@{} P{1.2cm} P{3.9cm} *{3}{P{1.8cm}} P{3.9cm} @{}}

%% headers and footers

\caption{Sample table} \label{table:sample} \\
\toprule
\textbf{Col 1} & \textbf{Col 2} & 
\textbf{Slightly loooooooong name} & 
\textbf{Col 4} & \textbf{Col 5} & 
\textbf{Col 6} \\ 
\midrule
\endfirsthead

\multicolumn{6}{@{}l}{Table \thetable, continued from preceding page} \\
\addlinespace
\toprule
\textbf{Col 1} & \textbf{Col 2} & 
\textbf{Slightly looooong name} & 
\textbf{Col 4} & \textbf{Col 5} & 
\textbf{Col 6} \\ 
\midrule
\endhead

\midrule
\multicolumn{6}{r@{}}{\footnotesize Continued on next page} \\ 
\endfoot

\bottomrule
\endlastfoot


%% body of longtable

lorem ipsum & 
voluptatem accusantium doloremque laudantium & 
111,111 & 222,222 & 333,333 & 
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad \\ 
\addlinespace
& 
voluptatem accusantium doloremque laudantium & 
444,444 & 555,555 & 666,666 \\ 

\end{longtable}

\end{document}

información relacionada