Bug#840189: dblatex fails in pdflatex: Use of \@xmultirow doesn't match its definition
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.guillonwrote: 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
Bug#840189: dblatex fails in pdflatex: Use of \@xmultirow doesn't match its definition
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 On Mon, 10 Oct 2016 11:41:02 +0200, Andreas Hoenenwrote: Andreas Hoenen wrote: Andreas Hoenen wrote: > Anders Kaseorg wrote: > > > Package: dblatex > > Version: 0.3.8-1 > > Severity: grave > > > > dblatex in sid fails on every document as follows: > > Hi Benoît, > > I want to notify you about Debian BTS report #840189 [1], indicating > that dblatex doesn't work together with the new version of multirow.sty > [2]: Hi Benoît, the attached hotfix [1] seems to resolve the incompatibility between dblatex and the new multirow.sty version. However avoiding to call the \@xmultirow macro if it an internal one would be a cleaner solution. 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
Bug#840189: dblatex fails in pdflatex: Use of \@xmultirow doesn't match its definition
Andreas Hoenenwrote: > Andreas Hoenen wrote: > > > Anders Kaseorg wrote: > > > > > Package: dblatex > > > Version: 0.3.8-1 > > > Severity: grave > > > > > > dblatex in sid fails on every document as follows: > > > > Hi Benoît, > > > > I want to notify you about Debian BTS report #840189 [1], indicating > > that dblatex doesn't work together with the new version of multirow.sty > > [2]: > > Hi Benoît, > > the attached hotfix [1] seems to resolve the incompatibility between > dblatex and the new multirow.sty version. > > However avoiding to call the \@xmultirow macro if it an internal one > would be a cleaner solution. > 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 -- Andreas Hoenen GPG: 1024D/B888D2CE A4A6 E8B5 593A E89B 496B 82F0 728D 8B7E B888 D2CE signature.asc Description: PGP signature
Processed: Re: Bug#840189: dblatex fails in pdflatex: Use of \@xmultirow doesn't match its definition
Processing control commands: > clone -1 -2 Bug #840189 [dblatex] dblatex fails in pdflatex: Use of \@xmultirow doesn't match its definition Bug 840189 cloned as bug 840229 > reassign -2 texlive-latex-extra 2016.20161008-1 Bug #840229 [dblatex] dblatex fails in pdflatex: Use of \@xmultirow doesn't match its definition Bug reassigned from package 'dblatex' to 'texlive-latex-extra'. No longer marked as found in versions dblatex/0.3.8-1. Ignoring request to alter fixed versions of bug #840229 to the same values previously set Bug #840229 [texlive-latex-extra] dblatex fails in pdflatex: Use of \@xmultirow doesn't match its definition Marked as found in versions texlive-extra/2016.20161008-1. > retitle -2 texlive-latex-extra should Breaks: dblatex (<< 0.3.8-2~) Bug #840229 [texlive-latex-extra] dblatex fails in pdflatex: Use of \@xmultirow doesn't match its definition Changed Bug title to 'texlive-latex-extra should Breaks: dblatex (<< 0.3.8-2~)' from 'dblatex fails in pdflatex: Use of \@xmultirow doesn't match its definition'. > severity -2 serious Bug #840229 [texlive-latex-extra] texlive-latex-extra should Breaks: dblatex (<< 0.3.8-2~) Severity set to 'serious' from 'grave' -- 840189: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=840189 840229: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=840229 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Bug#840189: dblatex fails in pdflatex: Use of \@xmultirow doesn't match its definition
Control: clone -1 -2 Control: reassign -2 texlive-latex-extra 2016.20161008-1 Control: retitle -2 texlive-latex-extra should Breaks: dblatex (<< 0.3.8-2~) Control: severity -2 serious Although it is not texlive-latex-extra’s fault that dblatex fails with the new version, I believe it should not enter testing without declaring this Breaks. If you disagree, feel free to downgrade or close this. Anders
Bug#840189: dblatex fails in pdflatex: Use of \@xmultirow doesn't match its definition
Andreas Hoenenwrote: > Anders Kaseorg wrote: > > > Package: dblatex > > Version: 0.3.8-1 > > Severity: grave > > > > dblatex in sid fails on every document as follows: > > Hi Benoît, > > I want to notify you about Debian BTS report #840189 [1], indicating > that dblatex doesn't work together with the new version of multirow.sty > [2]: Hi Benoît, the attached hotfix [1] seems to resolve the incompatibility between dblatex and the new multirow.sty version. However avoiding to call the \@xmultirow macro if it an internal one would be a cleaner solution. What do you think? [1] Author: Andreas Hoenen Description: hotfix for BTS report #840189: Adapt to signature change of \@xmultirow macro (between texlive-latex-extra versions 2016.20160819-1 and 2016.20161008-1). --- a/latex/style/dbk_table.sty +++ b/latex/style/dbk_table.sty @@ -24,12 +24,13 @@ % 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}} +\expandafter[\expandafter#\expandafter1\expandafter]% +\expandafter#\expandafter2% +\expandafter[\expandafter#\expandafter3\expandafter]% +\expandafter#\expandafter4% +\expandafter[\expandafter#\expandafter5\expandafter]% +\expandafter#\expandafter6% +\expandafter{\@xmultirow[#1]{#2}[#3]{#4}[#5]{#6}} % For the newtbl code \newdimen\newtblstarfactor% Regards, Andreas -- Andreas Hoenen GPG: 1024D/B888D2CE A4A6 E8B5 593A E89B 496B 82F0 728D 8B7E B888 D2CE signature.asc Description: PGP signature
Bug#840189: dblatex fails in pdflatex: Use of \@xmultirow doesn't match its definition
Package: dblatex Version: 0.3.8-1 Severity: grave dblatex in sid fails on every document as follows: $ echo 'Hello, world!' > hello.xml $ dblatex hello.xml Build the book set list... Build the listings... XSLT stylesheets DocBook - LaTeX 2e (0.3.8-1) === Build hello.pdf pdflatex failed /usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: Use of \@xmultirow doesn't match its definition. /usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: leading text: \expandafter{\@xmultirow{ /usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: Missing \begin{document}. /usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: leading text: \expandafter{\@xmultirow{#1}[ /usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: You can't use `macro parameter character #' in horizontal mode. /usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: leading text: \expandafter{\@xmultirow{#1}[# /usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: You can't use `macro parameter character #' in horizontal mode. /usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: leading text: \expandafter{\@xmultirow{#1}[#2]{# /usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: You can't use `macro parameter character #' in horizontal mode. /usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: leading text: \expandafter{\@xmultirow{#1}[#2]{#3}[# /usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: You can't use `macro parameter character #' in horizontal mode. /usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: leading text: \expandafter{\@xmultirow{#1}[#2]{#3}[#4]{# /usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: Too many }'s. /usr/share/texmf/tex/latex/dblatex/style/dbk_table.sty:32: leading text: \expandafter{\@xmultirow{#1}[#2]{#3}[#4]{#5}} Unexpected error occured Error: pdflatex compilation failed This causes openafs to FTBFS. The problem seems to have been triggered by texlive-latex-extra 2016.20161008-1, whose multirow.sty has a different \@xmultirow macro that takes six arguments rather than five. Downgrading to texlive-latex-extra 2016.20160819-1 from stretch makes the problem goes away. Since \@xmultirow is a private internal macro, dblatex should not rely on it.