longtable
为了在具有灰色背景的多列表格单元格中创建标题,我更改了\LT@makecaption
原始包。
\documentclass[12pt]{article}
\usepackage{longtable}
\usepackage{color}
\usepackage{xcolor}
\usepackage{colortbl}
% redefine longtable caption
\makeatletter
\def\LT@makecaption#1#2#3{%
\multicolumn{\LT@cols}{|c|}{\cellcolor{gray!40}\textbf{#2: }\textbf{#3}}
}
\makeatother
\begin{document}
\begin{longtable}{|c|c|}
\hline
\caption{My Table Caption}\label{table1} \\
\hline
1 & 2\\ \hline
3 & 4\\ \hline
\end{longtable}
\end{document}
通过查看编译后的版本,它不会用灰色背景为整个表格宽度着色。LaTeX 在单元格的右侧添加了一个小的空白区域(边距/填充?)。
我怎样才能避免这种情况,让整个表格宽度的单元格宽度和右侧的右边框着色,而不使用任何边距/填充?
答案1
您在代码中明确添加了两个空格标记,如果没有它们,您将得到
\documentclass[12pt]{article}
\usepackage{longtable}
\usepackage{color}
\usepackage{xcolor}
\usepackage{colortbl}
% redefine longtable caption
\makeatletter
\def\LT@makecaption#1#2#3{%
\multicolumn{\LT@cols}{|c|}{\cellcolor{gray!40}\textbf{#2: }\textbf{#3}}%%%
}
\makeatother
\begin{document}
\begin{longtable}{|c|c|}
\hline
\caption{My Table Caption}\label{table1}\\
\hline
1 & 2\\ \hline
3 & 4\\ \hline
\end{longtable}
\end{document}