大家好,我是 LaTeX 新手,我有一个很大的表格,里面的数据会超出页面范围。我设法修复了它并根据页面进行了调整,但我丢失了数据的居中选项,您能告诉我如何在保持我提供的列长规格的同时将数据居中吗?我已附上我正在使用的代码,以便您能更好地理解我。
\begin{tabular}{ | p{5cm} | p{2cm} | p{2cm} | p{2cm} |}
我尝试添加c
类似的代码| c p{5cm} |
,但它仍然无法将插入的数据置于表格的中心。谢谢
答案1
(1) 始终发布可以按原样复制和编译的最小示例。这是一个片段。MWEs 使帮助变得容易得多
\usepackage{array}
\begin{tabular}{ |
>{\centering\arraybackslash} p{5cm}
| >{\centering\arraybackslash}p{2cm}
| >{\centering\arraybackslash}p{2cm}
| >{\centering\arraybackslash}p{2cm} |}
array
使我们能够获得>{...}
构造,因此我们将其插入\centering
到每个单元格中。但这会造成混乱,\\
因此它不再意味着新行,\arraybackslash
恢复原始表定义
请考虑一下这些台词是否真的有必要(它们通常会使故事的可读性大大降低)
答案2
使用该包并定义一个使用该类型并将其居中的array
新列类型。C
p
可以直接在tabular
列定义中写入这个,但是这样\newcolumntype
更干净,特别是当有多个列需要更改时。
\documentclass{article}
\usepackage{array}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
\begin{document}
\begin{tabular}{|C{5cm}|*{3}{C{2cm}|}}
\hline
a & b & c & d \tabularnewline
\hline
\end{tabular}
\end{document}