我按照以下方法将 longtable 调整到 textwidth使 longtable 适合文本宽度
\documentclass{report}
\usepackage{longtable}
\usepackage{multirow}
\begin{document}
\begin{center}
\begingroup
\setlength\tabcolsep{4pt}
\normalsize
\setlength\LTcapwidth{\textwidth} % default: 4in (rather less than \textwidth...)
\setlength\LTleft{0pt} % default: \fill
\setlength\LTright{0pt}
\begin{longtable}{@{\extracolsep{\fill}}p{4.0cm}|rcc|rcc|}
\multicolumn{1}{c|}{\multirow{2}{*}{\bf Sample}} & \multicolumn{3}{c|}{A}&\multicolumn{3}{c|}{B}\\
\cline{2-7} & a1 & b1 & c1 & a2 & b2 & c2 \\
\end{longtable}
\endgroup
\end{center}
\end{document}
这个问题已经在评论中提到了使 longtable 适合文本宽度然而,为了清楚起见,我决定提出一个新问题。
也许我们还可以使用其他解决方案来使 longtable 适合 textwidth?
答案1
如果您确实必须这样做(通常强制表格过宽只会分隔列并使表格更难阅读)您可以将 | 移动到第二列的左侧:
\documentclass{report}
\usepackage{longtable}
\usepackage{multirow}
\begin{document}
\begin{center}
\begingroup
\setlength\tabcolsep{4pt}
\normalsize
\setlength\LTcapwidth{\textwidth} % default: 4in (rather less than \textwidth...)
\setlength\LTleft{0pt} % default: \fill
\setlength\LTright{0pt}
\begin{longtable}{@{\extracolsep{\fill}}p{4.0cm}rcc|rcc|}
\multicolumn{1}{c}{\multirow{2}{*}{\textbf{Sample}}} & \multicolumn{3}{|c|}{A}&\multicolumn{3}{c|}{B}\\
\cline{2-7} &\multicolumn{1}{|r}{a1} & b1 & c1 & a2 & b2 & c2 \\
\end{longtable}
\endgroup
\end{center}
\end{document}