I don't use \centering, but why must I use \arraybackslash in my table?

\arraybackslash resets the definition of \\ to \tabularnewline.

\let\\\tabularnewline

The minipage environment changes the definition of \\ (presumably), so \arraybackslash resets it.


do not use the minipage, it does a lot of redefinitions. A p-column does the same:

\documentclass{minimal}
\usepackage[a4paper,margin=10mm,showframe]{geometry}
\usepackage{lipsum,xcolor}
\usepackage{array,longtable}
\setlength\tabcolsep{5mm}
\setlength\arrayrulewidth{5mm}

\newcolumntype{A}[1]{>{\rule{0pt}{4ex}}p{\dimexpr#1\textwidth-1.5\arrayrulewidth-2\tabcolsep}%
                     <{\vspace{\tabcolsep}}}%
\begin{document}
\color{red}%
\begin{longtable}{|A{0.5}|A{0.5}|}\hline
\lipsum[1] & \lipsum[2]\\\hline
\lipsum[1] & \lipsum[2]\\\hline
\lipsum[1] & \lipsum[2]\\\hline
\end{longtable}

\end{document}

Tags:

Longtable