表格中的 m{} 列未将文本置于第三列(最后一列)的中心

表格中的 m{} 列未将文本置于第三列(最后一列)的中心

这是一件非常简单的事情,应该可以正常工作,但我不明白为什么它不工作。我有一个简单的表格,有三列和两行。我希望第一行的每个单元格中的文本垂直居中。它确实居中了在此处输入图片描述在第一列和第二列中垂直显示,但在第三列中,文本仍位于顶部。我的来源如下:

\documentclass[12pt]{article}
\usepackage[margin=2cm]{geometry}
\usepackage{array}
\title{}
\author{}
\pagestyle{empty}
\date{}

\begin{document}
\setlength\extrarowheight{2pt}
\begin{tabular}{|m{1cm}|m{4in}|m{3cm}|}
\hline
\textbf{No.} & \textbf{Particulars} & \textbf{Amount}\\[8pt]
\hline
1. & Blah blah blah &  2,000.00\\[8pt]
\hline
\end{tabular}
\end{document}

我几乎很遗憾在这里问这个问题,因为这是一件非常简单的事情。但是,它给我的结果并不令人满意,而且我似乎无法弄清楚出了什么问题。

答案1

我建议使用 ,而不是手动为行添加垂直空间cellspace。您可以根据需要调整间距,同时内容将垂直居中。

就我个人而言,我更喜欢外观更开放的表格(没有垂直线,水平线更少),所以我booktabs也添加了一个示例。最后,您还可以使用该siunitx包来帮助对齐表格单元格中的数字。如果您的第二列包含相当多的文本,我会选择tabularx使表格与文本宽度一样宽,同时允许第二列自动换行。我也为此提供了一个示例。

最后,如果你厌倦了手动编号行,你可以看看自动表格行号

在此处输入图片描述

\documentclass[12pt]{article}
\usepackage[margin=2cm]{geometry}
\usepackage{array}


\usepackage[column=0]{cellspace}
\setlength\cellspacetoplimit{6pt}
\setlength\cellspacebottomlimit{\cellspacetoplimit}

\usepackage{booktabs}

\usepackage{siunitx}
\sisetup{input-ignore={,},input-decimal-markers={.}}
\usepackage{tabularx}

\begin{document}

With cellspace:

\begin{tabular}{|0{m{1cm}}|0{m{4in}}|0{m{3cm}}|}
\hline
\textbf{No.} & \textbf{Particulars} & \textbf{Amount}\\
\hline
1. & Blah blah blah &  2,000.00\\
\hline
2. & Blah blah blah &  2,000.00\\
\hline
\end{tabular}

\bigskip

With booktabs:

\begin{tabular}{m{1cm}m{4in}m{3cm}}
\toprule
\textbf{No.} & \textbf{Particulars} & \textbf{Amount}\\
\midrule
1. & Blah blah blah &  2,000.00\\
2. & Blah blah blah &  2,000.00\\
\bottomrule
\end{tabular}

\bigskip

With booktabs, siunitx and tabularx:

\begin{tabularx}{\textwidth}{lXS[table-format=4.2]}
\toprule
{No.} & {Particulars} & {Amount}\\
\midrule
1. & Blah blah blah &  2,000.00\\
2. & Blah blah blah &  2,000.00\\
\bottomrule
\end{tabularx}

\end{document}

答案2

更改为在每一行\arraystretch添加一些 \extrarowheight加号:[8pt]

姆韦

\documentclass[12pt]{article}
\usepackage[margin=2cm]{geometry}
\usepackage{array}
\begin{document}
\renewcommand\arraystretch{1.6}
\begin{tabular}{|m{1cm}|m{4in}|m{3cm}|}\hline
\textbf{No.} & \textbf{Particulars} & \textbf{Amount}\\\hline
1. & Blah blah blah &  2,000.00\\\hline
\end{tabular}
\end{document}

(......当然,不要使用监禁表,而是使用booktabs!)。

相关内容