![Longtable 比 textwidth 更宽](https://linux22.com/image/370541/Longtable%20%E6%AF%94%20textwidth%20%E6%9B%B4%E5%AE%BD.png)
假设我有一张跨多页的表格
\documentclass[DIV=8]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{booktabs,array,ragged2e,longtable}
\newcolumntype{P}[1]{>{\RaggedRight\arraybackslash}p{#1\textwidth}}
\usepackage{enumitem}
%% Create a very compact itemized list environment
\newlist{mylist}{itemize}{1}
\setlist[mylist]{label=\textbullet, nosep, wide,
leftmargin=*, % hanging indentation
before=\vspace{-0.50\baselineskip},
after =\vspace{-0.8\baselineskip}}
\begin{document}
% keep scope of longtable-related instructions local to current TeX group
\begingroup
\setlength\tabcolsep{0pt} % <--- important
\setlength\LTleft{0pt}
\setlength\LTright{0pt}
\begin{longtable}{@{\extracolsep{\fill}}P{0.38}P{0.38}P{0.2}}
\caption{My caption} \label{my-label}\\
\toprule
Column 1 & Column 2 & Column 3 \\
\midrule
\endfirsthead
\multicolumn{3}{l}{(Table \ref{my-label}, cont'd)}\\ % re-state table number
\addlinespace
\toprule
Column 1 & Column 2 & Column 3 \\
\midrule
\endhead
\bottomrule
\addlinespace
\multicolumn{3}{r}{(cont'd on next page)}\\
\endfoot
\bottomrule
\endlastfoot
\begin{mylist}
\item Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita
\item Lorem ipsum dolor sit
\item Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
\end{mylist} &
\begin{mylist}
\item Lorem ipsum dolor sit amet, consetetur sadipscing
\item Lorem ipsum dolor sit
\item Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
\item Lorem ipsum
\end{mylist} &
\begin{mylist}
\item Lorem ipsum
\item Lorem ipsum
\end{mylist} \\
\addlinespace
\begin{mylist}
\item Lorem ipsum dolor sit amet, consetetur sadipscing
\item Lorem ipsum dolor sit
\item Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
\end{mylist} &
\begin{mylist}
\item Lorem ipsum dolor sit amet, consetetur sadipscing
\item Lorem ipsum dolor sit
\item Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
\item Lorem ipsum
\item Lorem ipsum
\end{mylist} &
\begin{mylist}
\item Lorem ipsum
\item Lorem ipsum
\end{mylist} \\
\addlinespace
\begin{mylist}
\item Lorem ipsum dolor sit amet, consetetur sadipscing
\item Lorem ipsum dolor sit
\item Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
\end{mylist} &
\begin{mylist}
\item Lorem ipsum dolor sit amet, consetetur sadipscing
\item Lorem ipsum dolor sit
\item Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
\item Lorem ipsum
\item Lorem ipsum
\end{mylist} &
\begin{mylist}
\item Lorem ipsum
\item Lorem ipsum
\end{mylist} \\
\addlinespace
\begin{mylist}
\item Lorem ipsum dolor sit amet, consetetur sadipscing
\item Lorem ipsum dolor sit
\item Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
\end{mylist} &
\begin{mylist}
\item Lorem ipsum dolor sit amet, consetetur sadipscing
\item Lorem ipsum dolor sit
\item Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
\item Lorem ipsum
\item Lorem ipsum
\end{mylist} &
\begin{mylist}
\item Lorem ipsum
\item Lorem ipsum
\end{mylist} \\
%\addlinespace % omit if at page break
\begin{mylist}
\item Lorem ipsum dolor sit amet, consetetur sadipscing
\item Lorem ipsum dolor sit
\item Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
\end{mylist} &
\begin{mylist}
\item Lorem ipsum dolor sit amet, consetetur sadipscing
\item Lorem ipsum dolor sit
\item Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
\item Lorem ipsum
\item Lorem ipsum
\end{mylist} &
\begin{mylist}
\item Lorem ipsum
\item Lorem ipsum
\end{mylist} \\
\end{longtable}
\endgroup % end of TeX group that encases the 'longtable' material
\end{document}
我需要表格比文本宽度更宽 - 在纵向模式下。使用geometry
建议的包这里是不可行的,因为表格从新页面开始。但我想将它放在我的文本流中。有没有办法让长表比文本宽度更宽?
答案1
答案2
使用xltabular
具有同名环境的包:
\documentclass[DIV=8,captions=tableabove]{scrartcl}
[...]
\usepackage{booktabs,array,ragged2e,xltabular}
\newcolumntype{P}[1]{>{\RaggedRight}p{#1\textwidth}}
\usepackage{enumitem}
\newlist{mylist}{itemize}{1}
\setlist[mylist]{label=\textbullet, nosep, wide,
leftmargin=*, % hanging indentation
before=\vspace{-0.50\baselineskip},
after =\vspace{-0.8\baselineskip}}
\begin{document}
\begingroup
\setlength\tabcolsep{2pt}
\begin{xltabular}{\linewidth}{@{} >{\RaggedRight}X >{\RaggedRight}X P{0.22} @{} }
\caption{My caption} \label{my-label}\\
\toprule
...