我的表格编码存在问题,如下所示:
\documentclass[a4paper, 11pt, onecolumn, oneside]{article}
\usepackage{color, colortbl}
\usepackage[version=4]{mhchem}
\usepackage{longtable}
\newcommand{\C}{~$^\circ C$}
\linespread{1.5}
\begin{document}
\begin{footnotesize}
\begin{longtable}[c]{>{\centering}m{0.33\textwidth-2\tabcolsep} |>{\centering}m{0.33\textwidth-2\tabcolsep} |>{\centering\arraybackslash}m{0.33\textwidth-2\tabcolsep}}
\endhead
\endfoot
\multicolumn{3}{l}{\tiny * -- some note}\\
\endlastfoot
\caption{Some title}\\
\ce{MH2} & \ce{Mg2NiH4} \cite{} & \ce{NaNH2} \\* \hline
\ce{Mg}: \newline
1:2 -- 420\C \cite{} \newline
1:2 -- 490\C \cite{} \newline
1:2 z 5\% \cite{}: \newline
\ce{TiF3} -- 470\C \newline
\ce{TiO2} -- 470\C \newline
\ce{Zr} -- 470\C \newline
\ce{Si} -- 470\C \newline
\ce{BCC} -- 470\C \newline
M = Ca \cite{}: \newline
1:6 -- 390\C &
5:4 -- 350\C &
1:1 -- 330 \C* \cite{} \newline
2:1 z Co-Ni-B \cite{}: \newline
1$\%_{wag}$ -- $\sim$300\C \newline
3$\%_{wag}$ -- $\sim$285\C \newline
5$\%_{wag}$ -- $\sim$285\C \newline
7$\%_{wag}$ -- $\sim$258\C \\ \hline
M(AlH4)x & \ce{Li3AlH6} \cite{} & \ce{MBH4} \\* \hline
\ce{Li} \cite{}: \newline
1:1 -- 446\C \newline
1:1 z 5\% \ce{TiF3} -- $\sim$300\C \newline
\ce{2NaAlH4}+\ce{Ca(BH4)2} \newline
z 5$\%_{wag}$ \ce{TiF3} -- 400\C \cite{} &
3:1 -- 400\C \newline
2:1 -- 400\C \newline
1:1 (1h) -- 400\C \newline
1:1 (24h) -- 392\C \newline
1:2 -- $\sim$430\C \newline
1:3 -- $\sim$430\C &
\ce{Li}; 38:62: \newline
350\C \cite{} \newline
$\sim$420\C \cite{} \newline
60$\%_{obj}$ -- $\sim$333\C \cite{} \newline
\ce{K} 32:68 -- $\sim$472\C \cite{} \newline
\ce{Mg} -- $\sim$205\C \cite{} \newline
\ce{Li, K, Mg i Ca} \newline
1:1:1:1 -- $\sim$330\C \cite{}\\ \hline
\end{longtable}
\end{footnotesize}
\end{document}
您可以清楚地看到,某些单元格内的行未居中(添加了垂直线以使其更容易看到)。我试图找到解决方案,但陷入困境……如果代码太详细,请原谅,但我希望尽可能具体。我想要完成的事情当然是将每个单元格中的所有行居中。
答案1
- 欢迎来到 TeX.SE!
- 第一列应该比其余两列略宽,以便内容能够正确居中
- 如果将表代码转换为
tabularray
表并使用siunitx
表中单位的包,则表的 MWE 将变为:
\documentclass[a4paper, 11pt, onecolumn, oneside]{article}
\usepackage{color, colortbl} % not needed in this MWE
\usepackage[version=4]{mhchem}
\usepackage{tabularray}
\UseTblrLibrary{siunitx}
\begin{document}
\begin{longtblr}[
caption = {Some title},
label = {tab:long?},
note{*} = {some note}
]{colspec = {X[1.1, c] X[0.9, c] X[c]},
rowhead = 1,
hlines, vlines
}
\ce{MH2} & \ce{Mg2NiH4} \cite{} & \ce{NaNH2} \\*
{\ce{Mg}: \\
1:2 -- \SI{420}{\celsius} \cite{} \\
1:2 -- \SI{490}{\celsius} \cite{} \\
1:2 z 5\% \cite{}: \\
\ce{TiF3} -- \SI{470}{\celsius} \\
\ce{TiO2} -- \SI{470}{\celsius} \\
\ce{Zr} -- \SI{470}{\celsius} \\
\ce{Si} -- \SI{470}{\celsius} \\
\ce{BCC} -- \SI{470}{\celsius} \\
M = Ca \cite{}: \\
1:6 -- \SI{390}{\celsius}
}
& 5:4 -- \SI{350}{\celsius}
& {1:1 -- \SI{330}{\celsius}\TblrNote{*} \cite{} \\
2:1 z Co-Ni-B \cite{}: \\
$\SI{1}{\%}_{wag}$ -- \SI{\sim 300}{\celsius} \\
$\SI{3}{\%}_{wag}$ -- \SI{\sim 285}{\celsius} \\
$\SI{5}{\%}_{wag}$ -- \SI{\sim 285}{\celsius} \\
$\SI{7}{\%}_{wag}$ -- \SI{\sim 258}{\celsius}
} \\
M(AlH4)x
& \ce{Li3AlH6} \cite{}
& \ce{MBH4} \\*
{\ce{Li} \cite{}: \\
1:1 -- \SI{446}{\celsius} \\
1:1 z \SI{5}{\%} TiF\textsubscript{3} -- \SI{\sim 300}{\celsius} \\
\ce{2NaAlH4} + \ce{Ca(BH4)2} \\
z $\SI{5}{\%}_{wag}$ -- \SI{\sim 400}{\celsius} \cite{}
} & {3:1 -- \SI{400}{\celsius} \\
2:1 -- \SI{400}{\celsius} \\
1:1 (1h) -- \SI{400}{\celsius} \\
1:1 (24h) -- \SI{392}{\celsius} \\
1:2 -- \SI{\sim 430}{\celsius} \\
1:3 -- \SI{\sim 430}{\celsius}
} & {\ce{Li}; 38:62: \\
\SI{350}{\celsius} \cite{} \\
\SI{\sim 420}{\celsius} \cite{} \\
$\SI{60}{\%}_{obj}$ -- \SI{\sim 333}{\celsius} \cite{} \\
\ce{K} 32:68 -- \SI{\sim 472}{\celsius} \cite{} \\
\ce{Mg} -- \SI{\sim 205}{\celsius} \cite{} \\
\ce{Li, K, Mg i Ca} \\
1:1:1:1 -- \SI{\sim 330}{\celsius} \cite{}
} \\
\end{longtblr}
\end{document}
如果你喜欢单元格内容也垂直居中,那么你只需要将列规范更改为
colspec = {X[1.1, c, m] X[0.9, c, m] X[c, m]},
表格将具有以下形式: