有沒有辦法讓它自動調整其大小,使其與文字寬度匹配,但不進入邊距,而不是指定 longtable 中每列的寬度(見下文)?
\floatsetup[longtable]{LTcapwidth=\textwidth}
\scriptsize
\begin{longtable}[c]
{p{0.045\textwidth}p{0.045\textwidth}p{0.045\textwidth}p{0.045\textwidth}p{0.045\textwidth}p{0.05\textwidth}p{0.045\textwidth}p{0.045\textwidth}p{0.045\textwidth}p{0.045\textwidth} p{0.045\textwidth} p{0.045\textwidth} p{0.045\textwidth}}
\caption{Insert caption here}
\hline \multicolumn{13}{c} %Removed code for 13 column multiple page table%
\end{longtable}
答案1
這使用與 Zarko 和 Skillmon 相同的方法,但使用長度暫存器以避免重複計算 13 次。
\documentclass{article}
\usepackage{longtable}
\usepackage{showframe}
\newlength{\mycolwidth}
\begin{document}
\scriptsize
\setlength{\mycolwidth}{\dimexpr \textwidth/13 - 2\tabcolsep}%
\begin{longtable}[c]{*{13}{p{\mycolwidth}}}
\caption{Insert caption here}
\endfirsthead
\hline
\multicolumn{13}{c}{Removed code for 13 column multiple page table}\\
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13
\end{longtable}
\end{document}
邊緣有一個自動間隙\tabcolsep
,可以這樣去除。
\documentclass{article}
\usepackage{longtable}
\usepackage{showframe}
\newlength{\mycolwidth}
\begin{document}
\scriptsize
\setlength{\mycolwidth}{\dimexpr \textwidth - 24\tabcolsep}%
\divide \mycolwidth by 13
\begin{longtable}[c]{@{}*{13}{p{\mycolwidth}}@{}}
\caption{Insert caption here}
\endfirsthead
\hline
\multicolumn{13}{c}{Removed code for 13 column multiple page table}\\
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13
\end{longtable}
\end{document}