
Используя код, указанный ниже, я получаю черную линию над словом «Методы» из-за 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}
результаты в следующей таблице:
Поскольку вы не хотите избавляться от строк, я удалил вторую таблицу.
Чтобы избавиться от белой линии под текстом «Метод», вам нужно изменить команду \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).