]> git.lyx.org Git - lyx.git/blobdiff - lib/lyx2lyx/lyx_1_6.py
Fix a bunch of backslashes.
[lyx.git] / lib / lyx2lyx / lyx_1_6.py
index 8c0e7469a35ff23e21dd3d165db85d2c01a554a6..976fb87d81fb940a256e372c6039905f57a0c77b 100644 (file)
@@ -837,18 +837,18 @@ def revert_latexcommand_index(document):
           # do not replace inside ERTs
           if ert_end < k:
               line = line.replace(u'ä', r'\\\"a').replace(u'ö', r'\\\"o').replace(u'ü', r'\\\"u')
-              line = line.replace(r'\backslash', r'\textbackslash{}')
-              line = line.replace(r'\series bold', r'\bfseries{}').replace(r'\series default', r'\mdseries{}')
-              line = line.replace(r'\shape italic', r'\itshape{}').replace(r'\shape smallcaps', r'\scshape{}')
-              line = line.replace(r'\shape slanted', r'\slshape{}').replace(r'\shape default', r'\upshape{}')
-              line = line.replace(r'\emph on', r'\em{}').replace(r'\emph default', r'\em{}')
-              line = line.replace(r'\noun on', r'\scshape{}').replace(r'\noun default', r'\upshape{}')
-              line = line.replace(r'\bar under', r'\underbar{').replace(r'\bar default', r'}')
-              line = line.replace(r'\family sans', r'\sffamily{}').replace(r'\family default', r'\normalfont{}')
-              line = line.replace(r'\family typewriter', r'\ttfamily{}').replace(r'\family roman', r'\rmfamily{}')
-              line = line.replace(r'\InsetSpace ', r'').replace(r'\SpecialChar ', r'')
+              line = line.replace(r'\\backslash', r'\\textbackslash{}')
+              line = line.replace(r'\\series bold', r'\\bfseries{}').replace(r'\\series default', r'\\mdseries{}')
+              line = line.replace(r'\\shape italic', r'\\itshape{}').replace(r'\\shape smallcaps', r'\\scshape{}')
+              line = line.replace(r'\\shape slanted', r'\\slshape{}').replace(r'\\shape default', r'\\upshape{}')
+              line = line.replace(r'\\emph on', r'\\em{}').replace(r'\\emph default', r'\\em{}')
+              line = line.replace(r'\\noun on', r'\\scshape{}').replace(r'\\noun default', r'\\upshape{}')
+              line = line.replace(r'\\bar under', r'\\underbar{').replace(r'\\bar default', r'}')
+              line = line.replace(r'\\family sans', r'\\sffamily{}').replace(r'\\family default', r'\\normalfont{}')
+              line = line.replace(r'\\family typewriter', r'\\ttfamily{}').replace(r'\\family roman', r'\\rmfamily{}')
+              line = line.replace(r'\\InsetSpace ', r'').replace(r'\\SpecialChar ', r'')
           else:
-              line = line.replace(r'\backslash', r'\\')
+              line = line.replace(r'\\backslash', r'\\')
           content = content + line;
         document.body[i + 3] = "name " + '"' + content + '"'
         for k in range(i + 4, j - 2):
@@ -1833,11 +1833,14 @@ def remove_extra_embedded_files(document):
 
 
 def convert_spaceinset(document):
-    " Convert '\\InsetSpace foo' to '\\begin_inset Space foo\n\\end_inset' "
-    for i in range(len(document.body)):
-        if re.search(r'\InsetSpace', document.body[i]):
-            document.body[i] = document.body[i].replace('\\InsetSpace', '\n\\begin_inset Space')
-            document.body[i] = document.body[i] + "\n\\end_inset"
+   " Convert '\\InsetSpace foo' to '\\begin_inset Space foo\n\\end_inset' "
+   for i in range(len(document.body)):
+       m = re.match(r'(.*)\\InsetSpace (.*)', document.body[i])
+       if m:
+           before = m.group(1)
+           after = m.group(2)
+           subst = [before, "\\begin_inset Space " + after, "\\end_inset"]
+           document.body[i: i+1] = subst
 
 
 def revert_spaceinset(document):
@@ -2229,7 +2232,7 @@ def revert_graphics_group(document):
 
 
 def update_apa_styles(document):
-    ' Replace obsolete styles'
+    ' Replace obsolete styles '
 
     if document.textclass != "apa":
         return
@@ -2252,6 +2255,54 @@ def update_apa_styles(document):
 
         i += 1
 
+
+def convert_paper_sizes(document):
+    ' exchange size options legalpaper and executivepaper to correct order '
+    # routine is needed to fix http://bugzilla.lyx.org/show_bug.cgi?id=4868
+    i = 0
+    j = 0
+    i = find_token(document.header, "\\papersize executivepaper", 0)
+    if i != -1:
+        document.header[i] = "\\papersize legalpaper"
+        return
+    j = find_token(document.header, "\\papersize legalpaper", 0)
+    if j != -1:
+        document.header[j] = "\\papersize executivepaper"
+
+
+def revert_paper_sizes(document):
+    ' exchange size options legalpaper and executivepaper to correct order '
+    i = 0
+    j = 0
+    i = find_token(document.header, "\\papersize executivepaper", 0)
+    if i != -1:
+        document.header[i] = "\\papersize legalpaper"
+        return
+    j = find_token(document.header, "\\papersize legalpaper", 0)
+    if j != -1:
+        document.header[j] = "\\papersize executivepaper"
+
+
+def convert_InsetSpace(document):
+    " Convert '\\begin_inset Space foo' to '\\begin_inset space foo'"
+    i = 0
+    while True:
+        i = find_token(document.body, "\\begin_inset Space", i)
+        if i == -1:
+            return
+        document.body[i] = document.body[i].replace('\\begin_inset Space', '\\begin_inset space')
+
+
+def revert_InsetSpace(document):
+    " Revert '\\begin_inset space foo' to '\\begin_inset Space foo'"
+    i = 0
+    while True:
+        i = find_token(document.body, "\\begin_inset space", i)
+        if i == -1:
+            return
+        document.body[i] = document.body[i].replace('\\begin_inset space', '\\begin_inset Space')
+
+
 ##
 # Conversion hub
 #
@@ -2314,9 +2365,13 @@ convert = [[277, [fix_wrong_tables]],
            [331, [convert_ltcaption]],
            [332, []],
            [333, [update_apa_styles]],
+           [334, [convert_paper_sizes]],
+           [335, [convert_InsetSpace]],
           ]
 
-revert =  [[332, []],
+revert =  [[334, [revert_InsetSpace]],
+           [333, [revert_paper_sizes]],
+           [332, []],
            [331, [revert_graphics_group]],
            [330, [revert_ltcaption]],
            [329, [revert_leftarrowfill, revert_rightarrowfill, revert_upbracefill, revert_downbracefill]],