Таблица Longtabu с более чем 10000 строк вставляет }, а затем выдает ошибку

Таблица Longtabu с более чем 10000 строк вставляет }, а затем выдает ошибку

эта таблица ниже охватывает файл, который будет иметь > 1 строк. Когда количество строк = 10000, то в выводе отображается следующее сообщение, что приводит к сбою компиляции. есть идеи, как не вставлять }?

   ! Missing } inserted.
    <inserted text>
    }
    l.10001 0
    6-Jun-2014 & Chq - \#9113 & 60.60 &  & 3,564,175.18 \\
    ! Argument of \LT@max@sel has an extra }.
    <inserted text>




\documentclass{article}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage{framed}
\usepackage{float}
\usepackage{lipsum}
\usepackage{import}
\usepackage{longtable}
\usepackage{tabu}



\usepackage[table]{xcolor}    % loads also »colortbl«
\usepackage{pgf}

\usepackage[top=0.4in, bottom=0.5in, left=0.1in, right=0.1in, tmargin = 0.9in] {geometry}

\usepackage{lastpage}
\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}



 % define lightgray
 \definecolor{lightgray}{gray}{0.9}
 \definecolor{darkgray}{gray}{0.5}
 \definecolor{darkgreen}{RGB}{0,63,55}

\let\oldlongtabu\longtabu
\let\endoldlongtabu\endlongtabu

\newenvironment{newlongtabu}{\rowcolors{2}{white}{white}
   \oldlongtabu} {\endlongtabu}

\renewenvironment{longtabu}{
    \rowcolors{2}{white}{lightgray}
    \oldlongtabu} {\endoldlongtabu}

\begin{document}

\newdimen\mylength
\setlength{\mylength}{7.0in}
{\small \tabulinesep=1.2mm
 \begin{longtabu}to\textwidth{Xp{10.0cm}rrr}
    \rowcolor{lightgray} 
     \textbf{col1} & \textbf{col2} & ~ &  ~ &  col5 \\
    \rowcolor{white}\\
   \endfirsthead
   \rowcolor{lightgray}
   \textbf{col1} & \textbf{col2} & ~ &  ~ &  co5 \\
   \rowcolor{white}\\
    \endhead
  \endfoot
  \endlastfoot
      \input blah_short.tex
  \end{longtabu}
  }
  \end{document}

blah_short содержит:

blah  & blah & blah  & blah & blah \\
blah  & blah & blah  & blah & blah \\
blah  & blah & blah  & blah & blah \\
blah  & blah & blah  & blah & blah \\
blah  & blah & blah  & blah & blah \\
blah  & blah & blah  & blah & blah \\

в обычном случае количество строк будет превышать 10000.

решение1

если я расширяю ваш входной файл до 11001 идентичных строк, табу выдает ошибки нехватки памяти

! Превышена емкость TeX, извините [размер основной памяти=5000000]. а не ошибка, которую вы показываете?

базовый код longtable разработан для работы с таблицами произвольной длины (вплоть до длин документов, определяемых pdftex и форматом pdf)

что-то вроде

\documentclass{article}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage{framed}
\usepackage{float}
\usepackage{lipsum}
\usepackage{import}
\usepackage{longtable}




\usepackage[table]{xcolor}    % loads also »colortbl«
\usepackage{pgf}

\usepackage[top=0.4in, bottom=0.5in, left=0.1in, right=0.1in, tmargin = 0.9in] {geometry}

\usepackage{lastpage}
\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}



 % define lightgray
 \definecolor{lightgray}{gray}{0.9}
 \definecolor{darkgray}{gray}{0.5}
 \definecolor{darkgreen}{RGB}{0,63,55}


\begin{document}

\newdimen\mylength
\setlength{\mylength}{7.0in}
{\small 
 \begin{longtable}{p{5cm}p{10.0cm}rrr}
    \rowcolor{lightgray} 
     \textbf{col1} & \textbf{col2} & ~ &  ~ &  col5 \\
    \rowcolor{white}\\
   \endfirsthead
   \rowcolor{lightgray}
   \textbf{col1} & \textbf{col2} & ~ &  ~ &  co5 \\
   \rowcolor{white}\\
    \endhead
  \endfoot
  \endlastfoot
      \input blah_short.tex
  \end{longtable}
  }
  \end{document}

решение2

Если longtabuнеобходимо, то можно выделить большое количество данных для работы, переопределив счетчик LTChunkSizeпри создании таблицы.

\documentclass{article}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage{framed}
\usepackage{float}
\usepackage{lipsum}
\usepackage{import}
\usepackage{longtable}
\usepackage{tabu}



\usepackage[table]{xcolor}    % loads also »colortbl«
\usepackage{pgf}

\usepackage[top=0.4in, bottom=0.5in, left=0.1in, right=0.1in, tmargin = 0.9in] {geometry}

\usepackage{lastpage}
\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}



 % define lightgray
 \definecolor{lightgray}{gray}{0.9}
 \definecolor{darkgray}{gray}{0.5}
 \definecolor{darkgreen}{RGB}{0,63,55}

\let\oldlongtabu\longtabu
\let\endoldlongtabu\endlongtabu

\newenvironment{newlongtabu}{\rowcolors{2}{white}{white}
   \oldlongtabu} {\endlongtabu}

\renewenvironment{longtabu}{
    \rowcolors{2}{white}{lightgray}
    \oldlongtabu} {\endoldlongtabu}

\begin{document}

\newdimen\mylength
\setlength{\mylength}{7.0in}
{\small \tabulinesep=1.2mm
 \begin{longtabu}to\textwidth{Xp{10.0cm}rrr}
    \rowcolor{lightgray} 
     \textbf{col1} & \textbf{col2} & ~ &  ~ &  col5 \\
    \rowcolor{white}\\
   \endfirsthead
   \rowcolor{lightgray}
   \textbf{col1} & \textbf{col2} & ~ &  ~ &  co5 \\
   \rowcolor{white}\\
    \endhead
  \endfoot
  \endlastfoot
      \setcounter{LTchunksize}{250000}
      \input blah_short.tex
  \end{longtabu}
  }
  \end{document}

позволит \setcounter{LTchunksize}{250000}вам размер таблицы в 250000 записей. Объедините это с входным файлом на 200000 строк, и lualatex вы также увидите 1,2 ГБ памяти, занимаемой в течение пары минут, пока он компилируется.

Связанный контент