longtable 作为 tabularx

longtable 作为 tabularx

我想使用 longtable 作为 tabularx,即设置表格的宽度并使用 X 单元格类型。

\begin{tabularx}{\textwidth}{|>{\footnotesize}L{5.7cm}|>{\footnotesize}L{6cm}|>{\footnotesize}C{1.7cm}|>{\footnotesize}X|}

我想要一些类似的东西,但是使用 longtable,因为表格可以延伸多页。

我找到了 tabu 包,但它似乎已被弃用并且人们建议不要使用它。

任何帮助

答案1

根据@DavidCarlisle 的建议,以下是我的解决方案:

\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}

\newcount\totalcol
\totalcol=3
\newdimen\cola
\cola=10cm
\newdimen\colb
\colb=2cm
\newdimen\colc
\colc=\dimexpr\textwidth-\tabcolsep*\totalcol*2-\arrayrulewidth*(1+\totalcol)-\cola-\colb\relax

\begin{longtable}{|L{\cola}|C{\colb}|L{\colc}|}
\hline
\multicolumn{3}{|c|}{\large\textbf{My Title}}\\
\hline
\centering\small{A} & \centering\small{B} & \centering\arraybackslash\small{C}\\
\hline
\endhead
\vspace{10pt}\\
\hline
\endfoot
%\input{data/books}

\end{longtable}

可能应该有一种自动化的方法来实现这一点,但对我来说,它是有效的。

相关内容