
multirows
との両方を含むテーブルに背景色を設定しようとしていますmulticolums
。 色を付けなくても、テーブルは正常に機能します。 しかし、色を付けたい部分は、さまざまな行数にまたがっています。 1 つのセルが 4 行にまたがり、1 つのセルが 2 行にまたがる状態で、4 行を同じ色で色付けしようとしました。
しかし、2 番目の色付けを行うと、複数行のテキストの上に色が適用されます。
ご覧のとおり、2 行目はrowcolor
「グレード」の上部を削除しcell 1
、3 行目の色は「グレード」の下部と厚さの下部を削除しています。何か解決策はありますか?
私のテキスト:
\begin{table}[ht]
\begin{tabular}{|c|c|lll|}
\hline
\rowcolor{blue!20}
\multirow{4}{*}{Grades}&Yield&\multicolumn{3}{c|}{Impact bending test}\\
\rowcolor{blue!20}
&Strength&\multirow{2}{*}{Thickness}&Test& Impact\\
\rowcolor{blue!20}
&$\mathbf{R_e[N/mm^2]}$& &{\bf temperature} & {\bf work}\\
\rowcolor{blue!20}
&\bf{transv.min.} &\bf{ transv.} &$\mathbf{[\grader]}$ & {\bf [J]} \\\hline
\multirow{ 1}{*}{{\bf DH36}} & & {\bf 5.5 – 7.0} & {\bf -40} & {\bf 24} \\
\hline
\end{tabular}
\end{table}
答え1
プリアンブルと使用されたコマンドの意味についての推測に基づいて:
\documentclass{article}
\usepackage{siunitx}
\usepackage{makecell,multirow}
\usepackage[table]{xcolor}
\begin{document}
\begin{table}[htb]
\sisetup{detect-weight=true}
\renewcommand\arraystretch{1.3}
\begin{tabular}{|*{2}{>{\bfseries}c|}
*{3}{>{\bfseries}c}|}
\hline
\rowcolor{blue!20}
& & \multicolumn{3}{c|}{\textbf{Impact bending test}} \\
\rowcolor{blue!20}
\multirow{-2}*{Grades}
& \multirow{-3}*[-1ex]{\makecell{Yield\\ Strength\\
{$\mathbf{R_e[\si{N\per\milli\meter^2}]}$} \\transv. min.}}
& \makecell{Thickness\\ transv.}
& \makecell{Test\\ temperature\\ \si{\celsius}}
& \makecell{Impact\\ work\\ \si{J} } \\
\hline
DH36 & & 5.5 – 7.0 & -40 & 24 \\
\hline
\end{tabular}
\end{table}
\end{document}
編集:
マクロには、下位置、上位置、セル コンテンツの左揃え、右揃えのmakecell
オプションがあります。オプションなしで使用すると、セル コンテンツは垂直方向と水平方向に中央揃えされます。b
t
l
r
上記のMWEの場合、表の2行目を次のように置き換えます。
\multirow{-3}*{Grades}
& \multirow{-3}*[3pt]{\makecell{Yield\\ Strength\\
{$\mathbf{R_e[\si{N\per\milli\meter^2}]}$} \\transv. min.}}
& \makecell[b]{Thickness\\ transv.}
& \makecell[b]{Test\\ temperature\\ \si{\celsius}}
& \makecell[b]{Impact\\ work\\ \si{J} } \\
表は以下のようになります。
答え2
の表を作成する方法は次のとおりです{NiceTabular}
。nicematrix
どの PDF ビューアを使用しても、細い白い線は表示されません。
\documentclass{article}
\usepackage{siunitx}
\usepackage{xcolor}
\usepackage{nicematrix}
\begin{document}
\begin{table}[htb]
\sisetup{detect-weight=true}
\renewcommand\arraystretch{1.3}
\begin{NiceTabular}{|c|c|ccc|}[cell-space-top-limit=3pt]
\Hline
\RowStyle[nb-rows=2,rowcolor=blue!20]{\bfseries}
\Block{2-1}{Grades}
& \Block{2-1}{Yield\\ Strength\\ $\mathbf{R_e[\unit{N\per\milli\meter^2}]}$ \\transv. min.}
& \Block{1-3}{Impact bending test} \\
&
& \Block{}{Thickness\\ transv.}
& \Block{}{Test\\ temperature\\ \unit{\celsius}}
& \Block{}{Impact\\ work\\ \unit{J}} \\
\Hline
DH36 & & $5.5$ -- $7.0$ & $-40$ & $24$ \\
\Hline
\end{NiceTabular}
\end{table}
\end{document}
複数のコンパイルが必要です (nicematrix
内部で PGF/Tikz ノードが使用されるため)。