La columna m{} en tabular no centra el texto en la tercera (última) columna

La columna m{} en tabular no centra el texto en la tercera (última) columna

Esto es algo muy simple y debería funcionar, pero no entiendo por qué no lo es. Tengo una tabla sencilla con tres columnas y dos filas. Quería que el texto de cada celda de la primera fila estuviera centrado verticalmente. se centraingrese la descripción de la imagen aquíverticalmente en la primera y segunda columna, pero en la tercera columna, el texto permanece en la parte superior. Mi fuente es la siguiente:

\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}

Casi me da pena tener que preguntar esto aquí, ya que es algo muy sencillo. Pero me da un resultado poco satisfactorio y parece que no puedo distinguir qué está mal.

Respuesta1

En lugar de agregar manualmente espacio vertical a las filas, sugeriría usar cellspace. Puede ajustar el espacio para adaptarlo a sus necesidades, mientras que el contenido quedará centrado verticalmente.

Personalmente, prefiero tablas con un aspecto más abierto (sin líneas verticales y menos líneas horizontales), así que booktabstambién agregué un ejemplo. Por último, también puede utilizar el siunitxpaquete para ayudar con la alineación de números en las celdas de la tabla. Si su segunda columna contiene bastante texto, optaría tabularxpor hacer que la tabla sea tan ancha como el ancho del texto y al mismo tiempo permitir saltos de línea automáticos en la segunda columna. También he incluido un ejemplo sobre esto.

Por último, y si estás cansado de numerar filas manualmente, puedes echar un vistazo aNúmeros de fila de tabla automáticos

ingrese la descripción de la imagen aquí

\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}

Respuesta2

Cambie el \arraystretchen lugar de agregar algo \extrarowheightmás [8pt]a cada fila:

mwe

\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}

(... y por supuesto, en lugar de tablas encarceladas, ¡usa booktabs!).

información relacionada