
multirow と longtable の使用時に問題が発生します。multirow セルの内容が非常に大きく、「非 multirow」行の制限をはるかに超えています。LaTeX はこれを無視し、それらの行のすぐ後ろから次の行を開始するため、内容が上書きされます。
以下は最小限の動作コードです:
\documentclass{article}
\usepackage{longtable}
\usepackage {multirow}
\usepackage{lipsum}
\begin{document}
\begin{center}
\begin{longtable}{|p{.15\textwidth}|p{.15\textwidth}|p{0.65\textwidth}|}
\hline
1 & 1.1 & \multirow{3}{.65\textwidth} {\lipsum[1] }\\
& 1.2 & \\
& 1.3 & \\ \hline
2 & 2.1 & \lipsum[2] \\ \hline
\end{longtable}
\end{center}
\end{document}
どのような助けでも本当にありがたいです...
答え1
あなたが何を探しているのかまだよく分かりませんが、追加に関する最後のコメントに基づいてvspace
、セクション番号 (1.1、1.2、1.3) を列 2 の同じセルに配置しない理由が気になります。テキストを追加または削除すると、3 列目のセルは自動的に縮小および拡大します。行に 2 つのセクションにテキストが含まれている場合は、そのセクションを別の行に配置します (例 2 を参照)。
追加の 2 つの改善点:
- -環境を削除します
centering
。ロングテーブルデフォルトでは中央に配置され、独自の配置アルゴリズムを使用します(ドキュメントを参照)。 tabcolsep
sの影響と垂直線の幅を考慮して行を計算します。新しい序文を参照してください。類似のテーブルが複数ある場合は、ロードすることをお勧めします。配列そして を使用して 2 つの新しい列タイプを定義します\newcolumntype
。これらはテーブルのプリアンブルで使用できます。
\newcolumntype{M}{p{\dimexpr(0.175\linewidth-2\tabcolsep-1.5\arrayrulewidth)}}
\newcolumntype{N}{p{\dimexpr(0.65\linewidth-2\tabcolsep-\arrayrulewidth)}}
最初の表の前文:
\begin{longtable}{|M|M|N|}
\documentclass{article}
\usepackage{longtable}
\usepackage{lipsum, array}
\begin{document}
\begin{longtable}{
|p{\dimexpr(0.175\linewidth-2\tabcolsep-1.5\arrayrulewidth)}
|p{\dimexpr(0.175\linewidth-2\tabcolsep-1.5\arrayrulewidth)}
|p{\dimexpr(0.65\linewidth-2\tabcolsep-\arrayrulewidth)}|}
\hline
1 & 1.1 \par 1.2\par 1.3 & \lipsum[1]\\\hline
2 & 2.1 & \lipsum[2] \\ \hline
\end{longtable}
\end{document}
確かに、私は別のレイアウトを選んだでしょう。ブックタブルールがあり、垂直のルールはありません。
\documentclass{article}
\usepackage{longtable}
\usepackage{lipsum, array}
\newcolumntype{O}{p{\dimexpr(0.175\linewidth-1.5\tabcolsep)}}
\newcolumntype{P}{p{\dimexpr(0.65\linewidth-\tabcolsep)}}
\begin{document}
\begin{longtable}{@{}OOP@{}}
\toprule \addlinespace[1ex]
1 & 1.1 \par 1.2\par 1.3 & \lipsum[1]\\\midrule \addlinespace[1ex]
2 & 2.1 & \lipsum[2] \\\cmidrule(l{\tabcolsep}){3-3}
& 2.2\par 2.3 & \lipsum[2] \\ \midrule
\end{longtable}
\end{document}