Longtable 溢出文档-如何定义列的宽度?

Longtable 溢出文档-如何定义列的宽度?

我发现这个问题帮助我定义了必须创建的 Liker 问卷的布局。问题是,对于非常长的问题,同样的代码不起作用。以下是发生的情况的示例:

破碎李克特

该代码与之前链接的问题的第一个回复中显示的代码基本相同。事实上,该代码迭代地将 Q1-10 作为问题,而我显然需要写下每个问题。所以这是我使用的代码:

\documentclass{article}
\usepackage{amssymb}
\usepackage{array,longtable}
\begin{document}
\begin{longtable}{l*{5}{c}}
\multicolumn{1}{c}{Question} & Bad & Not Bad & Neutral & OK & Good \\
This is a very very very very very very very very very long question & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q2 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q3 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q4 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q5 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q6 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q7 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q8 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q9 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q10 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
\end{longtable}
\end{document}

这是我可以创建的最小(非)工作示例,基本上编译成我上传的结果图像。

我如何调整“问题”块的宽度,以免答复的方块溢出文档?

谢谢!

答案1

这是一个使用软件包的可能解决方案,它结合了(表格内的分页符)和(表格单元格中的自动换行符)xltabular的功能:longtabletabularx

\documentclass{article}
\usepackage{amssymb}
\usepackage{array,longtable}
\usepackage{xltabular}
\begin{document}
\begin{xltabular}{\textwidth}{X*{5}{c}}
\multicolumn{1}{c}{Question} & Bad & Not Bad & Neutral & OK & Good \\
This is a very very very very very very very very very long question & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q2 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q3 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q4 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q5 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q6 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q7 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q8 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q9 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q10 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
\end{xltabular}
\end{document}

在此处输入图片描述


关于评论中的请求:您可以使用p类型列并指定宽度和对齐方式。这将导致自动换行。如果您更喜欢在列标题中手动换行,您可能还想使用\makecell

\documentclass{article}
\usepackage{amssymb}
\usepackage{array,longtable}
\usepackage{xltabular}
\usepackage{makecell}
\usepackage{ragged2e}
\begin{document}
\begin{xltabular}{\textwidth}{X>{\Centering}p{2cm}cccc}
\multicolumn{1}{c}{Question} & a very long column title & Not Bad & Neutral & OK & \makecell[cc]{a second \\ very very long \\ column title} \\
This is a very very very very very very very very very long question & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q2 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q3 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q4 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q5 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q6 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q7 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q8 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q9 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
Q10 & $\square$ & $\square$ & $\square$ & $\square$ & $\square$ \\
\end{xltabular}
\end{document}

相关内容