The branch, master, has been updated.

- Log -----------------------------------------------------------------

commit adb0d7f63f49fdb4cd14f89b02d9fe64a04d2070
Author: Uwe Stöhr <uwesto...@lyx.org>
Date:   Sun Jun 24 16:59:21 2012 +0200

    support synctex in tex2lyx.cpp
    
    - tex2lyx/Preamble.cpp/h: handle \synctex and package srcltx
    - tex2lyx/test/test-structure.tex: add \synctex

diff --git a/src/tex2lyx/Preamble.cpp b/src/tex2lyx/Preamble.cpp
index 5504c53..ad9b760 100644
--- a/src/tex2lyx/Preamble.cpp
+++ b/src/tex2lyx/Preamble.cpp
@@ -470,6 +470,7 @@ Preamble::Preamble() : one_language(true), 
title_layout_found(false)
        //h_options;
        h_output_changes          = "false";
        h_output_sync             = "0";
+       //h_output_sync_macro
        h_papercolumns            = "1";
        h_paperfontsize           = "default";
        h_paperorientation        = "portrait";
@@ -776,6 +777,15 @@ void Preamble::handle_package(Parser &p, string const & 
name,
                options.clear();
        }
 
+       else if (name == "srcltx") {
+               h_output_sync = "1";
+               if (!opts.empty()) {
+                       h_output_sync_macro = "\\usepackage[" + opts + 
"]{srcltx}";
+                       options.clear();
+               } else
+                       h_output_sync_macro = "\\usepackage{srcltx}";
+       }
+
        else if (is_known(name, known_old_language_packages)) {
                // known language packages from the times before babel
                // if they are found and not also babel, they will be used as
@@ -969,8 +979,10 @@ bool Preamble::writeLyXHeader(ostream & os, bool subdoc)
           << "\\font_tt_scale " << h_font_tt_scale << "\n\n"
           << "\\graphics " << h_graphics << "\n"
           << "\\default_output_format " << h_default_output_format << "\n"
-          << "\\output_sync " << h_output_sync << "\n"
-          << "\\bibtex_command " << h_bibtex_command << "\n"
+          << "\\output_sync " << h_output_sync << "\n";
+       if (h_output_sync == "1")
+               os << "\\output_sync_macro \"" << h_output_sync_macro << "\"\n";
+       os << "\\bibtex_command " << h_bibtex_command << "\n"
           << "\\index_command " << h_index_command << "\n";
        if (!h_float_placement.empty())
                os << "\\float_placement " << h_float_placement << "\n";
@@ -1451,6 +1463,19 @@ void Preamble::parse(Parser & p, string const & 
forceclass,
                else if (t.cs() == "setstretch")
                        h_spacing = "other " + p.verbatim_item();
 
+               else if (t.cs() == "synctex") {
+                       // the scheme is \synctex=value
+                       // where value can only be "1" or "-1"
+                       h_output_sync = "1";
+                       // there can be any character behind the value (e.g. a 
linebreak or a '\'
+                       // therefore we extract it char by char
+                       p.get_token();
+                       string value = p.get_token().asInput();
+                       if (value == "-")
+                               value += p.get_token().asInput();
+                       h_output_sync_macro = "\\synctex=" + value;
+               }
+
                else if (t.cs() == "begin") {
                        string const name = p.getArg('{', '}');
                        if (name == "document")
diff --git a/src/tex2lyx/Preamble.h b/src/tex2lyx/Preamble.h
index b9ab864..ba4ef31 100644
--- a/src/tex2lyx/Preamble.h
+++ b/src/tex2lyx/Preamble.h
@@ -124,6 +124,7 @@ private:
        std::string h_options;
        std::string h_output_changes;
        std::string h_output_sync;
+       std::string h_output_sync_macro;
        std::string h_papercolumns;
        std::string h_paperfontsize;
        std::string h_paperorientation;
diff --git a/src/tex2lyx/test/test-structure.tex 
b/src/tex2lyx/test/test-structure.tex
index 3cb6fc7..345750a 100644
--- a/src/tex2lyx/test/test-structure.tex
+++ b/src/tex2lyx/test/test-structure.tex
@@ -4,7 +4,7 @@
 \usepackage[latin9]{inputenc}
 \usepackage{color}
 \usepackage{rotfloat}
-\usepackage{wrapfig}
+\synctex=-1\usepackage{wrapfig}
 
 \makeatletter
 

-----------------------------------------------------------------------

Summary of changes:
 src/tex2lyx/Preamble.cpp            |   29 +++++++++++++++++++++++++++--
 src/tex2lyx/Preamble.h              |    1 +
 src/tex2lyx/test/test-structure.tex |    2 +-
 3 files changed, 29 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
The LyX Source Repository

Reply via email to