테이블 형식의 테이블 너비를 (거의) 전체 페이지까지 확장

테이블 형식의 테이블 너비를 (거의) 전체 페이지까지 확장

내 tabularx 테이블이 텍스트 너비 대신 (거의) 전체 페이지 너비에 걸쳐 있기를 원합니다. 현재 이미지는 다음과 같습니다 \usepackage{showframe}. 여기에 이미지 설명을 입력하세요 나는 테이블의 너비가 이미지의 바깥쪽 오른쪽 상자의 너비와 같도록 하고 싶지만 양쪽에 적용됩니다(따라서 양쪽에 약간의 공백이 남습니다). 내가 어떻게 할 수 있는지 아는 사람 있나요? 코드는 다음과 같습니다.

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

답변1

textwidth두 가지 옵션이 있으므로 테이블을 더 넓게 만드십시오 .

  • 로컬에서 텍스트 너비를 늘립니다. 예를 들어 adjustwidth매크로를 사용하는 경우
  • 테이블이 있는 페이지를 landscape방향 으로 전환

그만큼아래에서는 두 가지 옵션을 모두 고려합니다.

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

일부 열에 짧은 한 줄 텍스트가 포함된 셀이 있는 경우 이 열에 적합한 열 유형을 사용하세요 l.

관련 정보