]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetCounter.cpp
Use LaTeXName of counter in LaTeX output.
[lyx.git] / src / insets / InsetCounter.cpp
index 015d458e62f417b6999760767a734500693c0c23..a43bc60662f435e249484bdc464c8bdf97fba7f5 100644 (file)
@@ -15,7 +15,6 @@
 #include "BufferParams.h"
 #include "Counters.h"
 #include "LaTeXFeatures.h"
-#include "OutputParams.h"
 #include "output_xhtml.h"
 #include "xml.h"
 #include "texstream.h"
@@ -97,31 +96,33 @@ void InsetCounter::latex(otexstream & os, OutputParams const &) const
                return;
 
        string const cmd = getCmdName();
-       docstring cntr = getParam("counter");
+       docstring const & cntr = getParam("counter");
        Counters & cnts = buffer().params().documentClass().counters();
+       docstring const & latexname = cnts.latexName(cntr);
+
        if (cmd == "set") {
                docstring const & val = getParam("value");
-               os << "\\setcounter{" << cntr << "}{" << val << "}";
+               os << "\\setcounter{" << latexname << "}{" << val << "}";
        } else if (cmd == "addto") {
                docstring const & val = getParam("value");
-               os << "\\addtocounter{" << cntr << "}{" << val << "}";
+               os << "\\addtocounter{" << latexname << "}{" << val << "}";
        } else if (cmd == "reset") {
-               os << "\\setcounter{" << cntr << "}{0}";
+               os << "\\setcounter{" << latexname << "}{0}";
        } else if (cmd == "save") {
                cnts.saveValue(cntr);
-               os << "\\setcounter{" << lyxSaveCounter() 
-                  << "}{\\value{" << cntr << "}}";
+               os << "\\setcounter{" << lyxSaveCounter()
+                  << "}{\\value{" << latexname << "}}";
        } else if (cmd == "restore") {
                cnts.restoreValue(cntr);
-               os << "\\setcounter{" << cntr
-                  << "{\\value{" << lyxSaveCounter() << "}}";
+               os << "\\setcounter{" << latexname
+                  << "}{\\value{" << lyxSaveCounter() << "}}";
        }
 }
 
 
 void InsetCounter::toString(odocstream & os) const
 {
-       os << "[Counter " << from_utf8(getCmdName()) << ": " 
+       os << "[Counter " << from_utf8(getCmdName()) << ": "
           <<  getParam("counter") << "]";
 }
 
@@ -184,7 +185,7 @@ void InsetCounter::trackCounters(string const & cmd) const
        }
 }
 
-void InsetCounter::docbook(odocstream &, OutputParams const &) const
+void InsetCounter::docbook(XMLStream &, OutputParams const &) const
 {
        // Here, we need to track counter values ourselves,
        // since unlike in the LaTeX case, there is no external
@@ -228,7 +229,7 @@ void InsetCounter::updateBuffer(ParIterator const &, UpdateType, bool const)
                screen_label_ = bformat(_("Counter: Add to %1$s"), guiname);
                tooltip_ = bformat(_("Add %1$s to value of counter %2$s"), val, cntr);
        } else if (cmd == "reset") {
-               cnts.reset(cntr);               
+               cnts.reset(cntr);
                screen_label_ = bformat(_("Counter: Reset %1$s"), guiname);
                tooltip_ = bformat(_("Reset value of counter %1$s"), cntr);
        } else if (cmd == "save") {
@@ -262,8 +263,8 @@ void InsetCounter::validate(LaTeXFeatures & features) const
 }
 
 
-string InsetCounter::contextMenuName() const 
-{ 
-       return "context-counter"; 
+string InsetCounter::contextMenuName() const
+{
+    return "context-counter";
 }
 } // namespace lyx