表格中的 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!)。

相關內容