Когда я использую \usepackage{colortbl}
пробел между \hline\hline
in, \longtable
он исчезает. Я не нашел решения, как вернуть пробел, поэтому надеюсь, вы мне поможете его найти.
\begin{longtable}{|l|l|l|l|c|r|r|r|}
\caption{{ABD}}
\label{tab:SO}\\
\hline
\multicolumn{1}{|l|}{{SO} - 01} & \multicolumn{7}{ c| }{AD}\\
\hline\hline
\multicolumn{4}{|l|}{Popis} & MJ & AD & AD & CD\\
\hline
\multicolumn{4}{|l|}{AD }& $3$ & 37000 & 0,32& 11\,800 \\
\hline
\end{longtable}
решение1
colortbl
загружает кучу кода при \begin{document}
проверке longtable и обеспечении совместимости. Если вы остановите его, то все будет работать лучше. Я виню авторов пакетов colortbl
и longtable
за то, что они не взаимодействуют.
\documentclass{article}
\usepackage{color}
\makeatletter
\let\xx@begindocumenthook\@begindocumenthook
\let\xxhline\hline
\let\xx@xhline\@xhline
\usepackage{colortbl}
\let\hline\xxhline
\let\@xhline\xx@xhline
\let\@begindocumenthook\xx@begindocumenthook
\makeatother
\usepackage{longtable}
\begin{document}\color{black}
\begin{longtable}{|l|l|l|l|c|r|r|r|}
\caption{{ABD}}
\label{tab:SO}\\
\hline
\multicolumn{1}{|l|}{{SO} - 01} & \multicolumn{7}{ c| }{AD}\\
\hline\hline
\multicolumn{4}{|l|}{Popis} & M J & AD & AD & CD\\
\hline
\multicolumn{4}{|l|}{AD }& $3$ & 37000 & 0,32& 11\,800 \\
\hline
\end{longtable}
\end{document}
решение2
Пакет colortbl
переопределяет \LT@@hline
макрос сразу после \begin{document}
, и первый \ifx
сравнивает макрос \hline
с макросом \LT@next
. Но макрос \hline
(внутри среды 'longtable') расширяется до:
\noalign{\ifnum 0=‘}\fi\penalty\@M\futurelet\@let@token\LT@@hline
Поэтому правильным будет сравнить макрос \hline
и \@let@token
.
Обходной путь — добавить \let\LT@next\@let@token
определение перед \LT@@hline
, после \begin{document}
.
\documentclass{article}
\usepackage{colortbl,longtable}
\begin{document}
\makeatletter
\let\LT@@hline@bkp\LT@@hline
\def\LT@@hline{\let\LT@next\@let@token\LT@@hline@bkp}
\makeatother
\begin{longtable}{|l|l|l|l|c|r|r|r|}
\caption{{ABD}}
\label{tab:SO}\\
\hline
\multicolumn{1}{|l|}{{SO} - 01} & \multicolumn{7}{ c| }{AD}\\
\hline\hline
\multicolumn{4}{|l|}{Popis} & M J & AD & AD & CD\\
\hline
\multicolumn{4}{|l|}{AD }& $3$ & 37000 & 0,32& 11\,800 \\
\hline
\end{longtable}
\end{document}