![带有 topiclongtable 的列标识符 X](https://linux22.com/image/473203/%E5%B8%A6%E6%9C%89%20topiclongtable%20%E7%9A%84%E5%88%97%E6%A0%87%E8%AF%86%E7%AC%A6%20X.png)
我想在 LaTeX 文档中建立一个主题表,并且包topiclongtable
似乎很适合,只是它不接受来自tabularx
包。此列指示符创建一个类似于段落的列,其宽度会自动扩展,以便填充声明的环境宽度。
有没有一种解决方案可以在中使用 X 列指示器topiclongtable
?
下面是我所寻找的示例:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}
\usepackage{topiclongtable}
\begin{document}
\begin{topiclongtable}{\linewidth}{|Fl|Tl|Tl|TX|}
\Topic[Topic 1] & \Topic[Subtopic 1] & \Topic[Subsubtopic 1] & This is a long paragraph to be typeset in multiple lines, if possible. \\
\Topic & \Topic & \Topic[Subsubtopic 2] & Bar \\
\Topic & \Topic[Subtopic 1] & \Topic[Subsubtopic 2] & Baz \\
\Topic[Topic 2] & \Topic[Subtopic 1] & \Topic[Subsubtopic 3] & Qux \\
\Topic & \Topic[Subtopic 2] & \Topic[Subsubtopic 4] & Zod \\
\Topic & \Topic & \Topic & Bop \\
\end{topiclongtable}
\end{document}
它不起作用,因为longtable
的实现中使用的topiclongtable
不接受列标识符 X,并且无法指定表的宽度。
答案1
xltabular
您可以使用类似这样的包longtable
,tabularx
然后说服该包使用它,但老实说,这并不值得,使用标准列很简单tabular
p
。
首先猜测一下宽度
\begin{topiclongtable}{|Fl|Tl|Tl|Tp{200pt}|}
Latex 报告
Overfull \hbox (45.8892pt too wide) in alignment at lines 9--16
因此减去 46pt 并使用
\begin{topiclongtable}{|Fl|Tl|Tl|Tp{154pt}|}
这基本上就是tabularx
要做的事情,但是效率更高,因为它只做一次,而不是每次都让乳胶对表格进行多次设置来找到这个宽度。