我正在尝试使用 longtable 和tabularx
ltxtable 构建一个表。由于某种奇怪的原因,第一行出现了不需要的垂直线。这是我的main.tex
:
\documentclass[12pt,twoside]{report}
\usepackage{multirow}
\usepackage{tabularx}
\usepackage{longtable}
\usepackage{ltxtable}
\begin{document}
\LTXtable{\linewidth}{table.tex}
\end{document}
这是table.tex
:
\small
\begin{longtable}{| p{0.7cm} | X |}\label{tab:evaluation_survey}
\\ \hline
\multirow{2}{*}{e.1)} & \textbf{Question}:\\
\cline{2-2}
& \textbf{Answers}: \\ \hline
\hline
\multirow{2}{*}{e.2)} & \textbf{Question}: \\
\cline{2-2}
& \textbf{Answers}: \\ \hline
\hline
\multirow{2}{*}{e.3)} & \textbf{Question}: \\
\cline{2-2}
& \textbf{Answers}: \\ \hline
\hline
\multirow{2}{*}{e.4)} & \textbf{Question}:\\
\cline{2-2}
& \textbf{Answers}: \\ \hline
\end{longtable}
编辑:如果我删除\\
第一个之前的,\hline
我会\noalign
收到\omit
错误
答案1
问题源于\label{}
表格内部的使用。通常,\label{}
在浮动环境中,您会在标题后使用。我不了解 LTXtable,因此无法提供正确的位置,\label{}
但为了解决这个问题,这里有几种方法(例如将放置在\label{}
现有行之一的内部等)。其中一种方法是使用\noalign{}
:
将table.tex的内容改为:
\small
\begin{longtable}{| p{0.7cm} | X |}\noalign{\label{tab:evaluation_survey}}
\hline
\multirow{2}{*}{e.1)} & \textbf{Question}:\\
\cline{2-2}
& \textbf{Answers}: \\ \hline
\hline
\multirow{2}{*}{e.2)} & \textbf{Question}: \\
\cline{2-2}
& \textbf{Answers}: \\ \hline
\hline
\multirow{2}{*}{e.3)} & \textbf{Question}: \\
\cline{2-2}
& \textbf{Answers}: \\ \hline
\hline
\multirow{2}{*}{e.4)} & \textbf{Question}:\\
\cline{2-2}
& \textbf{Answers}: \\ \hline
\end{longtable}
答案2
我建议使用基于 的代码ltablex
,它将 的功能带入longtable
。tabularx
我还基于 重新设计了表格,hhline
因此makecell
单元格看起来不像默认的那样紧密。
\documentclass{article}
\usepackage{multirow, ltablex, hhline, makecell}
\keepXColumns
\setcellgapes{1ex}
\begin{document}
\small\setlength\doublerulesep{2ex}%
\makegapedcells
\begin{tabularx}{\linewidth}{@{}p{0.7cm} |X|}
\caption{A questions and answers table}\label{tab:evaluation_survey}\\[-1ex]
\endfirsthead
\hhline{~|-}
\multirow{2}{=}{e.1)} & \textbf{Question}:\\%
\hhline{~|-}
& \textbf{Answers}: \\
\hhline{~:=}
\multirow{2}{=}{e.2)} & \textbf{Question}: \\
\hhline{~|-}
& \textbf{Answers}: \\
\hhline{~:=}
\multirow{2}{=}{e.3)} & \textbf{Question}: \\
\hhline{~|-}
& \textbf{Answers}: \\
\hhline{~:=}
\multirow{2}{=}{e.4)} & \textbf{Question}:\\
\hhline{~|-}
& \textbf{Answers}: \\
\hhline{~|-}
\end{tabularx}
\end{document}