使用多列和多行在 xtabular 中居中列

使用多列和多行在 xtabular 中居中列

我一直在尝试创建一个可以放在两页之间的表格。我看过这个longtable包,但效果不太好twocolumn。所以我决定看看这个xtabs包,它似乎适合我。

我有一张有 4 列的表格(我正在制作其中一列来列出一些常数)。第一列包含符号,第二列包含名称,第三列包含值,最后一列包含度量单位。我的问题在于第二列和第四列。

我想要的是垂直和水平居中的列样式。我使用的是这种样式:c >{\centering}p{1.8cm} c p{1.5cm}。我并没有真正实现我想要的任何样式。 结果 如您所见,除非我使用调用,否则第一列不会垂直居中\multirow,最后一列也不会居中。如果我尝试复制第二列的样式,我会得到 错误 有几个错误都说Extra alignment tab has been changed to \cr. &

这是“工作”的 MWE

\documentclass[8pt, a4paper, twocolumn]{extarticle}

\usepackage{extsizes}
\usepackage[italian]{babel}
\usepackage{amsmath,amsfonts,amssymb,mathtools,calrsfs}
\usepackage[latin1]{inputenc}
\usepackage{multirow}
\usepackage{multicol}
\usepackage{xtab, booktabs, array}

\everymath{\displaystyle}

\renewcommand*{\arraystretch}{2}

\begin{document}
\section{Costanti}

\tablefirsthead{\toprule Simbolo& Nome & Valore & Unità di misura \\ \midrule}
\tablehead{Simbolo& Nome & Valore & Unità di misura \\ \midrule}
\tablelasttail{\bottomrule}

\begin{center}
    \begin{xtabular}{c >{\centering}p{1.8cm} c p{1.5cm}}
            $g$ & Accelerazione gravitazionale & $9.81$ & $\frac{\text{m}}{\text{s}^2}$\\ \hline
            $G$ & Costante di Gravitazione Universale & $6.67\cdot10^{-11}$ & $\frac{\text{Nm}^2}{\text{kg}^2}$\\\hline
            \multirow{5}[1]{*}{$p_{atm}$} & \multirow{5}[1]{1.8cm}{Pressione atmosferica} & $1$ & $\text{atm}$\\
                        && $1.01\cdot10^{5}$ & $\text{Pa}$\\ 
                && $760$ & $\text{mm}\,\text{Hg}$\\
                && $1.01\cdot10^{5}$ & $\frac{\text{N}}{\text{m}^2}$\\
            $N_A$ & Numero di Avogadro & $6.02\cdot10^{23}$ & /\\ \hline
            $V_m$ & Volume occupato da Gas in STP & $22.4$ & $\text{l}$\\ \hline
            \multirow{2}[1]{*}{$R$} & \multirow{2}[1]{1.8cm}{Costante universale dei Gas} & $0.0821$ & $\frac{\text{l}\cdot\text{atm}}{\text{nK}}$\\
            && $8.31$ & $\frac{\text{J}}{\text{nK}}$\\ \hline
                && $1$ & $\text{bar}$\\ \hline
            \multirow{2}[1]{*}{$c_{H_2O}$} & \multirow{2}[1]{1.8cm}{Calore specifico dell'acqua} & $4.186\cdot10^3$ & $\frac{\text{C}}{\text{kg}\cdot\text{K}}$\\
                && $1$ & $\frac{\text{cal}}{\text{g}\cdot\text{K}}$\\\hline
            $\lambda_f$ & Calore di fusione dell'acqua & $3.335\cdot10^5$ & $\frac{\text{J}}{\text{Kg}}$\\\hline
            $\lambda_v$ & Calore di vaporizzazione dell'acqua & $2.257\cdot10^6$ & $\frac{\text{J}}{\text{Kg}}$\\\hline
    \end{xtabular}
\end{center}
\end{document}

另一个只是将表的定义更改为\begin{xtabular}{c >{\centering}p{1.8cm} c >{\centering}p{1.5cm}}

我现在的问题是:如何在维护和转到另一页的表格的同时获得我想要的结果twocolumn?我希望将列在可以跨越多页/列的表格内垂直和水平居中。

谢谢您的任何回答。

答案1

感谢 David Carlisle 的评论,我让它工作起来了。

基本上只需要将表的定义更改为\begin{xtabular}{c >{\centering\arraybackslash}m{1.8cm} c >{\centering\arraybackslash}m{1.5cm}}。这样就可以像我想要的那样将所有内容居中。

我还在环境\centering中 添加了一个multirow,使一切变得美好。这是结果 沃金

相关内容