答案1
我不知道你想如何将你的文本分成几行,这里有我想出的两个选项:
选项1
\hspace{0pt}
和tabularx
正如您所见,它对于单词的分词位置非常挑剔。如果表格太窄,文本就会溢出。
选项 2
\collectcell\seqsplit
...\endcollectcell
与tabularx
,seqsplit
和collcell
这样,文本可以在任何地方中断。但看起来它会删除单词之间的空格。如果您想要此选项并且需要单词之间的空格,您可以将空格放在花括号内{ }
,这样它们就不会被中断/删除。
代码
\documentclass[]{article}
\usepackage[margin=1cm]{geometry} % Changing page margin
\usepackage{array}
\usepackage{tabularx}
\usepackage{seqsplit}
\usepackage{collcell}
% >{\hsize=.5\hsize} Insert this into the column type definition to change column width (produces some glitches if used incorrectly)
%\newcolumntype{s}{>{\hspace{0pt}\raggedright\arraybackslash}X} % OPTION 1 "Human"-like breaking
\newcolumntype{s}{>{\collectcell\seqsplit}>{\raggedright\arraybackslash}X<{\endcollectcell}} % OPTION 2 Breaks everything
\renewcommand{\tabularxcolumn}[1]{m{#1}} % Vertical centering in cells
\renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Inserts hyphens at the breakpoints
\begin{document}
\begin{tabularx}{250pt}{|s|s|s|s|s|} % 6 columns, table width = 250pt
\hline
Numbers & Long Strings & Numbers & Long Strings & Numbers \\
\hline
1000000000{ }Big{ }Number & VeryVeryLongString with Number 524 & 1000000000 Big Number & VeryVeryLongString with Number 524 & 1000000000 Big Number \\
\hline
\end{tabularx}
\end{document}
奖金
如果希望将文本置于单元格内居中,只需将\raggedright
其更改\centering
为列类型声明内即可。如果您需要具有不同样式的列,只需复制现有的声明,更改所需的内容,为其指定不同的字母,然后在表中使用它即可。