如何在表格单元格中居中和换行

如何在表格单元格中居中和换行

我想在 Latex 中获得以下内容(没有表格边框):

在此处输入图片描述

这是我的(错误)代码:

\begin{enumerate}
  \item \begin{tabular}{c c p{10 cm}}
    $\langle 0 \lvert \phi(x)\phi(y)\lvert 0 \rangle$ & = & the amplitude\newline for a particle to propagate from $y$ to $x$\newline (in the Heisenberg picture).
  \end{tabular}

这将产生以下内容(忽略“4”):

在此处输入图片描述

您能建议正确的代码吗?

答案1

我不确定这是否是最好的解决方案,但adjustbox可以帮助对齐不同类型的盒子。

\documentclass{article}

\usepackage{amsmath,array, adjustbox, lipsum}

\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}

\begin{document}

\lipsum[1]
\begin{enumerate}
    \item \adjustbox{frame, valign=t, center}{\begin{tabular}{c c C{6cm}}
              $\langle 0 \lvert \phi(x)\phi(y)\lvert 0 \rangle$ & = & the amplitude\newline for a particle to propagate from $y$ to $x$\newline(in the Heisenberg picture).
        \end{tabular}}
        \item Some other text
\end{enumerate}
\end{document}

在此处输入图片描述

更新:frame内边距和tabular内部adjustbox

从 OP 的评论来看,似乎之前的 内部需要更大的内边距frame

adjustbox提供选项margin(始终将其放在 之前frame),用于固定内框边距。此选项接受一个、两个或四个值,用于设置所有边距、水平和垂直边距或左、下、右和上边距。如果顶行和第一个内文本行之间只有一些边距,则选项可以是margin=0 0 0 2ex。在下一个代码中,只使用两个值。

除此之外,adjustbox还为特定环境提供了特殊语法,例如tabular。因此,像这样的选项tabular=ccc意味着第二个参数将具有三个表格结构。它节省了一些输入。此选项可以与\adjustbox命令或环境一起使用。在第一种情况下,必须在最后一个表格行后添加adjustbox一个附加内容。\\

下面的代码显示了所有三种可能的声明:

\documentclass{article}

\usepackage{amsmath,array, adjustbox, lipsum}

\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}

\begin{document}

\lipsum[1]

\begin{enumerate}
    \item \adjustbox{margin=0ex 2ex, frame, valign=t, center}
          {\begin{tabular}{c c C{6cm}}
              $\langle 0 \lvert \phi(x)\phi(y)\lvert 0 \rangle$ 
              & = & 
              the amplitude\newline for a particle to propagate 
                 from $y$ to $x$\newline(in the Heisenberg picture).
           \end{tabular}}
    \item \adjustbox{margin=0ex 2ex, frame, valign=t, center, 
          tabular={c c C{6cm}}}{
              $\langle 0 \lvert \phi(x)\phi(y)\lvert 0 \rangle$ 
              & = & 
              the amplitude\newline for a particle to propagate 
                 from $y$ to $x$\newline(in the Heisenberg picture).\\}
    \item \begin{adjustbox}{margin=0ex 2ex, frame, valign=t, center,  
                  tabular={c c C{6cm}}}
              $\langle 0 \lvert \phi(x)\phi(y)\lvert 0 \rangle$ 
              & = & 
              the amplitude\newline for a particle to propagate 
                 from $y$ to $x$\newline(in the Heisenberg picture).
          \end{adjustbox}
\end{enumerate}
\end{document}

在此处输入图片描述

答案2

如果你添加

编辑:\usepackage{array}

\newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}} %% horizontal centering
\newcolumntype{M}[1]{>{\centering\arraybackslash}m{#1}} %% vertical centering

在你的序言中。

那么您可以选择P{10cm}或者M{10cm}代替p{10cm}

相关内容