Установить ширину столбца на уровне точки

Установить ширину столбца на уровне точки

У меня сейчас есть tabularxтаблица с четырьмя столбцами. Я инициализирую среду следующим образом:

\begin{tabularx}{\linewidth}{l p{0.4\linewidth} | l X l X}

Как мне изменить это так, чтобы второй столбец ( p{0.4\linewidth}) доходил до центра страницы, но не выходил за его пределы?

решение1

С двумя последовательными столами?

\documentclass{article}
    \usepackage{tikz}
%---------------------------------------------------------------%
    \usepackage{booktabs,tabularx,calc}

\usepackage[active,floats,tightpage]{preview}
\setlength\PreviewBorder{1em}

\begin{document}
\begin{table}
    \begin{tabularx}{0.5\linewidth}{lX@{}}  %%% first table
    \hline
        1. column    &   2. column \\
        1. column    &   2. column \\
    \hline
        \end{tabularx}%  
    \begin{tabularx}{0.5\linewidth}{|lXX}               %%% second table
    \hline
        3. column    &   4. column   &   5.column \\
        3. column    &   4. column   &   5.column \\
    \hline
        \end{tabularx}
\end{table}
\end{document}

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

Редактировать: Спасибо Mico, я переосмыслил свой ответ. Вышеприведенный пример работает только если у вас есть только одна строка во втором столбце ячеек. В случае, если в этих ячейках будет более длинный текст, то возможным решением будет поместить таблицу в таблицу:

\documentclass{article}
%---------------------------------------------------------------%
    \usepackage{booktabs,tabularx,calc} 
\usepackage[active,floats,tightpage]{preview}
\setlength\PreviewBorder{1em}

\begin{document}
\begin{table}
    \begin{tabularx}{\linewidth}{@{}l|lXX}               
    \hline
{\begin{tabularx}{0.5\linewidth}{lX}  %%% first table in table
1.  &   2. column, but this doesn't work,
                    if the content of this cell is very long,
                    i.e. spread over more line
\end{tabularx}}
    &   3.  &   4. column   &   5. column \\
        \hline
{\begin{tabularx}{0.5\linewidth}{lX}  %%% second table in table
1.  &   2. column, with short text
\end{tabularx}}%
    &   3.  &   4. column   &   this column also can has 
                                longer text span over more lines\\
    \hline
        \end{tabularx}
\end{table}
\end{document}

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

Теперь я должен признаться, что я больше не уверен, нравится ли вам эта вторая строка, всегда заканчивайте ее в середине страницы (текст).

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