1

In the github issue: Longtable change breaks 'X' column specification (https://github.com/latex3/latex2e/issues/111) the problem of the incompatibility of a necessary bug fix in latex3/latex2e is given.

In the stackoverflow issues /answers:

xcolor breaking \[ and align environments inside tabu

longtabu and color compatibility

Tabu very recently stopped working with color/xcolor or with fancyvrb

some solutions are given. The "problem" with these solutions is that when using them with current (old) LaTeX versions they break those versions. This is of course a problem for developers of (open source) packages that output LaTeX code.

The question is: is there a possibility (test / if statement) so that the solution code can be included and it will work in the old and new version of LaTeX or is there any possibility that the cloning and fixing of the tabu package (as suggested by Frank Mittelbach in the mentioned github issue) will take place before the next official release (TexLive 2019)?

Note: I posted a comment with some of the mentioned issues, but didn't get an answer yet so I decided to make a question out of it (also for clarity).

  • 3
    If you are developer of open-source software and are relying on abandoned software (tabu) it might be a good idea to reconsider this dependency. Alternatively, I'm sure the team would be glad if it wasn't them who "forked and fixed" tabu… – TeXnician Jan 14 at 18:15
  • I agree that it would be better to replace the code that uses the tabu package but that would take some time as well (I didn't include the tabu package originally) . If there would be an if construct, for the time being. this would make it a bit easier during the transition. (I can also quite well see that the team would be glad that they would not have to maintain the tabu package). – albert Jan 14 at 18:37
  • 1
    There are already tests (ifs) for package versions, so why not simply test for the new update (see e.g. tex.stackexchange.com/a/47766/124577)? – TeXnician Jan 14 at 18:40
  • 2
  • 3
    @albert it got submitted to ctan today (before I saw your comments) and so will appear in texlive/miktex in the next day or so. It would be much better to raise this issue at github rather than here so it's logged. It is probably fixable, – David Carlisle Jan 14 at 20:52
3

Since the tabu package seems to still be rather widely used, I will try to summarize the current situation.

  • The package has been unmaintained by its original author since 2011. Every bug that has been found (or not) since then is unfixed.
  • The package changes many internal LaTeX kernel macros, which in itself is not recommended, but worked for a long time because the kernel is very static. In December 2018, however, an update to the kernel lead to the tabu package completely breaking down.
  • Following this, the repository https://github.com/tabu-issues-for-future-maintainer/tabu was created. The LaTeX3 Project Team tried to fix some of the main issues that became fatal after the 2018 update which made tabu somewhat usable again. Bugs can be added to the issue tracker of this repository in the hopes someone will take over maintenance of the package.
  • The package is still unmaintained! The Team will not actively maintain it.
  • The package may fatally break again at any point in time and there is no guarantee that a fix will be provided quickly or, in fact, at all.

Following this, the recommended course of action is:

  • If you are just starting to use tabu, don't.
  • If you are using tabu in active projects that you need to work in the future, especially if there is a deadline on the horizon (say you are writing a thesis), move away from using the package now.
  • If you are a capable LaTeX developer and have a lot of time on your hand for the foreseeable future, consider taking over maintenance of tabu.
1

In the doxygen project the tabu package is used as it gives better tables then other tab... packages. Unfortunately there we also are hit by this problem.

After a recent discussion (https://github.com/doxygen/doxygen/issues/6769) a (proposed pull request, https://github.com/doxygen/doxygen/pull/7137, with a) workaround has been defined to be able to generated pdf documentation in doxygen again by means of going back to some older packages.

Use an older version of the array package, this is included in the recent version of the array package and use the following code at the beginning of you preamble:

\usepackage{ifthen}
\ifx\requestedLaTeXdate\undefined
\usepackage{array}
\else
\usepackage{array}[=2016-10-06]
\fi

Get from the 2018 release the tabu (i.e. a version v2.8, so without the fixes from https://github.com/tabu-issues-for-future-maintainer/tabu) and longtable style (.sty) files and rename them to locally e.g. tabu_doxygen.sty and longtable_doxygen.sty (I used the doxygen name here but the name is of course free).

In these files set the \ProvidesPackage to this new name and adjust the explaining text. Furthermore in the longtable_doxygen.sty there might be around line 430 a \color@begingroup and around line 460 a \color@endgroup removed these lines (you can of course also take the files from the doxyygen proposed pull request (https://github.com/doxygen/doxygen/pull/7137).

At the place where you have \usepackage{tabu} / usepackage{longtable} replace this with:

\usepackage{tabu_doxygen}

and

\usepackage{longtable_doxygen}

For doxygen this looks like to work, but still a maintained tabu package would be very much appreciated so I repeat her too:

  • If you are a capable LaTeX developer and have a lot of time on your hand for the foreseeable future, consider taking over maintenance of tabu.

Thanks to @DavidCarlisle and @FrankMittelbach for the very valuable help with the doxygen issue.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.