表格列内的换行符

表格列内的换行符

我查阅了许多关于此问题的先前帖子......但无济于事......我需要一个解决方案来在表格列中换行,而又不在第二行的表格边缘出现换行......我的表格只有两行....有办法做到这一点吗?

例如

\begin{table}[H]

\begin{center}

\begin{tabular}{| c | p{3cm} |}

\hline

\textbf{Equation} & \textbf{Description} \\

\hline

eq1\\ eq2 & "some text" \\\hline

\hline

现在,由于 和之间\\,表格边框在“一些文本”之后出现中断。我需要一种解决方法来避免表格在第二行末尾中断。该方法确实会在同一列内移至新行,这正是我想要的,但不会产生第二行右边框在同一点中断的副作用。换句话说,分成两行应该限制在同一列内,而不会影响行。eq1eq2eq1\\\ eq2eq2

感谢您的想法。

答案1

您可以tabular在内部使用tabular

\documentclass{article}
\newcommand{\mysplit}[1]{%
  \begin{tabular}[t]{@{}c@{}}   %% remove [t] if you need vertical centered things.
    #1
  \end{tabular}
  }
\begin{document}
  \begin{table}[htb]
  \centering
  \begin{tabular}{| c | p{3cm} |}
  \hline
  \textbf{Equation} & \textbf{Description} \\
  \hline
  \mysplit{eq1\\ eq2} & ``some text'' \\\hline
\hline
\end{tabular}
\end{table}
\end{document}

请注意我已经改变了

“一些文本” 到 ``一些文本''

[H] 至 [htb]

因为它们是推荐的方法。

在此处输入图片描述

此外,最好去掉垂直线并使用booktabs绘图规则。

\documentclass{article}
\usepackage{booktabs}
\newcommand{\mysplit}[1]{%
  \begin{tabular}{@{}c@{}}   %% removed [t]
    #1
  \end{tabular}
  }
\begin{document}
  \begin{table}[htb]
  \centering
  \begin{tabular}{ c  p{3cm} }
  \toprule
  \textbf{Equation} & \textbf{Description} \\
  \midrule
  \mysplit{eq1\\ eq2} & ``some text'' \\\bottomrule
\end{tabular}
\end{table}
\end{document}

在此处输入图片描述

有关一些教程的详细信息,请参阅booktabs手册,您可以通过texdoc booktabs从命令提示符或在 tex 编辑器的 texdoc 帮助菜单中运行来获取该手册。

答案2

您可以使用包最轻松地完成此操作makecell,该包允许在单元格中使用换行符和常见格式,使用\thead\makecell命令:

\documentclass{article}
\usepackage{makecell, booktabs, mathtools}
\setcellgapes{4pt}
\makegapedcells
\begin{document}

\begin{table}
\centering
\begin{tabular}{c p{3cm}}
\toprule
\textbf{Equation} & \textbf{Description} \\
\midrule
\makecell{ eq1\\ eq2 } & "some text" \\
\bottomrule
\end{tabular}
\end{table}

\end{document} 

在此处输入图片描述

相关内容