見つけたとき、xltabular
「わあ、これは奇跡だ!」と言いました。tabularx
とを組み合わせlongtable
、セル幅とグローバル幅の比率を指定でき、すべての計算が自動的に行われるパッケージ、夢が現実になりました! そして、1 つを除いて、非常にうまく機能します。それは、 と互換性がないようですmultirow
。
MWE は次のとおりです。
\documentclass{article}
\usepackage{xltabular,multirow}
\pagestyle{empty}
\usepackage{makecell}
\setcellgapes{2.5pt}
\begin{document}
\renewcommand\arraystretch{1.4644}
\makegapedcells
\begin{center}\begin{xltabular}{\textwidth}{|
>{\setlength{\hsize}{0.076\hsize}\centering\arraybackslash}X|
>{\setlength{\hsize}{0.129\hsize}\centering\arraybackslash}X|
>{\setlength{\hsize}{0.087\hsize}\centering\arraybackslash}X|
>{\setlength{\hsize}{0.167\hsize}\centering\arraybackslash}X|
>{\setlength{\hsize}{0.14\hsize}\centering\arraybackslash}X|
>{\setlength{\hsize}{0.116\hsize}\centering\arraybackslash}X|
>{\setlength{\hsize}{0.16\hsize}\centering\arraybackslash}X|
>{\setlength{\hsize}{0.125\hsize}\centering\arraybackslash}X|}
\hline
\multicolumn{3}{|c|}{A. bla bla bla
}
&\multicolumn{2}{c|}{B. bla bla bla
}
&C. bla bla bla bla bla bla bla bla bla bla bla bla
&D. bla bla bla bla bla bla bla bla bla bla bla bla
&E. bla bla bla bla bla bla bla bla bla bla bla bla bla
\\\cline{1-5}F. bla bla bla bla bla bla
&G. bla bla bla bla bla bla
&H. bla bla bla bla bla bla
&I. bla bla bla bla bla bla
&J. bla bla bla bla bla bla
&
&
&\\\hline
\end{xltabular}\end{center}
これにより
当然、FJ セルの垂直スペースを使用するために、セル C、D、E を 2 行のセルに変換したいと思います。次のコードを使用します。
\begin{center}\begin{xltabular}{\textwidth}{|
>{\setlength{\hsize}{0.076\hsize}\centering\arraybackslash}X|
>{\setlength{\hsize}{0.129\hsize}\centering\arraybackslash}X|
>{\setlength{\hsize}{0.087\hsize}\centering\arraybackslash}X|
>{\setlength{\hsize}{0.167\hsize}\centering\arraybackslash}X|
>{\setlength{\hsize}{0.14\hsize}\centering\arraybackslash}X|
>{\setlength{\hsize}{0.116\hsize}\centering\arraybackslash}X|
>{\setlength{\hsize}{0.16\hsize}\centering\arraybackslash}X|
>{\setlength{\hsize}{0.125\hsize}\centering\arraybackslash}X|}
\hline
\multicolumn{3}{|c|}{A. bla bla bla
}
&\multicolumn{2}{c|}{B. bla bla bla
}
&\multirow{2}{*}{C. bla bla bla bla bla bla bla bla bla bla bla bla}
&\multirow{2}{*}{D. bla bla bla bla bla bla bla bla bla bla bla bla}
&\multirow{2}{*}{E. bla bla bla bla bla bla bla bla bla bla bla bla bla }
\\\cline{1-5}F. bla bla bla bla bla bla
&G. bla bla bla bla bla bla
&H. bla bla bla bla bla bla
&I. bla bla bla bla bla bla
&J. bla bla bla bla bla bla
&
&
&\\\hline
\end{xltabular}\end{center}
結果は(かなり残念な)次のようになりました。
を使用して複数行効果を実現する方法をご存知ですかxltabular
?
答え1
`\multirow のオプション引数を使用して、\multirow の内容を上または下に移動できます。以下は、\hsize の正しい値を持つコードです。列の幅が非常に狭いため、\tabcolsep の値も減らしました。また、小数点第 3 位までの値を持つことに疑問を感じる人もいるかもしれません。
\documentclass{article}
\usepackage{geometry}
\usepackage{xltabular,multirow}
\pagestyle{empty}
\usepackage{makecell}
\setcellgapes{2.5pt}
\begin{document}
\renewcommand\arraystretch{1.4644}
\makegapedcells
\begin{center}
\setlength{\tabcolsep}{3pt}
\begin{xltabular}{\textwidth}{|
>{\hsize=0.608\hsize\centering\arraybackslash}X|
>{\hsize=1.032\hsize\centering\arraybackslash}X|
>{\hsize=0.696\hsize\centering\arraybackslash}X|
>{\hsize=1.336\hsize\centering\arraybackslash}X|
>{\hsize=1.12\hsize\centering\arraybackslash}X|
>{\hsize=0.928\hsize\centering\arraybackslash}X|
>{\hsize=1.28\hsize\centering\arraybackslash}X|
>{\centering\arraybackslash}X|
}
\hline
\multicolumn{3}{|c|}{A. bla bla bla
}
&\multicolumn{2}{c|}{B. bla bla bla
}
&\multirow{2}{=}[-0.9ex]{C. bla bla bla bla bla bla bla bla bla bla bla bla}
&\multirow{2}{=}[-0.9ex]{D. bla bla bla bla bla bla bla bla bla bla bla bla}
&\multirow{2}{=}[-0.9ex]{E. bla bla bla bla bla bla bla bla bla bla bla bla bla}
\\\cline{1-5}F. bla bla bla bla bla bla
&G. bla bla bla bla bla bla
&H. bla bla bla bla bla bla
&I. bla bla bla bla bla bla
&J. bla bla bla bla bla bla
&
&
&\\\hline
\end{xltabular}
\end{center}
\end{document}