説明、短い略語、値を含む 3 つの列を持つテーブルがあります。説明は非常に長いエントリになる可能性があるため、p 列タイプを使用して行を自動的に折り返します。最終的なテーブルが数ページにまたがるため、longtable を使用しています。
現時点ではこのコードを使用しています
\documentclass{article}
\usepackage{longtable}
\begin{document}
\begin{longtable}{p{0.5\textwidth}cc}
\hline
Column 2 & Column 2 & Column 3\\
\hline
short entry & Entry s.1 & Value v.s1\\
& Entry s.2 & Value v.s2 \\
\hline
here is a very long text in the first column that will be broken into multiple rows & Entry l.1 & Value v.l1 \\
& Entry l.2 & Value v.l2 \\
\hline
\end{longtable}
\end{document}
この表を取得するには:
ご覧のとおり、最初の列のエントリが短い場合は、最後の 2 列を揃えるのは簡単です。ただし、最初の列のテキストが複数行に分割されている場合は、当然、最後の 2 行に同様の、ただし空のスペースができます。したがって、この例では、エントリ l.2 と値 v.l2 を 2 行上に「移動」する必要があります。
答え1
セルを複数の行にまたがるには、パッケージ\multirow
から次のものを使用できます。multirow
\documentclass{article}
\usepackage{longtable}
\usepackage{multirow}
\begin{document}
\begin{longtable}{p{0.5\textwidth}cc}
\hline
Column 2 & Column 2 & Column 3\\
\hline
short entry & Entry s.1 & Value v.s1\\
& Entry s.2 & Value v.s2 \\
\hline
\multirow{2}{0.5\textwidth}{here is a very long text in the first column that will be broken into multiple rows} & Entry l.1 & Value v.l1 \\
& Entry l.2 & Value v.l2 \\
\\
\hline
\end{longtable}
\end{document}
テキストの折り返しには、列の幅を手動で設定する必要があります。例では に設定されています.5\textwidth
。「複数行の列でのテキストの折り返し」に対するこの回答。
編集:
テキストがまたがる行を手動で確認する手間を省くには、\multirow
, fe を使用する代わりに、最後の 2 つの列にネストされたテーブルを使用します。
\documentclass{article}
\usepackage{longtable}
\begin{document}
\begin{longtable}{p{0.5\textwidth}c}
\hline
Column 2 &\begin{tabular}{cc}Column 2 & Column 3\end{tabular}\\
\hline
short entry &\begin{tabular}{cc}
Entry s.1 & Value v.s1\\
Entry s.2 & Value v.s2
\end{tabular}\\
\hline
here is a very long text in the first column that will be broken into multiple rows &\begin{tabular}{cc}
Entry l.1 & Value v.l1 \\
Entry l.2 & Value v.l2
\end{tabular}\\
\hline
\end{longtable}
\end{document}
可能であれば、表内の長いテキストを避けるようにしたいので、2 回確認することをお勧めします。
答え2
booktabs パッケージも使用できます。
\documentclass{article}
\usepackage{booktabs}
\usepackage{longtable}
\begin{document}
\begin{longtable}{p{0.5\textwidth}p{3cm} p{3cm}}
\toprule
Column 1 & Column 2 & Column 3\\
\midrule
short entry & Entry s.1 & Value v.s1\\
& Entry s.2 & Value v.s2 \\
\midrule
There is a very long text in the & Entry l.1 & Value v.l1 \\
first column that will be broken &Entry 1.2 & Value v.12\\
into multi rows&&\\
\bottomrule
\end{longtable}
\end{document}
答え3
すべての列が なのでp{some width}
、セル内で を使用する\newline
と行数が少なくなります。あるいは、makecell
セル内での改行を可能にする パッケージを使用することもできます。
\documentclass{article}
\usepackage{booktabs}
\usepackage{longtable}
\usepackage{makecell}
\renewcommand\cellalign{lt}
\begin{document}
\begin{longtable}{p{0.5\textwidth}p{3cm} p{3cm}}
\toprule
Column 1 & Column 2 & Column 3 \\
\midrule
short entry & Entry s.1 & Value v.s1 \\
& Entry s.2 & Value v.s2 \\
\midrule
There is a very long text in the first column that will be broken into multi rows & \makecell{Entry l.1 & \\Entry 1.2} & \makecell{Value v.l1\\Value v.12} \\
\addlinespace
There is a very long text in the first column that will be broken into multi rows & Entry l.1\newline Entry 1.2 & Value v.l1\newline Value v.12 \\
\bottomrule
\end{longtable}
\end{document}