hhline によって表に現れる余分な黒い線を削除する方法

hhline によって表に現れる余分な黒い線を削除する方法

結果の表

下記のコードを使用すると、 により「Methods」という単語の上に黒い線が表示されますhhline。この黒い線を削除するか、または背景色と同じ色にして見えないようにするにはどうすればよいでしょうか。

\documentclass{article}
  \usepackage{hhline}
 \usepackage[table]{xcolor}
   \usepackage{array}
 \usepackage{hhline}
  \usepackage{multirow}
  \definecolor{babyblue}{rgb}{0.54, 0.81, 0.94}
   \definecolor{aliceblue}{rgb}{0.94, 0.97, 1.0}
    \begin{document}
    \begin{table}[]
    \centering
    \setlength\arrayrulewidth{1.3pt}
        \footnotesize\setlength{\tabcolsep}{2.7 pt}
    \renewcommand{\arraystretch}{1.4}
    \begin{tabular}{|c|c|c|c|c|c|c|}
        \hline
        \cellcolor{aliceblue}  & \multicolumn{2}{c|}{\cellcolor{babyblue}ISE} & \multicolumn{2}{c|}{\cellcolor{babyblue}IAE} & \multicolumn{2}{c|}{\cellcolor{babyblue}ITAE} \\ \hhline{-|-|-|-|-|-|-|} \cline{2-7} 
            \multirow{-2}{*}{\cellcolor{aliceblue} Methods}
        & \cellcolor{aliceblue}-20\%       & \cellcolor{aliceblue}+20\%     & \cellcolor{aliceblue}-20\%       & \cellcolor{aliceblue}+20\%      & \cellcolor{aliceblue}-20\%       & \cellcolor{aliceblue}+20\%       \\ \hhline{-|*6-}
        \rowcolor{babyblue}ABC                                                           & 0.5645      & 0.63     & 1.8       & 1.8      & 6.1       & 6.6       \\ \hhline{-|*6-}
        \rowcolor{aliceblue}XYZ                                                            & 2.1       & 2.3      & 0.881       & 9.82      & 9.2       & 28.9       \\ \hhline{-|*6-}
        \rowcolor{babyblue}MNO                                                                & 0.68      & 0.97     & 1.62       & 1.61      & 8.9       & 8.2       \\ \hhline{-|*6-}
        \rowcolor{aliceblue} PQR                                                                 & 0.65       & 0.753     & 2.064       & 2.231      & 28.04       & 28.56       \\ \hhline{-|*6-}
    \end{tabular}
    \end{table}
   \end{document}

答え1

\hhline{-|-|-|-|-|-|-|}使用したコマンドを に変更する必要があります\hhline{|~|-|-|-|-|-|-|}(~最初の位置のマークには行がないことを確認してください)。

そこで次のMWE

\documentclass{article}

\usepackage{hhline}
\usepackage[table]{xcolor}
\usepackage{array}
\usepackage{multirow}

\definecolor{babyblue}{rgb}{0.54, 0.81, 0.94}
\definecolor{aliceblue}{rgb}{0.94, 0.97, 1.0}


\begin{document}

\begin{table}[]
  \centering
  \setlength\arrayrulewidth{1.3pt}
  \footnotesize\setlength{\tabcolsep}{2.7 pt}
  \renewcommand{\arraystretch}{1.4}
  \begin{tabular}{|c|c|c|c|c|c|c|}
    \hline
    \cellcolor{aliceblue}  & \multicolumn{2}{c|}{\cellcolor{babyblue}ISE} & \multicolumn{2}{c|}{\cellcolor{babyblue}IAE} & \multicolumn{2}{c|}{\cellcolor{babyblue}ITAE} \\ 
   \hhline{|~|-|-|-|-|-|-|} % <==========================================
    \multirow{-2}{*}{\cellcolor{aliceblue}Methods}
        & \cellcolor{aliceblue}-20\%       & \cellcolor{aliceblue}+20\%     & \cellcolor{aliceblue}-20\%        & \cellcolor{aliceblue}+20\%      & \cellcolor{aliceblue}-20\%       & \cellcolor{aliceblue}+20\%        \\ \hhline{-|*6-}
    \rowcolor{babyblue}ABC                                                           & 0.5645      & 0.63     & 1.8       & 1.8      & 6.1       & 6.6       \\ \hhline{-|*6-}
    \rowcolor{aliceblue}XYZ                                                            & 2.1       & 2.3      & 0.881       & 9.82      & 9.2       & 28.9       \\ \hhline{-|*6-}
    \rowcolor{babyblue}MNO                                                                & 0.68      & 0.97     & 1.62       & 1.61      & 8.9       & 8.2       \\ \hhline{-|*6-}
    \rowcolor{aliceblue} PQR                                                                 & 0.65       & 0.753     & 2.064       & 2.231      & 28.04       & 28.56       \\ \hhline{-|*6-}
  \end{tabular}
