Me gustaría un tabular
entorno con columnas totalmente justificadas. Mi mejor suposición sobre cómo hacer que esto suceda es usar un tabularx
entorno (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}
El primer tabularx
entorno es mi intento fallido. El segundo tabularx
entorno 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 tabularx
columnas? De manera más general, ¿cómo se puede obtener un tabular
entorno con columnas totalmente justificadas?
Respuesta1
tabularx
solo funciona cuando usas una X
columna. Probablemente lo que te interesa es configurar\extracolsep{\fill}
, como se sugiere enRelleno de columnas y filas en tablas:
\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
\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 elarray
paquete.