Hello,

With my Debian Lenny, doc/fr/Userguide.lyx and doc/fr/EmbeddedObjects.lyx
compilations fail because character ":" is active in French. This is nowadays OK
with most packages, but not with varioref, which version here is the last one
according to CTAN:
    [2006/05/13 v1.4p package for extended references (FMi)]

A workaround found here:
http://www.tug.org/pipermail/texhax/2005-September/004687.html
consists in loading nameref before varioref.

The following patch implements this workaround:

--- ./src/LaTeXFeatures.cpp~    2009-08-25 17:08:18.000000000 +0200
+++ ./src/LaTeXFeatures.cpp     2009-08-25 18:19:30.000000000 +0200
@@ -474,6 +474,7 @@
        "latexsym",
        "pifont",
        // subfig is handled in BufferParams.cpp
+       "nameref",
        "varioref",
        "prettyref",
        /*For a successful cooperation of the `wrapfig' package with the
--- ./src/insets/InsetRef.cpp~  2009-08-25 17:08:03.000000000 +0200
+++ ./src/insets/InsetRef.cpp   2009-08-25 18:26:15.000000000 +0200
@@ -158,8 +158,12 @@

 void InsetRef::validate(LaTeXFeatures & features) const
 {
-       if (getCmdName() == "vref" || getCmdName() == "vpageref")
+  if (getCmdName() == "vref" || getCmdName() == "vpageref") {
+    // nameref added to cope with char ":" in labels
+    // (":" is active in French, creates an error with varioref)
+               features.require("nameref");
                features.require("varioref");
+  }
        else if (getCmdName() == "prettyref")
                features.require("prettyref");
        else if (getCmdName() == "eqref")
--- ./src/mathed/InsetMathRef.cpp~      2008-06-16 03:21:17.000000000 +0200
+++ ./src/mathed/InsetMathRef.cpp       2009-08-25 18:31:22.000000000 +0200
@@ -143,8 +143,12 @@

 void InsetMathRef::validate(LaTeXFeatures & features) const
 {
-       if (commandname() == "vref" || commandname() == "vpageref")
+  if (commandname() == "vref" || commandname() == "vpageref") {
+    // nameref added to cope with char ":" in labels
+    // (":" is active in French, creates an error with varioref)
+               features.require("nameref");
                features.require("varioref");
+  }
        else if (commandname() == "prettyref")
                features.require("prettyref");
        else if (commandname() == "eqref")


Successful compilation of both docs is restored.

Sorry for solving this issus just after 1.6.4 is out...

-- 
Jean-Pierre


Reply via email to