Das ist so einfach und sollte eigentlich funktionieren, aber ich verstehe nicht, warum es nicht funktioniert. Ich habe eine einfache Tabelle mit drei Spalten und zwei Zeilen. Ich wollte, dass der Text in jeder Zelle in der ersten Zeile vertikal zentriert ist. Das funktioniert.vertikal in der ersten und zweiten Spalte, aber in der dritten Spalte bleibt der Text oben. Meine Quelle lautet wie folgt:
\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}
Es tut mir fast leid, das hier fragen zu müssen, da es so eine einfache Sache ist. Aber das Ergebnis ist alles andere als zufriedenstellend und ich kann nicht erkennen, was schief läuft.
Antwort1
Anstatt den Zeilen manuell vertikalen Abstand hinzuzufügen, empfehle ich die Verwendung von cellspace
. Sie können den Abstand nach Bedarf anpassen, während der Inhalt vertikal zentriert wird.
Persönlich bevorzuge ich Tabellen mit einem offeneren Aussehen (keine vertikalen Linien und weniger horizontale Linien), daher habe ich booktabs
auch ein Beispiel mit hinzugefügt. Schließlich können Sie das siunitx
Paket auch verwenden, um die Ausrichtung der Zahlen in Tabellenzellen zu erleichtern. Wenn Ihre zweite Spalte ziemlich viel Text enthält, würde ich mich dafür entscheiden, tabularx
die Tabelle so breit wie die Textbreite zu machen und gleichzeitig automatische Zeilenumbrüche in der zweiten Spalte zuzulassen. Ich habe auch dazu ein Beispiel beigefügt.
Und wenn Sie es satt haben, Zeilen manuell zu nummerieren, können Sie einen Blick aufAutomatische Tabellenzeilennummerierung
\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}
Antwort2
Ändern Sie das, \arraystretch
anstatt jeder Zeile ein \extrarowheight
Pluszeichen hinzuzufügen:[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}
(... und verwenden Sie natürlich anstelle von Jailed-Tabellen booktabs
!).