這是一件非常簡單的事情,應該可以工作,但我不明白為什麼不行。我有一個包含三列和兩行的簡單表格。我希望第一行每個單元格中的文字垂直居中。它確實居中在第一列和第二列中垂直,但在第三列中,文字保留在頂部。我的來源如下:
\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
!)。