\end{table}
\end{document}

結果は次の表のようになります。

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

行を削除したくないので、2 番目のテーブルを削除しました。

「Method」というテキストの下の白い線を削除するには、コマンドを\hhline{|~|-|-|-|-|-|-|}次のように変更する必要があります。

\hhline{|>{\arrayrulecolor{aliceblue}}->{\arrayrulecolor{black}}|-|-|-|-|-|-|}

このコードは、行の最初の部分 (-再び でマークされ、~白い線が追加されます) を印刷し、背景と同じ色で色付けしていることに注意してください。

以下のMWEで

\documentclass{article}

\usepackage{hhline}
\usepackage[table]{xcolor}
\usepackage{array}
\usepackage{multirow}
\usepackage{booktabs}

\definecolor{babyblue}{rgb}{0.54, 0.81, 0.94}
\definecolor{aliceblue}{rgb}{0.94, 0.97, 1.0}


\begin{document}

\begin{table}[ht]
  \centering
  \setlength\arrayrulewidth{1.3pt}
  \footnotesize\setlength{\tabcolsep}{2.7 pt}
  \renewcommand{\arraystretch}{1.4}
  \begin{tabular}{|c|c|c|c|c|c|c|}
    \hline
    \cellcolor{aliceblue}  & \multicolumn{2}{c|}{\cellcolor{babyblue}ISE} & \multicolumn{2}{c|}{\cellcolor{babyblue}IAE} & \multicolumn{2}{c|}{\cellcolor{babyblue}ITAE} \\ 
   \hhline{|>{\arrayrulecolor{aliceblue}}->{\arrayrulecolor{black}}|-|-|-|-|-|-|} % <==========================================
    \multirow{-2}{*}{\cellcolor{aliceblue}Methods}
        & \cellcolor{aliceblue}-20\%       & \cellcolor{aliceblue}+20\%     & \cellcolor{aliceblue}-20\%        & \cellcolor{aliceblue}+20\%      & \cellcolor{aliceblue}-20\%       & \cellcolor{aliceblue}+20\%        \\ \hhline{-|*6-}
    \rowcolor{babyblue}ABC                                                           & 0.5645      & 0.63     & 1.8       & 1.8      & 6.1       & 6.6       \\ \hhline{-|*6-}
    \rowcolor{aliceblue}XYZ                                                            & 2.1       & 2.3      & 0.881       & 9.82      & 9.2       & 28.9       \\ \hhline{-|*6-}
    \rowcolor{babyblue}MNO                                                                & 0.68      & 0.97     & 1.62       & 1.61      & 8.9       & 8.2       \\ \hhline{-|*6-}
    \rowcolor{aliceblue} PQR                                                                 & 0.65       & 0.753     & 2.064       & 2.231      & 28.04       & 28.56       \\ \hhline{-|*6-}
  \end{tabular}
\end{table}

\end{document}

結果は次のようになります:

より良いテーブル

答え2

テーブルを次のように再設計します。

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

