这是一件非常简单的事情,应该可以正常工作,但我不明白为什么它不工作。我有一个简单的表格,有三列和两行。我希望第一行的每个单元格中的文本垂直居中。它确实居中了在第一列和第二列中垂直显示,但在第三列中,文本仍位于顶部。我的来源如下:
\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
!)。