我只是想让文本在两列中居中换行。文本很长,所以需要换行。但是结果截断了文本。
\documentclass{article}
\usepackage{multirow}
\begin{document}
\begin{tabular} { |p{0.50\textwidth} |p{0.50\textwidth} |}
\hline
\multicolumn{2} {|c|}
{Number and Percent of Selected Cardiovascular Events by Treatment Group
and Hazard Ratio From Cox Regression Analysis}\\
\hline
Data Information 1 & Data Information 2\\
\hline
\end{tabular}
\end{document}
答案1
你似乎想要一个两列的表格tabular
,每列占 50% \textwidth
。在这种情况下,有时使用tabularx
的X
列来均匀分布内容。的计算会\multicolumn
删除列填充和规则宽度,以确保在删除这些长度后,p
字串内容能够容纳在的剩余部分中:\textwidth
\documentclass{article}
\usepackage{tabularx}
\begin{document}
\noindent
\begin{tabularx}{\textwidth}{ | X | X | }
\hline
\multicolumn{2} { | p{\dimexpr \textwidth-2\tabcolsep-2\arrayrulewidth} | }{%
Number and Percent of Selected Cardiovascular Events by Treatment Group
and Hazard Ratio From Cox Regression Analysis} \\
\hline
Data Information 1 & Data Information 2 \\
\hline
\end{tabularx}
\end{document}
答案2
列宽的计算稍微复杂一些:
\tabcolsep
默认情况下,在列的左侧和右侧添加空格。规则有宽度。如果加载了
\arrayrulewidth
包,宽度将计入表格宽度。array
\multicolumn
还可以计算列宽并p
使用列类型。
array
完整示例显示包加载时的计算。
\documentclass{article}
\usepackage{array}
\begin{document}
\noindent
\begin{tabular} {
|p{.5\dimexpr\linewidth-4\tabcolsep-3\arrayrulewidth\relax}
|p{.5\dimexpr\linewidth-4\tabcolsep-3\arrayrulewidth\relax} |}
\hline
\multicolumn{2} {|>{\centering}p{\dimexpr\linewidth-2\tabcolsep-2\arrayrulewidth\relax}|}
{Number and Percent of Selected Cardiovascular Events by Treatment Group
and Hazard Ratio From Cox Regression Analysis}\\
\hline
Data Information 1 & Data Information 2\\
\hline
\end{tabular}
\end{document}
进一步阅读:
包裹
tabularx
对于列类型X
,请参阅 Werner 的回答。包裹
booktabs
以获得线条更少、更美观的表格。