我想要第一的排成一排tabularx
的标题。因此第一行的内容应该是居中,大胆的与连字。
\documentclass{scrartcl}
\usepackage{xltxtra}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\usepackage{tabularx}
\begin{document}
\begin{tabularx}{4cm}{|X|X|}
\hline
\centering\textbf{A}&
\textbf{B head centered with hyphenation please}\\
\hline
a&b\\
\hline
\end{tabularx}
\end{document}
当我使用centering
第二列标题时,我得到了错位对齐错误信息。
我知道使用\multicolumn{1}{c}
或 的解决方法\thead
。但它们都会停用连字符。
答案1
我建议您ragged2e
也加载该包并tabularx
通过指令定义一个新的列类型(加载后)
\newcolumntype{C}{>{\Centering\arraybackslash}X}
然后,使用指令
\begin{tabularx}{4cm}{|X|C|}
定义表的结构。
完整的 MWE:
\documentclass{scrartcl}
\usepackage{xltxtra}
\usepackage{polyglossia}
\setdefaultlanguage{english} % since the MWE is in English...
\usepackage{tabularx,ragged2e}
\newcolumntype{C}{>{\Centering\arraybackslash}X}
\begin{document}
\begin{tabularx}{4cm}{|X|C|}
\hline
\centering\textbf{A}&
\textbf{B head centered with hyphenation please}\\
\hline
a&b\\
\hline
\end{tabularx}
\end{document}
附录解决 OP 的后续评论和澄清:如果只有一个单元格而不是列中的其余条目应该居中,请使用\multicolumn
“包装器”覆盖相关单元格的列类型。在下面的代码中,列C
类型定义如上,即\newcolumntype{C}{>{\Centering\arraybackslash}X}
。
...
\begin{tabularx}{4cm}{|X|X|}
\hline
\centering\textbf{A}
\multicolumn{1}{C|}{\textbf{B head centered with hyphenation please}}\\
\hline
a&b\\
\hline
\end{tabularx}
...