(使用极简可重现的代码进行编辑)
我正在使用 写一篇 2 列论文IEEEtrans.cls
。论文包含一个表格,其行具有交替的背景颜色。问题是,每行第一列的第一行被一个神秘的黑框覆盖,如下图所示:
我可以通过使用 Acrobat 打开 PDF 并手动删除那些黑框来解决这个问题。但我想在排版阶段解决这个问题。
(找到了解决问题的方法,但不知道原因)
我发现是这个arydshln
包导致了这个问题,于是就通过不使用该包解决了这个问题。但我仍然不知道为什么,也不知道如果有一天我应该使用该包会怎么样。
该表的代码如下:
\documentclass[journal,comsoc,9pt]{IEEEtran}
\usepackage[table,xcdraw]{xcolor}
\usepackage{arydshln} % This causes the problem
\begin{document}
\nocite{*}
\begin{table}[]
\centering
\label{tab:table-label}
\begin{tabular}{ccc}
\hline
\rowcolor[HTML]{EFEFEF}
\textbf{Column 1} & \textbf{Column 2} \\ \hline
\rowcolor[HTML]{FFFFFF}
\begin{tabular}[c]{@{}c@{}}Cell\\ (1,1)\end{tabular} & \begin{tabular}[c]{@{}c@{}}Cell\\(1, 2)\end{tabular} \\
\rowcolor[HTML]{EFEFEF}
\begin{tabular}[c]{@{}c@{}}Cell\\(2, 1)\end{tabular} & \begin{tabular}[c]{@{}c@{}}Cell\\(2,2)\end{tabular}
\end{tabular}
\end{table}
\end{document}
答案1
自从约翰内斯·B激怒我:-) ...
- 正如我在上面的评论中提到的,
arydshln
必须在之前加载xcolor
。
无关:
- 表格的上下文不清楚,因此不清楚为什么在单元格中嵌套表格环境
- 从提供的代码如下,你喜欢表格的灰色背景
- 以下是两种可能的解决方案
\documentclass[journal,comsoc,9pt]{IEEEtran}
\usepackage{arydshln} % had to be before xcolor
\usepackage[table,xcdraw]{xcolor}
\newcommand\mycell[1]{\begin{tabular}[c]{@{}c@{}}#1\end{tabular}}
\begin{document}
\begin{table}[htb]
\definecolor{mygray}{HTML}{EFEFEF}
\centering
\caption{}
\label{tab:table-label}
\begin{tabular}{*{2}{>{\columncolor{mygray}}c}}
\hline
\textbf{Column 1} & \textbf{Column 2} \\
\hline
Cell & Cell \\
(1,1) & (1, 2) \\
\hline
Cell & Cell \\
(2,1) & (2, 2) \\
\hline
\end{tabular}
\end{table}
\begin{table}[htb]
\caption{}
\definecolor{mygray}{HTML}{EFEFEF}.
\centering
\label{tab:table-label}
\begin{tabular}{*{2}{>{\columncolor{mygray}}c}}
\hline
\textbf{Column 1} & \textbf{Column 2} \\
\hline
\mycell{Cell\\ (1,1)} & \mycell{Cell\\ (1,2)} \\
\hline
\mycell{Cell\\ (2,1)} & \mycell{Cell\\ (2,2)} \\ \hline
\end{tabular}
\end{table}
\end{document}