Hi Andreas again,
I've checked and you're right: multirow by itself is no more used, it's
multirow2 that is used. The changes have been made in 2006:
https://sourceforge.net/p/dblatex/dblatex/ci/bc27ce5770bd70c2d9799e6c30cfb3ffebe379df/tree/latex/misc/multirow2.sty?diff=e8552fb986f46b7d6def8d1a39bfa0c34e63d8af
And the initial bug fix to have \@xmultirow \long is from one of your bug
report in 2005:
https://sourceforge.net/p/dblatex/mailman/message/2402596/
https://sourceforge.net/p/dblatex/mailman/message/2402609/
I completely forgot those steps! So the patch is what you said: just
remove the multirow references:
--- a/latex/style/dbk_table.sty Sun Oct 02 23:21:03 2016 +0200
+++ b/latex/style/dbk_table.sty Mon Oct 10 21:31:00 2016 +0200
@@ -9,7 +9,6 @@
\usepackage{longtable}
\usepackage{lscape}
\usepackage{colortbl}
-\usepackage{multirow}
\usepackage{calc}
\usepackage{hhline}
@@ -21,16 +20,6 @@
\expandafter[\expandafter3\expandafter]\expandafter{%
\multicolumn{#1}{#2}{#3}}
-% Make \@xmultirow long
-\expandafter\long\expandafter\def%
-\expandafter\@xmultirow%
-\expandafter#\expandafter1%
-\expandafter[\expandafter#\expandafter2\expandafter]%
-\expandafter#\expandafter3%
-\expandafter[\expandafter#\expandafter4\expandafter]%
-\expandafter#\expandafter5%
-\expandafter{\@xmultirow{#1}[#2]{#3}[#4]{#5}}
-
% For the newtbl code
\newdimen\newtblstarfactor%
\newdimen\newtblsparewidth%
Regards,
BG
On Mon, 10 Oct 2016 20:42:58 +0200, ben.guillon <ben.guil...@gmail.com>
wrote:
Hi Andreas,
The internal macro \@xmultirow is called by \mutirow and is never called
directly. That's why you dont see any \@xmultirow call in dblatex. This
macro has been transformed into a \long macro because it fails in some
cases.
So, for now it is best to apply your quick fix (which is the actual
fix). I know it is not really good to patch a package like this, but I
prefer using the current implementation with its improvements and just
patching it, than providing my own macro.
This said, I will try to retrieve the case that made \@xmultirow fail;
maybe that the current implementation is now robust to this case. Then
the \long patching could be removed.
Regards,
BG
Hi BenoƮt,
is the problematic paragraph labeled "% Make \@xmultirow long" in
dbk_table.sty *needed at all* within current dblatex? I can't find any
calls of the \@xmultirow macro within dblatex, and after commenting out
the paragraph a DocBook example with a table containing multirows still
is transformed to PDF without errors and looks as expected.
Eliminating this paragraph from dbk_table.sty seems to be cleaner, more
robust and future-proof than my previous hotfix candidate.
What do you think?
Regards, Andreas