\documentclass{article}
\usepackage{siunitx}
\usepackage[table]{xcolor}
\definecolor{babyblue}{rgb}{0.54, 0.81, 0.94}
\definecolor{aliceblue}{rgb}{0.94, 0.97, 1.0}
\usepackage{booktabs, multirow}
\newcommand\mcc[1]{\multicolumn{2}{c}{#1}}

\begin{document}

\begin{table}[htb]
  \centering
  \renewcommand\arraystretch{1.2}
  \rowcolors{2}{white}{aliceblue}
  \begin{tabular}{c *{6}{S} }
    \toprule
        & \mcc{ISE} & \mcc{IAE} & \mcc{ITAE}                \\
    \cmidrule(lr){2-3}\cmidrule(lr){4-5}\cmidrule(lr){6-7}
\multirow{-2.3}{*}{Methods}
        & {$-20\%$} & {$+20\%$}
                    & {$-20\%$} & {$+20\%$}
                                & {$$-20\%$} & {$+20\%$}         \\
    \hline
ABC     & 0.5645    & 0.63  & 1.8   & 1.8   & 6.1   &  6.6  \\
XYZ     & 2.1       & 2.3   & 0.881 & 9.82  & 9.2   & 28.9  \\
MNO     & 0.68      & 0.97  & 1.62  & 1.61  & 8.9   &  8.2  \\
PQR     & 0.65      & 0.753 & 2.064 & 2.231 & 28.04 & 28.56 \\
    \bottomrule
  \end{tabular}
\end{table}
\end{document}

答え3

\multirow の白い線に対する解決策を次に示します。 を使用する代わりに\hhline{~|-|-|-|-|-|-|}、全幅 を使用し\hhline、最初のセグメントを \multirow の背景色で色付けします。

また、あなたのコードを簡略化し、AliceBlueの色を使用しましたsvgnames。これは、あなたの と変わらないようですaliceblue

\documentclass{article}

\usepackage{hhline}
\usepackage[table, svgnames]{xcolor}
\usepackage{array}
\usepackage{multirow}
\usepackage{booktabs}

\definecolor{babyblue}{rgb}{0.54, 0.81, 0.94}

\begin{document}

\begin{table}[ht]
  \centering
  \setlength\arrayrulewidth{1.3pt}
  \footnotesize\setlength{\tabcolsep}{2.7 pt}
  \renewcommand{\arraystretch}{1.4}
  \begin{tabular}{|c|c|c|c|c|c|c|}
    \hline
    \cellcolor{aliceblue} & \multicolumn{2}{c|}{\cellcolor{babyblue}ISE} & \multicolumn{2}{c|}{\cellcolor{babyblue}IAE} & \multicolumn{2}{c|}{\cellcolor{babyblue}ITAE} \\
   \hhline{|>{\arrayrulecolor{AliceBlue}}->{\arrayrulecolor{black}}|*6{-}} % <==========================================
\rowcolor{AliceBlue} \multirow{-2}{*}{Methods}
        &$ - $20\% & +20\% & $ - $20\% & +20\% & $ - $20\% & +20\% \\ \hhline{-|*6-}
    \rowcolor{babyblue}ABC & 0.5645 & 0.63 & 1.8 & 1.8 & 6.1 & 6.6 \\ \hhline{-|*6-}
    \rowcolor{AliceBlue}XYZ & 2.1 & 2.3 & 0.881 & 9.82 & 9.2 & 28.9 \\ \hhline{-|*6-}
    \rowcolor{babyblue}MNO & 0.68 & 0.97 & 1.62 & 1.61 & 8.9 & 8.2 \\ \hhline{-|*6-}
    \rowcolor{AliceBlue} PQR & 0.65 & 0.753 & 2.064 & 2.231 & 28.04 & 28.56 \\ \hhline{-|*6-}
  \end{tabular}
\end{table}

\end{document} 

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

答え4

{NiceTabular}of を使用すると、その表を簡単に作成できますnicematrix

\documentclass{article}
\usepackage{xcolor}
\usepackage{nicematrix}
\definecolor{aliceblue}{rgb}{0.94, 0.97, 1.0}
\definecolor{babyblue}{rgb}{0.54, 0.81, 0.94}

\begin{document}
\begin{table}[ht]
\centering
\setlength{\arrayrulewidth}{1.3pt}
\footnotesize
\setlength{\tabcolsep}{2.7 pt}
\renewcommand{\arraystretch}{1.4}
\begin{NiceTabular}{ccccccc}[hvlines,color-inside]
  \rowcolors{babyblue}{aliceblue}
  \Block[fill=aliceblue]{2-1}{Methods} & \Block{1-2}{ISE} && \Block{1-2}{IAE} && \Block{1-2}{ITAE} \\ 
      &$-$20\%   & +20\%  & $-$20\%  & +20\% & $-$20\% & +20\%  \\
  ABC & 0.5645 & 0.63   & 1.8    & 1.8   & 6.1   & 6.6    \\ 
  XYZ & 2.1    & 2.3    & 0.881  & 9.82  & 9.2   & 28.9   \\ 
  MNO & 0.68   & 0.97   & 1.62   & 1.61  & 8.9   & 8.2    \\ 
  PQR & 0.65   & 0.753  & 2.064  & 2.231 & 28.04 & 28.56  \\ 
\end{NiceTabular}
\end{table}
\end{document} 

複数のコンパイルが必要です (nicematrix内部で PGF/Tikz ノードが使用されるため)。

上記コードの出力

関連情報