ロングテーブルを線幅に合わせて調整する方法

ロングテーブルを線幅に合わせて調整する方法

私は classicthesis で作業しており、全体的にかなり複雑なドキュメントがあるため、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} 

ここに画像の説明を入力してください

関連情報