Alineación vertical en el centro y alineación horizontal a la izquierda en tabla

Alineación vertical en el centro y alineación horizontal a la izquierda en tabla

Encontré este pequeño fragmento de código aquí, que crea un nuevo tipo de columna. Sin embargo, cuando lo aplico a mi tabla, solo la columna izquierda está alineada verticalmente. La derecha no se ha visto afectada en absoluto.

\usepackage{array}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash} m{#1} }

A continuación, configuro mi tabla y uso este nuevo tipo de columna L. Sin embargo, como probablemente puedas ver, sólo la primera columna se ve afectada.

\begin{center}
    \noindent\begin{tabular}{ | L{\dimexpr 0.4\linewidth-2\tabcolsep} | L{\dimexpr 0.4\linewidth-2\tabcolsep} | }  
    \hline

    \multicolumn{1}{|c|}{\textbf{Header}} & \multicolumn{1}{c|}{\textbf{Header}} \\[2ex] \hline

    TEXT
    &
    MORE TEXT \\[3ex]
    \hline

    TEXT
    &
    MORE TEXT \\[3ex]
    \hline

    \end{tabular}
\end{center}\break

¿Cómo hago para que ambas columnas se vean afectadas?

Respuesta1

El espaciado explícito \\[3ex]afecta la alineación vertical. Úselo \renewcommand\arraystretchen su lugar.

\documentclass{article}
\usepackage{array}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash} m{#1} }
\begin{document}
\renewcommand\arraystretch{1.3}
\begin{tabular}{ | L{\dimexpr 0.4\linewidth-2\tabcolsep} | L{\dimexpr 0.4\linewidth-2\tabcolsep} | }  
\hline
    TEXT TEXT TEXT TEXT TEXT 
    TEXT TEXT TEXT TEXT TEXT 
    TEXT TEXT TEXT TEXT TEXT 
    TEXT TEXT TEXT TEXT TEXT 
    &
    MORE TEXT \\
\hline
    TEXT
    &
    MORE TEXT MORE TEXT MORE TEXT
    MORE TEXT MORE TEXT MORE TEXT
    MORE TEXT MORE TEXT MORE TEXT
    MORE TEXT MORE TEXT MORE TEXT \\
\hline
\end{tabular}
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Creo que hay un malentendido sobre lo quem{} significa el especificador de columna. Esnocentrar verticalmente el texto en la celda. Más bien es que la línea de base del texto está en el centro vertical del texto. Y luego se alinean todas las líneas base de las celdas de la misma fila. Parece que el \\[3ex]espacio vertical se agrega debajo del texto en la última columna. Entonces la línea de base está en el centro vertical de ese espacio que es toda la celda. Y eso mantiene el texto en la parte superior. E incluso cuando use a p{}para la primera columna, la primera celda seguirá centrada verticalmente, ya que su línea base (la parte inferior del texto en este caso) estará alineada con la línea base de la segunda celda.

Pruebe este experimento: agregue una L{1mm}columna a la derecha y manténgala vacía. Ahora las dos primeras columnas están centradas verticalmente, incluso cuando las cambia a p{}columnas.

\noindent\begin{tabular}{ | p{2cm} | p{3cm} | L{1pt}}  
\hline
\multicolumn{1}{|c|}{\textbf{Header}} & \multicolumn{1}{c|}{\textbf{Header}} \\[2ex] \hline
TEXT
&
MORE TEXT & \\[3ex]
\hline
TEXT 
&
MORE TEXT & \\[3ex]
\hline
\end{tabular}

información relacionada