Latex テーブル コンテンツのオーバーフロー

Latex テーブル コンテンツのオーバーフロー

複数の長いテキストを含む表があり、ページ幅に収めることができません。列幅の最適なセットを見つけましたが (テキスト幅に応じて試行錯誤しました)、コンテンツを配置すると、表が壊れたり、機能しなくなったりします。

その後、回避策を作成しましたが、行が結合されなくなり、見た目も悪く、論文で表を使用する予定なので、これを使用することはできません。私の回避策:

\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}

例えば、添付の画像では、列幅を指定したにもかかわらず、オーバーフローしていることがわかります。必要なのは、列 1そして6列目これら 2 つの列の高さ、できれば指定した列幅に合わせて調整する必要があります。

ラテックステーブル出力

を使用すると\makecell、3 行の組み合わせのように見えました。他の方法 (幅のある複数行など) を試しましたが、問題を解決できませんでした。

私が本質的に望んでいるのは、次の画像のようなものです。 望ましい出力

答え1

私がよく理解していれば、これが必要です:

\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}

ここに画像の説明を入力してください

答え2

このようなもの?

ここに画像の説明を入力してください

\multirowこのディレクティブはここでは役に立たないので削除したことに注意してください。

\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}

関連情報