我想使用 longtable(因为表包含多个页面),但是我收到很多错误:
Underfull \hbox (badness 2005) in paragraph at lines 22--23
\TU/lmr/m/n/10 menampilkan nilai \TU/lmr/m/it/10 vari-
Overfull \hbox (56.43303pt too wide) in alignment at lines 8--27
[] [] [] [] []
我已经把表格缩小了,但没有任何效果。我也尝试添加,@{}
但没有成功。我试过这解决方案。黑色的溢出条消失了,但错误仍然存在。这是因为 latex 需要强制我的表格内容换行吗?出现所有这些警告可以吗?
这是我的 MWE
\documentclass{report}
\usepackage{longtable} % add table
\overfullrule=2cm % show overfull
\begin{document}
\begin{longtable}[c]{|p{1cm}|p{4cm}|p{4cm}|p{2cm}|p{1cm}|}
\hline
\textbf{No.\newline Jalur} & \textbf{Prosedur Uji} &
\textbf{\emph{Expected Result}}
& \textbf{\emph{Result}} & \textbf{Status} \\\hline
%
1 & Menjalankan \emph{ssh\_out\_stream} dengan \emph{exit\_status\_ready()} bernilai
\emph{true} & \emph{ssh\_out\_stream} akan berhenti berjalan & \emph{As expected} & Valid \\\hline
%
2 & Menjalankan \emph{ssh\_out\_stream} dengan \emph{variable} \emph{length} bernilai
lebih kecil dari 0 & \emph{ssh\_out\_stream} tidak akan menampilkan nilai \emph{variable} \emph{length}
& \emph{As expected} & Valid \\\hline
%
3 & Menjalankan \emph{ssh\_out\_stream} dengan \emph{variable} \emph{length} bernilai
lebih besar dari 0 & \emph{ssh\_out\_stream} akan menampilkan nilai \emph{variable} \emph{length}
& \emph{As expected} & Valid \\\hline
%
\caption{Pengujian \emph{unit} \emph{ssh\_out\_stream}}
\label{jalur:ssh_out_stream}
\end{longtable}
\end{document}
先感谢您
答案1
- 你的表格比文本区域宽得多,
- 您可以使用包来增加文本宽度
geometry
,或者定义更窄的第二列和第三列(后者不推荐) - 第一列和最后一列的宽度太小,最好使用自然列宽(参见下面的 mwe)
- 第二列的宽度太小,无法很好地将 oc 单元格列装入其单元格中
- 使用该
ragged2e
包,您可以更好地对齐单元格中的文本。 - 对于列标题,我建议使用包
\thead
中的宏makecell
- 单元格周围有更多垂直空间,您还可以通过宏
\makegappedcells
从包中获取内容\makecell
无关
表格标题,特殊部分
longtable
应位于表格顶部\documentclass{report} \usepackage{geometry} % new \usepackage{ragged2e} \usepackage{longtable, makecell} % new \newcolumntype{L}[1]{>{\RaggedRight}p{#1}} % new \renewcommand\theadfont{\small\bfseries} % new \setcellgapes{3pt} % new \overfullrule=2cm % show overfull %-------------------------------------- only for show page layout \usepackage{showframe} \renewcommand\ShowFrameLinethickness{0.25pt} \renewcommand*\ShowFrameColor{\color{red}} %---------------------------------------------------------------% \begin{document} {\makegapedcells % new \begin{longtable}{|c|L{5cm}|L{4cm}|>{\itshape}L{2cm}|c|} % changed \caption{Pengujian \emph{unit} \emph{ssh\_out\_stream}} \label{jalur:ssh_out_stream} \\ \hline \thead{No.\\ Jalur} & \thead{Prosedur\\ Uji} & \itshape\thead{Expected\\ Result} & \thead{Result} & \thead{Status} \\ \hline % 1 & Menjalankan \emph{ssh\_out\_stream} dengan \emph{exit\_status\_ready()} bernilai \emph{true} & \emph{ssh\_out\_stream} akan berhenti berjalan & As expected & Valid \\ \hline 2 & Menjalankan \emph{ssh\_out\_stream} dengan \emph{variable} \emph{length} bernilai lebih kecil dari 0 & \emph{ssh\_out\_stream} tidak akan menampilkan nilai \emph{variable} \emph{length} & As expected & Valid \\ \hline 3 & Menjalankan \emph{ssh\_out\_stream} dengan \emph{variable} \emph{length} bernilai lebih besar dari 0 & \emph{ssh\_out\_stream} akan menampilkan nilai \emph{variable} \emph{length} & As expected & Valid \\ \end{longtable} }
(红线表示文本边框)