Our port of dblatex has a problem where it relies on a private
internal Tex macro which has changed in current texlive versions.

Tyring to build a PDF with pdflatex, I am getting this error:

This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017-OpenBSD_Ports) 
(preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
pdflatex failed
/usr/local/share/dblatex/latex/style/dbk_table.sty:32: Use of \@xmultirow 
doesn't match its definition.
/usr/local/share/dblatex/latex/style/dbk_table.sty:32: leading text: 
\expandafter{\@xmultirow{
/usr/local/share/dblatex/latex/style/dbk_table.sty:32: Missing \begin{document}.
/usr/local/share/dblatex/latex/style/dbk_table.sty:32: leading text: 
\expandafter{\@xmultirow{#1}[
/usr/local/share/dblatex/latex/style/dbk_table.sty:32: You can't use `macro 
parameter character #' in horizontal mode.
/usr/local/share/dblatex/latex/style/dbk_table.sty:32: leading text: 
\expandafter{\@xmultirow{#1}[#
/usr/local/share/dblatex/latex/style/dbk_table.sty:32: You can't use `macro 
parameter character #' in horizontal mode.
/usr/local/share/dblatex/latex/style/dbk_table.sty:32: leading text: 
\expandafter{\@xmultirow{#1}[#2]{#
/usr/local/share/dblatex/latex/style/dbk_table.sty:32: You can't use `macro 
parameter character #' in horizontal mode.
/usr/local/share/dblatex/latex/style/dbk_table.sty:32: leading text: 
\expandafter{\@xmultirow{#1}[#2]{#3}[#
/usr/local/share/dblatex/latex/style/dbk_table.sty:32: You can't use `macro 
parameter character #' in horizontal mode.
/usr/local/share/dblatex/latex/style/dbk_table.sty:32: leading text: 
\expandafter{\@xmultirow{#1}[#2]{#3}[#4]{#
/usr/local/share/dblatex/latex/style/dbk_table.sty:32: Too many }'s.
/usr/local/share/dblatex/latex/style/dbk_table.sty:32: leading text: 
\expandafter{\@xmultirow{#1}[#2]{#3}[#4]{#5}}
Unexpected error occured

This problem was also seen in Debian some time ago:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=840189
The quick fix suggested in that bug report works for me.

Ideally, dblatex would be updated to a newer upstream version (we are
lagging behind about 7 years) but I don't have time for that right now.

OK for the quick fix?

Index: Makefile
===================================================================
RCS file: /cvs/ports/textproc/dblatex/Makefile,v
retrieving revision 1.14
diff -u -p -r1.14 Makefile
--- Makefile    10 Aug 2014 09:58:06 -0000      1.14
+++ Makefile    9 May 2018 11:03:08 -0000
@@ -2,7 +2,7 @@
 
 COMMENT =              convert DocBook to LaTeX, DVI, PostScript, and PDF
 DISTNAME =             dblatex-0.3
-REVISION =             8
+REVISION =             9
 CATEGORIES =           textproc
 
 # GPLv2+
Index: patches/patch-latex_style_dbk_table_sty
===================================================================
RCS file: patches/patch-latex_style_dbk_table_sty
diff -N patches/patch-latex_style_dbk_table_sty
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-latex_style_dbk_table_sty     9 May 2018 11:02:51 -0000
@@ -0,0 +1,31 @@
+$OpenBSD$
+Remove use of private internal macro; fixes compatibility problem with texlive
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=840189
+Index: latex/style/dbk_table.sty
+--- latex/style/dbk_table.sty.orig
++++ latex/style/dbk_table.sty
+@@ -9,7 +9,6 @@
+ \usepackage{longtable}
+ \usepackage{lscape}
+ \usepackage{colortbl}
+-\usepackage{multirow}
+ \usepackage{calc}
+ \usepackage{hhline}
+ 
+@@ -20,16 +19,6 @@
+ \expandafter\renewcommand\expandafter\multicolumn
+   \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%

Reply via email to