在长表单元格中拆分长单词(不是长文本!)

在长表单元格中拆分长单词(不是长文本!)

如何在 Latex 中拆分非常长的单词?例如:

\begin{center}
\begin{longtable}{|p{8cm}|p{3cm}|p{3cm}|p{3cm}|}
\hline
1 & 2 & 3 \\ \hline
11111111111111111111111111111111111111111111111111111111111 & 2  & 3 \\ \hline
\end{longtable}
\end{center}

1 ...

更新:事实证明 seqsplit 对我来说不起作用,因为它会删除单词之间的现有空格。我忘了提到文本可能包含空格,我没有注意到它会消除空格 :(

答案1

(更新了答案以提及seqsplit方法)

我有两点建议:

  • 加载xurl包并将非常长的“单词”包含在\url指令中,然后

  • 加载seqsplit包并将非常长的“单词”装入\seqsplit指令中。

在此处输入图片描述

看起来该\seqsplit方法能够比该方法更紧密地打包其内容\url

在下面的代码中,我用 替换了longtabletabular因为该示例实际上并不是针对该longtable包及其机制的。

\documentclass{article}
\usepackage{xurl,seqsplit,array}
\setlength{\extrarowheight}{3pt} % optional
\begin{document}
\begin{tabular}{|p{8cm}|c|c|}
\hline
A & B & C \\ 
\hline
\urlstyle{same}% default is '\urlstyle{tt}'
\url{11111111111111111111111111111111111111111111111111111111111} & 2  & 3 \\ 
\seqsplit{11111111111111111111111111111111111111111111111111111111111}
& 2  & 3 \\ 
\hline
\end{tabular}
\end{document}

答案2

人们可以进行手动破坏。

\documentclass{article}
\usepackage{longtable}
\begin{document}
\begin{longtable}{|p{8cm}|p{3cm}|p{3cm}|p{3cm}|}
\hline
1 & 2 & 3 \\ \hline
111111111111111111111111111111111111111111111\-11111111111111 & 2  & 3 \\ \hline
\end{longtable}
\end{document}

在此处输入图片描述

相关内容