複数列。分布と水平線

複数列。分布と水平線

私は表を作成しましたが、簡潔にするために次のように簡略化しました。

\begin{tabular}{ |l|l|c c c|l|l|l| }
    \hline
    Problem $I_k$ & Solved $C_k$ & \multicolumn{3}{ |c| }{Solution to $C_k$} & Current & Pursue & Stored\\
    & & $x_1$ & $x_2$ & $z$ & & & \\ \hline
\end{tabular}

次のような出力が生成される。

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

さて、2 つの質問があります。どちらも複数列に関連しています。まず、3 番目の列にのみ影響する部分を生成することは可能ですか\hline(「C_k の解」ラベルと 3 つの変数を分離する)?

次に、$x_1$、$x_2$、$z$ が中心化されていないように見えます。これを修正するにはどうすればよいでしょうか?

答え1

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

c列幅の非対称性は、\multicolumn{3}{c}{Solution to $C_k$}スパンされた列の幅の合計よりも広いという事実から生じます。その結果、$z$ を含む列は、複数列セルの幅に合わせて拡張されます。

すべての列の幅を等しくするには、c列タイプなどを使用して列の幅を指定する必要がありましたp{<width>}

\documentclass{article}
\usepackage{array}% needed for column redefinition
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}

\begin{document}
\begin{tabular}{ |l|l|*{3}{C{2em}}|l|l|l| }
    \hline
Problem $I_k$ & Solved $C_k$ & \multicolumn{3}{c|}{Solution to $C_k$}
    & Current & Pursue & Stored     \\
    \cline{3-5}
    & & $x_1$ & $x_2$ & $z$ & & & \\
    \hline
\end{tabular}
\end{document}

ただし、私はむしろ次の方法でテーブルを設計したいと思います。

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

\documentclass{article}
\usepackage{array, booktabs}% needed for column redefinition and nicer looks
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}

\begin{document}
\begin{tabular}{ ll *{3}{C{2em}} lll}
    \toprule
    &   & \multicolumn{3}{c}{Solution to $C_k$} &   &   &   \\
    \cmidrule(lr){3-5}
Problem $I_k$ & Solved $C_k$ & $x_1$ & $x_2$ & $z$ & Current & Pursue & Stored     \\
     \midrule
\end{tabular}
\end{document}

答え2

tabularxここでは、パッケージを使用して、列の幅を手動で指定せずに、テーブルをテキスト幅に合わせて自動的に拡張するバリエーションを示します。

\documentclass{article}
\usepackage{tabularx}
\begin{document}
\noindent
\begin{tabularx}{\textwidth}{ |l|l|*3{>{\centering\arraybackslash}X}|l|l|l| }
    \hline
    Problem $I_k$ & Solved $C_k$ & \multicolumn{3}{ c| }{Solution to $C_k$} & Current & Pursue & Stored\\\cline{3-5} 
    & & $x_1$ & $x_2$ & $z$ & & & \\ \hline
\end{tabularx}
\end{document} 

関連情報