Я столкнулся с этой проблемой, когда строки в longtable
after \multicolumn{1}{r}{Some text}
сжимаются:
Проблема:
Вот примерсодержит все пакеты, которые я в настоящее время использую:
\documentclass[12pt]{article}
\usepackage{geometry,graphicx,csquotes}
\usepackage{pdfpages,enumitem,xcolor,sidenotes,fancyhdr}
\usepackage{longtable,booktabs,multicol,colortbl,url,pbox,pifont}
\begin{document}
\begin{longtable}{@{}rl@{}}
\rowcolor{tablehead}
\multicolumn{2}{c}{{\color{tabletxt}
\textbf{A header which is multicolumn}}}
\\ \addlinespace[2mm]
\rowcolor{tableodd}
\multicolumn{1}{c}{Text}
&
\multicolumn{1}{c}{Website}
\\ \addlinespace[-1mm]
\midrule \addlinespace[2mm]
% HEADER END
Some text & \url{http://www.example.com/example} \\
\rowcolor{tableodd} Some text & \url{http://www.example.com/example} \\
Some text & \url{http://www.example.com/example} \\
\rowcolor{tableodd} Some text & \url{http://www.example.com/example} \\
Some text & \url{http://www.example.com/example} \\
\rowcolor{tableodd} Some text & \url{http://www.example.com/example} \\
Some text & \url{http://www.example.com/example} \\
\rowcolor{tableodd} Some text & \url{http://www.example.com/example} \\
Some text & \url{http://www.example.com/example} \\
\rowcolor{tableodd} Some text & \url{http://www.example.com/example} \\
Some text & \url{http://www.example.com/example} \\
\end{longtable}
\end{document}
В результате получилась следующая таблица (обратите внимание на разницу в ширине):
Одно решение:
При использовании \multicolumn{}{}{}
во всех ячейках это решает проблему:
\documentclass[12pt]{article}
\usepackage{geometry,graphicx,csquotes}
\usepackage{pdfpages,enumitem,xcolor,sidenotes,fancyhdr}
\usepackage{longtable,booktabs,multicol,colortbl,url,pbox,pifont}
\begin{document}
\begin{longtable}{@{}rl@{}}
\rowcolor{tablehead}
\multicolumn{2}{c}{{\color{tabletxt}
\textbf{A header which is multicolumn}}}
\\ \addlinespace[2mm]
\rowcolor{tableodd}
\multicolumn{1}{c}{Multicolumn text}
&
\multicolumn{1}{c}{Multicolumn website}
\\ \addlinespace[-1mm]
\midrule \addlinespace[2mm]
% HEADER END
\multicolumn{1}{r}{Some Text}
& \multicolumn{1}{l}{\url{http://www.example.com/example}} \\
\rowcolor{tableodd}
\multicolumn{1}{r}{Some Text}
& \multicolumn{1}{l}{\url{http://www.example.com/example}} \\
\multicolumn{1}{r}{Some Text}
& \multicolumn{1}{l}{\url{http://www.example.com/example}} \\
\rowcolor{tableodd}
\multicolumn{1}{r}{Some Text}
& \multicolumn{1}{l}{\url{http://www.example.com/example}} \\
\multicolumn{1}{r}{Some Text}
& \multicolumn{1}{l}{\url{http://www.example.com/example}} \\
\rowcolor{tableodd}
\multicolumn{1}{r}{Some Text}
& \multicolumn{1}{l}{\url{http://www.example.com/example}} \\
\multicolumn{1}{r}{Some Text}
& \multicolumn{1}{l}{\url{http://www.example.com/example}} \\
\rowcolor{tableodd}
\multicolumn{1}{r}{Some Text}
& \multicolumn{1}{l}{\url{http://www.example.com/example}} \\
\multicolumn{1}{r}{Some Text}
& \multicolumn{1}{l}{\url{http://www.example.com/example}} \\
\rowcolor{tableodd}
\multicolumn{1}{r}{Some Text}
& \multicolumn{1}{l}{\url{http://www.example.com/example}} \\
\end{longtable}
\end{document}
Что приводит к следующей таблице:
дальнейшее чтение
В разделе 4 «Многоколоночные записи»длинный столВ документации Дэвид Карлайл описывает команды \kill
и \setlongtables
. Но мне не ясно, как они решают проблемы. Я пытался использовать kill на пустой строке сверху, даже на многостолбцовом, охватывающем оба столбца.
Даже после нескольких проходов мне не удаётся выстроить строки в линию, так сказать. Я твёрдо верю, что есть лучший вариант, чем использовать многоколоночный в каждой ячейке.
Есть идеи?
решение1
Причина вашей проблемы - особенностьcolortbl
пакет, см. пояснения в разделах 1 и 2 документации пакета.
Самое простое решение — не использовать @{}
в определенииlongtable
столбцы: вместо \begin{longtable}{@{}rl@{}}
следует использовать только \begin{longtable}{rl}
:
\documentclass[12pt]{article}
\usepackage{geometry}
\usepackage[table]{xcolor}
\usepackage{booktabs, longtable}
\usepackage{url}
\begin{document}
\begin{longtable}{rl}
\rowcolor{gray}
\multicolumn{2}{c}{{\color{white}
\scshape \textbf{A header which is multicolumn}}}
\\ \addlinespace[2mm]
\rowcolor{gray!30}
\multicolumn{1}{c}{Text}
&
\multicolumn{1}{c}{Website}
\\ \addlinespace[-1mm]
\midrule \addlinespace[2mm]
% HEADER END
Some text & \url{http://www.example.com/example} \\
\rowcolor{gray!30} Some text & \url{http://www.example.com/example} \\
Some text & \url{http://www.example.com/example} \\
\rowcolor{gray!30} Some text & \url{http://www.example.com/example} \\
Some text & \url{http://www.example.com/example} \\
\rowcolor{gray!30} Some text & \url{http://www.example.com/example} \\
Some text & \url{http://www.example.com/example} \\
\rowcolor{gray!30} Some text & \url{http://www.example.com/example} \\
Some text & \url{http://www.example.com/example} \\
\rowcolor{gray!30} Some text & \url{http://www.example.com/example} \\
Some text & \url{http://www.example.com/example} \\
\end{longtable}
\end{document}
Примечание:как указаноМиков своем комментарии он отметил, что в современных шрифтах Computer Modern нет жирной формы/начертания заглавных букв.