Cómo justificar completamente columnas tabulares

Cómo justificar completamente columnas tabulares

Me gustaría un tabularentorno con columnas totalmente justificadas. Mi mejor suposición sobre cómo hacer que esto suceda es usar un tabularxentorno (para que la tabla sepa qué tan ancho debe ser) y luego colocarlo \hilll(para una repetición apropiada de la letra l) entre todas las columnas adyacentes. Sin embargo, eso no funcionó. Vea el MWE a continuación.

\documentclass{article}
\usepackage{tabularx}
\begin{document}
Text before. Text before. Text before. Text before. Text before. Text before. Text before.

\begin{tabularx}{\textwidth}{l@{\hfill}c@{\hfill}r}
 On the LEFT & In the middle & On the RIGHT
\end{tabularx}

Text between. Text between. Text between. Text between. Text between. Text between. Text between.

\def\magicNumber{50pt}
\begin{tabularx}{\textwidth}{lcr}
 On the LEFT & \hspace*{\magicNumber} In the middle \hspace*{\magicNumber} & On the RIGHT
\end{tabularx}

Text after. Text after. Text after. Text after. Text after. Text after. Text after. Text after.
\end{document}

ingrese la descripción de la imagen aquí

El primer tabularxentorno es mi intento fallido. El segundo tabularxentorno está escrito (aproximadamente) correctamente, pero es un truco que utiliza números mágicos.

Pregunta:

¿Cómo se pueden utilizar correctamente pegamentos infinitos (como \hfill) para especificar el espacio entre tabularxcolumnas? De manera más general, ¿cómo se puede obtener un tabularentorno con columnas totalmente justificadas?

Respuesta1

tabularxsolo funciona cuando usas una Xcolumna. Probablemente lo que te interesa es configurar\extracolsep{\fill} , como se sugiere enRelleno de columnas y filas en tablas:

ingrese la descripción de la imagen aquí

\documentclass{article}
\begin{document}
Text before. Text before. Text before. Text before. Text before. Text before. Text before.

\noindent
\begin{tabular*}{\linewidth}{@{}@{\extracolsep{\fill}}lcr@{}}
  On the LEFT & In the MIDDLE & On the RIGHT
\end{tabular*}

Text after. Text after. Text after. Text after. Text after. Text after. Text after. Text after.

\noindent
\begin{tabular*}{\linewidth}{@{}@{\extracolsep{\fill}}lcr@{}}
  On the LEFT & In the very MIDDLE & On the RIGHT
\end{tabular*}

\end{document}

Tenga en cuenta que lo anterior no representa columnas "totalmente justificadas". Para eso podrías usar

ingrese la descripción de la imagen aquí

\documentclass{article}
\usepackage{tabularx}
\begin{document}
Text before. Text before. Text before. Text before. Text before. Text before. Text before.

\noindent
\begin{tabularx}{\linewidth}{@{}XXX@{}}
  On the LEFT & In the MIDDLE & On the RIGHT
\end{tabularx}

Text after. Text after. Text after. Text after. Text after. Text after. Text after. Text after.

\end{document}

Si es necesario, puede modificar la justificación de las columnas utilizando elarraypaquete.

información relacionada