
Actualmente tengo una tabularx
tabla con cuatro columnas. Inicializo el entorno así:
\begin{tabularx}{\linewidth}{l p{0.4\linewidth} | l X l X}
¿Cómo podría cambiar esto para que la segunda columna ( p{0.4\linewidth}
) se extienda hasta el centro de la página, pero no más allá?
Respuesta1
¿Con dos tablas sucesivas?
\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}
Editar: Gracias a Mico estoy reconsiderando mi respuesta. El ejemplo anterior solo funciona si tiene solo una línea en las celdas de la segunda columna. En caso de que en esas celdas haya texto más largo, la posible solución es colocar tabla en tabla:
\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}
Ahora debo confesar que ya no estoy seguro, si quieres que el segundo siempre termine en la mitad de la página (texto).