如何让表格单元格中的单个单词跨越多行

如何让表格单元格中的单个单词跨越多行

我知道如何让单词组成的句子换行,即使用|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}

相关内容