longtabu 和 floats:带有 floats 的页面上的表格分隔符错误

longtabu 和 floats:带有 floats 的页面上的表格分隔符错误

我注意到,如果将这个包放在已经放置了浮动元素的页面上,那么tabu它的环境似乎会出现问题。longtabu

考虑以下 MWE:

\documentclass[10pt]{article}
\usepackage{longtable,tabu}
\usepackage{lipsum}

\begin{document}

    \begin{table}
        \begin{tabular}{ccc}
            Row 1 & Row 1 & Row 1 \\
            Row 2 & Row 2 & Row 2 \\
            Row 3 & Row 3 & Row 3 \\
            Row 4 & Row 4 & Row 4 \\
            Row 5 & Row 5 & Row 5 \\
            Row 6 & Row 6 & Row 6 \\
            Row 7 & Row 7 & Row 7 \\
            Row 8 & Row 8 & Row 8 \\
            Row 9 & Row 9 & Row 9 \\
            Row 10 & Row 10 & Row 10 \\
        \end{tabular}
    \end{table}

    \lipsum[1-2]

    \begin{longtabu}{X[l]X[c]}
        Test & Test
    \end{longtabu}

    \lipsum[10]

    {
        \footnotesize
        \begin{longtabu}{|X[-4,l]|X[r]|X[r]|X[r]|}
            \hline
            Col 1 & Col 2 & Col 3 & Col 4 \\\hline
            Lorem ipsum dolor sit & 0.000019 & 0.000000 & 0.000000 \tabularnewline\hline
            Lorem ipsum dolor sit & 0.000012 & 0.000000 & 0.000000 \tabularnewline\hline
            Lorem ipsum dolor sit & 0.000173 & 0.000000 & 0.000000 \tabularnewline\hline
            Lorem ipsum dolor sit & 0.000011 & 0.000000 & 0.000000 \tabularnewline\hline
            Lorem ipsum dolor sit & 0.012992 & 0.000000 & 0.000000 \tabularnewline\hline
            Lorem ipsum dolor sit & 0.000031 & 0.000000 & 0.000000 \tabularnewline\hline
            Lorem ipsum dolor sit & 0.000068 & 0.000000 & 0.000000 \tabularnewline\hline
            Lorem ipsum dolor sit & 0.000018 & 0.000000 & 0.000000 \tabularnewline\hline
            Lorem ipsum dolor sit & 0.029689 & 0.000000 & 0.000000 \tabularnewline\hline
            Lorem ipsum dolor sit & 0.000055 & 0.000000 & 0.000000 \tabularnewline\hline
            Lorem ipsum dolor sit & 0.000004 & 0.000000 & 0.000000 \tabularnewline\hline
            Lorem ipsum dolor sit & 28.276892 & 0.405603 & 1.560010 \tabularnewline\hline
            Lorem ipsum dolor sit & 0.957158 & 0.234002 & 0.702005 \tabularnewline\hline
            Lorem ipsum dolor sit & 0.000011 & 0.000000 & 0.000000 \tabularnewline\hline
            Lorem ipsum dolor sit & 0.000002 & 0.000000 & 0.000000 \tabularnewline\hline
            Lorem ipsum dolor sit & 0.000013 & 0.000000 & 0.000000 \tabularnewline\hline
            Lorem ipsum dolor sit & 0.000336 & 0.000000 & 0.000000 \tabularnewline\hline
            Lorem ipsum dolor sit & 0.000004 & 0.000000 & 0.000000 \tabularnewline\hline
            Lorem ipsum dolor sit & 0.000003 & 0.000000 & 0.000000 \tabularnewline\hline
            Lorem ipsum dolor sit & 0.000003 & 0.000000 & 0.000000 \tabularnewline\hline
        \end{longtabu}
    }

\end{document}

请注意,第 1 页底部的最后一个表格以错误的方式断开。我猜测表格断开的错误偏移量恰好是第一个表格的垂直尺寸,该表格被包裹在浮动环境中。

但是,我不知道如何修复错误的表格分隔符。我有许多页面包含浮动表格,但在某些地方,我希望有带有 的长表格longtabu,就像在 MWE 中一样。

有人能告诉我如何修复错误的表格中断吗?

答案1

尽管我认为这些错误已经修复,但该领域还是存在一些错误。如果仅使用 longtable 而不是 tabu 版本即可重现该错误,请

latex latexbug.tex

并按照提示提交错误(类别工具),尽管没有保证说正确完成这项工作很难,而且经过这么长时间更改代码也很困难,即使它是“错误的”。放在\clearpage长表之前将刷新浮动并确保同步,尽管这当然会导致过早的分页,但如果您急需文档,这可能是最好的做法。

同时,我或这里的其他人可能会直接在您的示例中发现修复方法......

更新:修复

如果您应用此处建议的更改

http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=tools/3512

那么您的示例将按预期工作。

我似乎记得当时没有立即应用更改是有原因的,但我在日志中没有看到任何内容,我需要调查,但希望这能让你重新工作。

相关内容