如何将 longtable 宽度改为 textwidth?

如何将 longtable 宽度改为 textwidth?

我正在尝试使用它来将侧面长桌\makebox[\textwidth]{置于普通桌子的中心。

\documentclass[a4paper]{article}
\usepackage{array}
\usepackage{longtable}
\usepackage{lipsum}

\begin{document}
\lipsum[1]

\noindent\makebox[\textwidth]{
    \begin{longtable}
        {>{\centering\arraybackslash}m{0.55\textwidth} >{\centering\arraybackslash}m{0.55\textwidth}}
        \lipsum[2] & \lipsum[3] \
  \end{longtable}
}

\lipsum[4]
\end{document}

我使用 sharelatex 并出现错误Missing \endgroup inserted.

编辑:我看见了如何使横向多页表适合文本宽度LTcapwidth没有帮助

答案1

longtable有自己的方法:

\documentclass[a4paper]{article}
\usepackage{array}
\usepackage{longtable}
\usepackage{lipsum}

\begin{document}
\lipsum[1]

\begingroup % localize the following settings
\setlength{\LTleft}{0pt minus 1000pt}
\setlength{\LTright}{0pt minus 1000pt}

\begin{longtable}{
  >{\centering\arraybackslash}m{0.55\textwidth}
  >{\centering\arraybackslash}m{0.55\textwidth}
}
\lipsum[2] & \lipsum[3]
\end{longtable}
\endgroup

\lipsum[4]
\end{document}

在此处输入图片描述

答案2

xltabular代替longtable

\documentclass[a4paper]{article}
\usepackage{xltabular}
\usepackage{lipsum}

\begin{document}
\lipsum[1]

\begingroup % localize the following settings
\setlength\LTleft{0pt minus 1000pt}
\setlength\LTright{0pt minus 1000pt}
\renewcommand\tabularxcolumn[1]{m{#1}}

\begin{xltabular}{1.1\linewidth}{>{\centering}X>{\centering}X}
        \lipsum[2] & \lipsum[3]
\end{xltabular}
\endgroup

\lipsum[4]
\end{document}

在此处输入图片描述

相关内容