Spaltenbreite auf Punkt setzen

Spaltenbreite auf Punkt setzen

Ich habe derzeit eine tabularxTabelle mit vier Spalten. Ich initialisiere die Umgebung wie folgt:

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

Wie kann ich dies ändern, sodass die zweite Spalte ( p{0.4\linewidth}) bis zur Seitenmitte reicht, aber nicht darüber hinaus?

Antwort1

Mit zwei aufeinanderfolgenden Tischen?

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

Bildbeschreibung hier eingeben

Bearbeiten: Dank Mico habe ich meine Antwort überdacht. Das obige Beispiel funktioniert nur, wenn Sie in den Zellen der zweiten Spalte nur eine Zeile haben. Falls in diesen Zellen längerer Text steht, besteht die mögliche Lösung darin, die Tabelle in die Tabelle einzufügen:

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

Bildbeschreibung hier eingeben

Nun muss ich gestehen, dass ich mir nicht mehr sicher bin, ob es Ihnen gefällt, dass die zweite Zeile immer in der Mitte der Seite (des Textes) endet.

verwandte Informationen