긴 테이블을 선폭에 맞게 조정하는 방법

긴 테이블을 선폭에 맞게 조정하는 방법

저는 classicesis로 작업 중이고 전체 문서가 상당히 복잡해서 실제로 MWE를 게시할 수 없습니다(죄송합니다. LaTeX를 처음 접하는 사람입니다). 나는 테이블과 관련이 있다고 생각되는 몇 가지 패키지를 게시하고 있습니다. 내 문제: 여러 페이지에 자동으로 펼쳐지는 긴 테이블을 사용하고 있습니다. (\linewidth를 사용하여 열을 정의했음에도 불구하고) 텍스트 너비를 초과한다는 점을 제외하면 모든 것이 잘 작동합니다.

내가 뭘 잘못하고 있는지 또는 표 너비와 선 너비를 일치시킬 수 있는 방법을 식별하는 데 도움을 주시겠습니까?

엄청 고마워!

\usepackage{calc, longtable, ltablex, booktabs,array, caption, enumitem}
\keepXColumns
\newcolumntype{x}[1]{>{\raggedright}p{#1}}

\begin{spacing}{.7}
\footnotesize
\begin{longtable}{x{0.35\textwidth} x{0.25\textwidth} x{0.4\textwidth}}
    \caption{Example table}\label{tab:example}  \\
    \toprule
    {\textbf{Column One}} & {\textbf{Column Two}} & {\textbf{Column Three}}
    \tabularnewline
    \midrule
    \endfirsthead
    %%%%
    \caption{Example table (cont.)}  \\
    \toprule
    {\textbf{Column One}} & {\textbf{Column Two}} & {\textbf{Column Three}}
    \tabularnewline
    \midrule
    \endhead
    %%%%
    \midrule[\heavyrulewidth]
    \multicolumn{3}{r}{\footnotesize\itshape Continue on the next page}
    \endfoot
    %%%%
    \bottomrule
    \endlastfoot
    %%%%

        Content & Content & Content   \tabularnewline
        Content & Content & Content   \tabularnewline

\end{longtable}
\end{spacing}

답변1

당신은

\begin{longtable}
      {x{0.35\textwidth} x{0.25\textwidth} x{0.4\textwidth}}

그러나 각 열에는 \tabcolsep양쪽에 (기본값 6pt) 공간이 있으므로 36pt가 너무 넓어집니다.

노력하다

\begin{longtable}
      {@{}x{0.35\textwidth} x{\dimexpr 0.25\textwidth - 24pt\relax} x{0.4\textwidth}@{}}

따라서 측면에서 패딩을 제거 @{}하고 중간 열에 24pt를 저장합니다(물론 다르게 배포하고 각 열에서 일부를 제거할 수도 있음).

답변2

나는 환경을 사용할 것입니다 xltabular(패키지는 로드되지만 ltablex추가해야 하는 번거로움을 줄여줍니다 keepXColumns). 그리고 사양은 >{\hsize)xx\hsize 서로 다른 너비의 열을 갖습니다.

\documentclass{report}
\usepackage{classicthesis}
\usepackage{array, setspace}
\usepackage{calc, longtable,xltabular, booktabs, array, caption, enumitem}
\usepackage{showframe}
\renewcommand{\ShowFrameLinethickness}{0.3pt}

\begin{document}

\mbox{}
\begin{spacing}{.7}
\footnotesize
\begin{xltabular}{\linewidth}{>{\hsize=1.05\hsize}X >{\hsize=0.75\hsize}X >{\hsize=1.20\hsize\arraybackslash}X}
    \caption{Example table}\label{tab:example} \\
    \toprule
    {\textbf{Column One}} & {\textbf{Column Two}} & {\textbf{Column Three}} \\
    \midrule
    \endfirsthead
    %%%%
    \caption{Example table (cont.)} \\
    \toprule
    {\textbf{Column One}} & {\textbf{Column Two}} & {\textbf{Column Three}} \\
    \midrule
    \endhead
    %%%%
    \midrule[\heavyrulewidth]
    \multicolumn{3}{r}{\footnotesize\itshape Continue on the next page}
    \endfoot
    %%%%
    \bottomrule
    \endlastfoot
    %%%%
        Content & Content & Content \\
        Content & Content & Content
\end{xltabular}
\end{spacing}

\end{document} 

여기에 이미지 설명을 입력하세요

관련 정보