![如何让表格单元格中的单个单词跨越多行](https://linux22.com/image/463866/%E5%A6%82%E4%BD%95%E8%AE%A9%E8%A1%A8%E6%A0%BC%E5%8D%95%E5%85%83%E6%A0%BC%E4%B8%AD%E7%9A%84%E5%8D%95%E4%B8%AA%E5%8D%95%E8%AF%8D%E8%B7%A8%E8%B6%8A%E5%A4%9A%E8%A1%8C.png)
我知道如何让单词组成的句子换行,即使用|p{cell width}|
,但如果我想让单词本身分成多行怎么办?我希望您的回复特别适用于 longtable。例如:
\begin{longtable}{|p{0.6cm}|}
Mixture \\\hline
\end{longtable}
应该提供一个我不想要的行为的例子。mixture 不会换行,而是单元格边框穿过单词。有没有办法让单词在第一行拆分为 mixt,在下一行拆分为 ure,在第一行后面加一个 - 来表示它继续到下一行?
答案1
你可以使用这个:
\documentclass[english]{article}
% \usepackage{babel}
\usepackage{longtable}
\begin{document}
% \showhyphens{Mixture}
\begin{longtable}{|p{0.6cm}|}
\hline % (added for nicer looks)
% core TeX syntax:
% \nobreak\hskip0pt\relax
% or with overhead:
\hspace*{0pt}%
Mixture \\\hline
\end{longtable}
\end{document}
请注意,使用 LuaLaTeX 引擎时,段落中第一个单词的连字符不会受到抑制,因此您不需要这个\hspace*
技巧。
使用array
包语法,你可以自动执行此操作
\documentclass[english]{article}
% \usepackage{babel}
\usepackage{array}
\usepackage{longtable}
\begin{document}
% \showhyphens{Mixture}
\begin{longtable}{|>{\hspace*{0pt}}p{0.6cm}|}
\hline
Mixture \\\hline
\end{longtable}
\end{document}