Abarcando el ancho de la tabla tabularx hasta (casi) la página completa

Abarcando el ancho de la tabla tabularx hasta (casi) la página completa

Quiero que mi tabla tabularx abarque (casi) toda la página en ancho en lugar de solo el ancho del texto. Aquí hay una imagen actual (con \usepackage{showframe}: ingrese la descripción de la imagen aquí Quiero que el ancho de la tabla sea el del cuadro exterior derecho de la imagen, pero aplicado en ambos lados (para que deje un poco de espacio en blanco en ambos lados). ¿Alguien sabe cómo podría hacer esto? Aquí está el código:

\documentclass[a4paper,12pt]{article}

\usepackage[margin=1.in]{geometry}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{ltablex}
\usepackage{siunitx}[input-decimal-markers=.]
\usepackage{lipsum}
\usepackage{threeparttable}
\usepackage{showframe}
\usepackage[sort, numbers, compress]{natbib}
\usepackage{amsmath}
\usepackage{makebox}
\usepackage[font=scriptsize,labelfont=bf,labelsep=period]{caption}
\usepackage[export]{adjustbox}
\usepackage[hidelinks]{hyperref}

\begin{document}

\renewcommand{\arraystretch}{2} 
    \begin{tiny}
    \begin{tabularx}{\linewidth}{@{}XXXXXX@{}}
        \caption{a table}\\
        \toprule
        \multicolumn{1}{l}{1}&\multicolumn{1}{l}{2}&\multicolumn{1}{c}{3 }&\multicolumn{1}{c}{4 }&\multicolumn{1}{c}{5}&\multicolumn{1}{c}{6} \\
        \midrule
        \textbf{text123 test test test test test test test}&textasddsa&textasdasd&textas sada &textasd asd adas das&test 123 test 123 test 123 test 123 test 123 tesrt 123 test 123 test 123\\
        \\

        \bottomrule
    \end{tabularx}
    \end{tiny}

\end{document}

Respuesta1

para ensanchar la mesa ya que textwidthtienes dos opciones:

  • aumentar el ancho del texto localmente. por ejemplo con el uso de adjustwidthmacro
  • gire las páginas con la tabla en landscapeorientación

elmweA continuación considere ambas opciones:

\documentclass[a4paper,12pt]{article}

\usepackage[margin=1 in]{geometry}
\usepackage{ragged2e}
\usepackage{booktabs, ltablex, makecell}
\keepXColumns
\newcolumntype{L}{>{\raggedright\arraybackslash}X}
\setcellgapes{3pt}
\renewcommand\theadfont{\small\bfseries}
\renewcommand\theadgape{}
\usepackage[strict]{changepage}

\usepackage{pdflscape}

%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\usepackage{lipsum}
\begin{document}
\lipsum[66]

\begin{adjustwidth}{}{-\dimexpr\marginparsep+\marginparwidth}
    \footnotesize
    \makegapedcells
    \setlength\tabcolsep{3pt}
\begin{tabularx}{\linewidth}{@{}>{\bfseries}*{6}{L}@{}}
    \caption{A wide table}\\
    \toprule
\thead{1}   & \thead{2} & \thead{3} & \thead{4} & \thead{5} & \thead{6} \\
    \midrule
\endfirsthead
    \caption*{Table~\thetable: A wide table \hfill(cont.)}\\
    \toprule
\thead{1}   & \thead{2} & \thead{3} & \thead{4} & \thead{5} & \thead{6} \\
    \midrule
\endhead
    \multicolumn{6}{r}{continue on the next page}
\endfoot
    \bottomrule
\endlastfoot
% table body
text123 test test test test test test test
    & textasddsa & textasdasd & textas sada & textasd asd adas das & test 123 test 123 test 123 test 123 test 123 tesrt 123 test 123 test 123                   \\
    \midrule
\lipsum*[66]    &   &   &   &   &   \\
    \midrule
\lipsum*[66]    &   &   &   &   &   \\
\end{tabularx}
\end{adjustwidth}
\lipsum[66]

second option: table in landscape orientation

    \begin{landscape}
    \footnotesize
    \makegapedcells
    \setlength\tabcolsep{3pt}
\begin{tabularx}{\linewidth}{@{}>{\bfseries}*{6}{L}@{}}
    \caption{A wide table}\\
    \toprule
\thead{1}   & \thead{2} & \thead{3} & \thead{4} & \thead{5} & \thead{6} \\
\endfirsthead
    \caption*{Table~\thetable: A wide table \hfill(cont.)}\\
    \toprule
\thead{1}   & \thead{2} & \thead{3} & \thead{4} & \thead{5} & \thead{6} \\
    \midrule
\endhead
    \multicolumn{6}{r}{continue on the next page}
\endfoot
    \bottomrule
\endlastfoot
% table body
\lipsum*[66]    &   &   &   &   &   \\
    \midrule
\lipsum*[66]    &   &   &   &   &   \\
    \midrule
\lipsum*[66]    &   &   &   &   &   \\
\end{tabularx}
    \end{landscape}
\end{document}

Si en algunas columnas hay celdas con texto corto de una línea, entonces es sensato usar el tipo de columna para estas columnas l.

información relacionada