我想改变表格单元格中句子的行距。它不是换行,而是溢出,因为单元格中的句子很长。
下面是我的代码示例。行距比单元格空间大很多,看起来很糟糕。有没有办法让它变窄,只影响单元格?
提前致谢。
ps. 因为我使用了 \arraystretch,这使得单元格行变小,单元格中的行空间看起来比单元格空间更大。
\documentclass[10pt]{article}
\usepackage{booktabs,ctable,threeparttable}
\begin{document}
\renewcommand{\arraystretch}{0.75}
\begin{table}[t]
\caption{Test}
\begin{threeparttable}
\begin{tabularx}{\textwidth}{c l X}
\FL
No. & Code & Name \ML[0.08em]
01 & 01XXX & Agriculture, forestry and fishing \NN
02 & 05XXX & Manufacture of Electronic Components, Computer,
Radio, Television and Communication Equipment and Apparatuses
\NN
03 & 06XXX & Nursing \LL
\end{tabularx}
\label{tab:test}
\end{threeparttable}
\end{table}
\end{document}
补充。
我的桌子就是这样的。
答案1
\arraystretch
仅影响表格行之间的行距。在X
列中,您可以通过调整 来更改单元格内行之间的间距\baselineskip
。下面是使用两种略有不同的方式编码的同一示例,第一种使用\ctable
,另一种使用您的tabularx
设置。请注意\ctable
为标题提供了相对于表格的更好间距。
\documentclass[10pt]{article}
\usepackage{ctable}
\begin{document}
{\renewcommand{\arraystretch}{1.5}
\ctable[caption = Test,pos=htp,width=\textwidth]
{c l >{\setlength{\baselineskip}{1.5\baselineskip}}X}{}{
\FL
No. & Code & Name \ML[0.08em]
01 & 01XXX & Agriculture, forestry and fishing \NN
02 & 05XXX & Manufacture of Electronic Components, Computer,
Radio, Television and Communication Equipment and Apparatuses
\NN
03 & 06XXX & Nursing \LL
}}
\begin{table}[htp]
\renewcommand{\arraystretch}{1.5}
\caption{Test}
\begin{tabularx}{\textwidth}{c l >{\setlength{\baselineskip}{1.5\baselineskip}}X}
\FL
No. & Code & Name \ML[0.08em]
01 & 01XXX & Agriculture, forestry and fishing \NN
02 & 05XXX & Manufacture of Electronic Components, Computer,
Radio, Television and Communication Equipment and Apparatuses
\NN
03 & 06XXX & Nursing \LL
\end{tabularx}
\label{tab:test}
\end{table}
\end{document}
我通过增加间距来演示这一点,因为这更现实。挤压也可以,只需将1.5
和0.75
中的\arraystretch
都替换为>{...}X
,但看起来不太好。正如 Mico 所建议的,在这种情况下减小字体大小更好。在这两种情况下,请注意对 的更改\arraystretch
都在组/环境中,以防止这影响文档后面的其他地方。
答案2
要减少行距,请尝试:
\renewcommand{\arraystretch}{0.8}