Как полностью выровнять табличные столбцы

Как полностью выровнять табличные столбцы

Мне бы хотелось tabularокружение с полностью выровненными столбцами. Я думаю, что лучшее, что я могу сделать, это использовать tabularxокружение (чтобы табличное устройство знало, какой ширины оно должно быть), а затем поместить \hilll(для некоторого уместного повторения буквы l) между всеми соседними столбцами. Однако это не сработало. Смотрите MWE ниже.

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

введите описание изображения здесь

Первая tabularxсреда — моя неудачная попытка. Вторая tabularxсреда набрана (приблизительно) правильно, но является хаком с использованием магических чисел.

Вопрос:

Как можно правильно использовать бесконечные клеи (например \hfill) для указания расстояния между tabularxстолбцами? В более общем плане, как можно получить tabularсреду с полностью выровненными столбцами?

решение1

tabularxработает только при использовании -column X. Вероятно, вас интересует настройка \extracolsep{\fill}, как предлагается вОтступы столбцов и строк в таблицах:

введите описание изображения здесь

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

Обратите внимание, что вышеприведенное не представляет собой "полностью выровненные" столбцы. Для этого вы можете использовать

введите описание изображения здесь

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

При необходимости вы можете изменить выравнивание столбцов с помощьюarrayупаковка.

Связанный контент