diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2009-07-10 12:09:58 +0000 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2009-07-10 12:09:58 +0000 |
commit | 46db02a5e3d1cd1c1d0d5f1d313e01e0497dee74 (patch) | |
tree | 42a3e012c8c0f9db7b55edd210178d4c1c3816dc /pkgs | |
parent | 22557d5e1f35b9825f2217d2e63aed4d7ef04439 (diff) | |
download | nixlib-46db02a5e3d1cd1c1d0d5f1d313e01e0497dee74.tar nixlib-46db02a5e3d1cd1c1d0d5f1d313e01e0497dee74.tar.gz nixlib-46db02a5e3d1cd1c1d0d5f1d313e01e0497dee74.tar.bz2 nixlib-46db02a5e3d1cd1c1d0d5f1d313e01e0497dee74.tar.lz nixlib-46db02a5e3d1cd1c1d0d5f1d313e01e0497dee74.tar.xz nixlib-46db02a5e3d1cd1c1d0d5f1d313e01e0497dee74.tar.zst nixlib-46db02a5e3d1cd1c1d0d5f1d313e01e0497dee74.zip |
* Fix xrefs and callouts that refer to xml:ids (rather than ids).
Will send upstream. svn path=/nixpkgs/trunk/; revision=16312
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/misc/tex/dblatex/default.nix | 7 | ||||
-rw-r--r-- | pkgs/misc/tex/dblatex/xmlid.patch | 253 |
2 files changed, 259 insertions, 1 deletions
diff --git a/pkgs/misc/tex/dblatex/default.nix b/pkgs/misc/tex/dblatex/default.nix index 9044121b725c..56770dfa73c4 100644 --- a/pkgs/misc/tex/dblatex/default.nix +++ b/pkgs/misc/tex/dblatex/default.nix @@ -2,12 +2,17 @@ stdenv.mkDerivation rec { name = "dblatex-0.2.11"; - + src = fetchurl { url = "mirror://sourceforge/dblatex/${name}.tar.bz2"; sha256 = "cc1bd2c1aca5f6d03ef8516437321f75eba604d2067efe65f2d07815f56f7205"; }; + patches = + [ # Fix xrefs and callouts that refer to xml:ids (rather than ids). + ./xmlid.patch + ]; + buildPhase = "true"; installPhase = " diff --git a/pkgs/misc/tex/dblatex/xmlid.patch b/pkgs/misc/tex/dblatex/xmlid.patch new file mode 100644 index 000000000000..7c8e5b702184 --- /dev/null +++ b/pkgs/misc/tex/dblatex/xmlid.patch @@ -0,0 +1,253 @@ +diff -rc dblatex-0.2.11-orig/xsl/callout.xsl dblatex-0.2.11/xsl/callout.xsl +*** dblatex-0.2.11-orig/xsl/callout.xsl 2009-06-21 21:53:58.000000000 +0200 +--- dblatex-0.2.11/xsl/callout.xsl 2009-07-10 13:31:50.000000000 +0200 +*************** +*** 60,66 **** + <!-- Cannot use directly id() because it must work on several RTF --> + <!-- The element is also searched in the root tree for things stripped + in the RTF, like <areaset>s --> +! <xsl:variable name="coitem" select="($rnode//*[@id=$ref]|//*[@id=$ref])[1]"/> + <xsl:apply-templates select="$coitem" mode="coref.link"> + <xsl:with-param name="circled" select="$circled"/> + <xsl:with-param name="from" select="local-name(.)"/> +--- 60,66 ---- + <!-- Cannot use directly id() because it must work on several RTF --> + <!-- The element is also searched in the root tree for things stripped + in the RTF, like <areaset>s --> +! <xsl:variable name="coitem" select="($rnode//*[(@id|@xml:id)=$ref]|//*[(@id|@xml:id)=$ref])[1]"/> + <xsl:apply-templates select="$coitem" mode="coref.link"> + <xsl:with-param name="circled" select="$circled"/> + <xsl:with-param name="from" select="local-name(.)"/> +*************** +*** 102,108 **** + </xsl:when> + <xsl:otherwise> + <xsl:text>\hyperref[</xsl:text> +! <xsl:value-of select="@id"/> + <xsl:text>]{</xsl:text> + <xsl:value-of select="$markup"/> + <xsl:text>}</xsl:text> +--- 102,108 ---- + </xsl:when> + <xsl:otherwise> + <xsl:text>\hyperref[</xsl:text> +! <xsl:value-of select="@id|@xml:id"/> + <xsl:text>]{</xsl:text> + <xsl:value-of select="$markup"/> + <xsl:text>}</xsl:text> +*************** +*** 177,193 **** + <xsl:value-of select="$co-tagin"/> + <xsl:choose> + <xsl:when test="$co-hide != 0"> +! <xsl:if test="@id"> + <xsl:text>\colabel{</xsl:text> +! <xsl:value-of select="@id"/> + <xsl:text>}</xsl:text> + </xsl:if> + </xsl:when> +! <xsl:when test="@id"> + <xsl:text>\coref{</xsl:text> + <xsl:value-of select="$conum"/> + <xsl:text>}{</xsl:text> +! <xsl:value-of select="@id"/> + <xsl:text>}</xsl:text> + </xsl:when> + <xsl:otherwise> +--- 177,193 ---- + <xsl:value-of select="$co-tagin"/> + <xsl:choose> + <xsl:when test="$co-hide != 0"> +! <xsl:if test="@id|@xml:id"> + <xsl:text>\colabel{</xsl:text> +! <xsl:value-of select="@id|@xml:id"/> + <xsl:text>}</xsl:text> + </xsl:if> + </xsl:when> +! <xsl:when test="@id|@xml:id"> + <xsl:text>\coref{</xsl:text> + <xsl:value-of select="$conum"/> + <xsl:text>}{</xsl:text> +! <xsl:value-of select="@id|@xml:id"/> + <xsl:text>}</xsl:text> + </xsl:when> + <xsl:otherwise> +*************** +*** 208,214 **** + <xsl:param name="rnode" select="/"/> + <xsl:param name="co-tagin" select="'<:'"/> + <xsl:param name="co-tagout" select="$co.tagout"/> +! <xsl:variable name="co" select="$rnode//*[@id=current()/@linkend]"/> + + <xsl:choose> + <xsl:when test="$co"> +--- 208,214 ---- + <xsl:param name="rnode" select="/"/> + <xsl:param name="co-tagin" select="'<:'"/> + <xsl:param name="co-tagout" select="$co.tagout"/> +! <xsl:variable name="co" select="$rnode//*[(@id|@xml:id)=current()/@linkend]"/> + + <xsl:choose> + <xsl:when test="$co"> +*************** +*** 265,273 **** + <xsl:with-param name="rnode" select="$rnode"/> + </xsl:call-template> + <xsl:text>}]</xsl:text> +! <xsl:if test="@id and $co.linkends.show='1'"> + <xsl:text>\collabel{</xsl:text> +! <xsl:value-of select="@id"/> + <xsl:text>}</xsl:text> + </xsl:if> + <xsl:apply-templates/> +--- 265,273 ---- + <xsl:with-param name="rnode" select="$rnode"/> + </xsl:call-template> + <xsl:text>}]</xsl:text> +! <xsl:if test="(@id|@xml:id) and $co.linkends.show='1'"> + <xsl:text>\collabel{</xsl:text> +! <xsl:value-of select="@id|@xml:id"/> + <xsl:text>}</xsl:text> + </xsl:if> + <xsl:apply-templates/> +diff -rc dblatex-0.2.11-orig/xsl/xref.xsl dblatex-0.2.11/xsl/xref.xsl +*** dblatex-0.2.11-orig/xsl/xref.xsl 2009-06-21 21:53:58.000000000 +0200 +--- dblatex-0.2.11/xsl/xref.xsl 2009-07-10 13:20:18.000000000 +0200 +*************** +*** 523,529 **** + + <xsl:call-template name="hyperlink.markup"> + <xsl:with-param name="referrer" select="$referrer"/> +! <xsl:with-param name="linkend" select="@id"/> + <xsl:with-param name="text"> + <xsl:apply-templates + select="(refmeta/refentrytitle|refnamediv/refname[1])[1]" +--- 523,529 ---- + + <xsl:call-template name="hyperlink.markup"> + <xsl:with-param name="referrer" select="$referrer"/> +! <xsl:with-param name="linkend" select="@id|@xml:id"/> + <xsl:with-param name="text"> + <xsl:apply-templates + select="(refmeta/refentrytitle|refnamediv/refname[1])[1]" +*************** +*** 538,544 **** + + <xsl:call-template name="hyperlink.markup"> + <xsl:with-param name="referrer" select="$referrer"/> +! <xsl:with-param name="linkend" select="@id"/> + <xsl:with-param name="text"> + <xsl:apply-templates select="refname[1]" mode="xref.text"/> + </xsl:with-param> +--- 538,544 ---- + + <xsl:call-template name="hyperlink.markup"> + <xsl:with-param name="referrer" select="$referrer"/> +! <xsl:with-param name="linkend" select="@id|@xml:id"/> + <xsl:with-param name="text"> + <xsl:apply-templates select="refname[1]" mode="xref.text"/> + </xsl:with-param> +*************** +*** 550,556 **** + + <xsl:call-template name="hyperlink.markup"> + <xsl:with-param name="referrer" select="$referrer"/> +! <xsl:with-param name="linkend" select="@id"/> + <xsl:with-param name="text"> + <xsl:choose> + <xsl:when test="local-name(.)='term'"> +--- 550,556 ---- + + <xsl:call-template name="hyperlink.markup"> + <xsl:with-param name="referrer" select="$referrer"/> +! <xsl:with-param name="linkend" select="@id|@xml:id"/> + <xsl:with-param name="text"> + <xsl:choose> + <xsl:when test="local-name(.)='term'"> +*************** +*** 575,581 **** + + <xsl:call-template name="hyperlink.markup"> + <xsl:with-param name="referrer" select="$referrer"/> +! <xsl:with-param name="linkend" select="@id"/> + <xsl:with-param name="text"> + <xsl:call-template name="inline.italicseq"> + <xsl:with-param name="content"> +--- 575,581 ---- + + <xsl:call-template name="hyperlink.markup"> + <xsl:with-param name="referrer" select="$referrer"/> +! <xsl:with-param name="linkend" select="@id|@xml:id"/> + <xsl:with-param name="text"> + <xsl:call-template name="inline.italicseq"> + <xsl:with-param name="content"> +*************** +*** 658,664 **** + + <xsl:template match="co" mode="xref-to"> + <xsl:call-template name="coref.link.create"> +! <xsl:with-param name="ref" select="@id"/> + <xsl:with-param name="circled" select="1"/> + </xsl:call-template> + </xsl:template> +--- 658,664 ---- + + <xsl:template match="co" mode="xref-to"> + <xsl:call-template name="coref.link.create"> +! <xsl:with-param name="ref" select="@id|@xml:id"/> + <xsl:with-param name="circled" select="1"/> + </xsl:call-template> + </xsl:template> +*************** +*** 897,921 **** + <xsl:template match="part|chapter|appendix| + sect1|sect2|sect3|sect4|sect5|section" mode="label.markup"> + <xsl:text>\ref{</xsl:text> +! <xsl:value-of select="@id"/> + <xsl:text>}</xsl:text> + </xsl:template> + + <xsl:template match="figure|example|table|equation" mode="label.markup"> + <xsl:text>\ref{</xsl:text> +! <xsl:value-of select="@id"/> + <xsl:text>}</xsl:text> + </xsl:template> + + <xsl:template match="step" mode="label.markup"> + <xsl:text>\ref{</xsl:text> +! <xsl:value-of select="@id"/> + <xsl:text>}</xsl:text> + </xsl:template> + + <xsl:template match="*" mode="pagenumber.markup"> + <xsl:text>\pageref{</xsl:text> +! <xsl:value-of select="@id"/> + <xsl:text>}</xsl:text> + </xsl:template> + +--- 897,921 ---- + <xsl:template match="part|chapter|appendix| + sect1|sect2|sect3|sect4|sect5|section" mode="label.markup"> + <xsl:text>\ref{</xsl:text> +! <xsl:value-of select="@id|@xml:id"/> + <xsl:text>}</xsl:text> + </xsl:template> + + <xsl:template match="figure|example|table|equation" mode="label.markup"> + <xsl:text>\ref{</xsl:text> +! <xsl:value-of select="@id|@xml:id"/> + <xsl:text>}</xsl:text> + </xsl:template> + + <xsl:template match="step" mode="label.markup"> + <xsl:text>\ref{</xsl:text> +! <xsl:value-of select="@id|@xml:id"/> + <xsl:text>}</xsl:text> + </xsl:template> + + <xsl:template match="*" mode="pagenumber.markup"> + <xsl:text>\pageref{</xsl:text> +! <xsl:value-of select="@id|@xml:id"/> + <xsl:text>}</xsl:text> + </xsl:template> + |