合并表中的列时自动换行

合并表中的列时自动换行

我只是想让文本在两列中居中换行。文本很长,所以需要换行。但是结果截断了文本。

\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。在这种情况下,有时使用tabularxX列来均匀分布内容。的计算会\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}

结果

进一步阅读:

相关内容