]> git.lyx.org Git - lyx.git/blobdiff - lib/lyx2lyx/lyx_2_1.py
apa.lyx: fixed weblink
[lyx.git] / lib / lyx2lyx / lyx_2_1.py
index ce0ff226f465499b30cd8e5723744db97fb7a393..a1512d855eece070971fd02e2fbfaebb2f7635fa 100644 (file)
@@ -837,9 +837,10 @@ def revert_libertine(document):
                 osf = True
             preamble = "\\usepackage"
             if osf:
-                preamble += "[osf]"
                 document.header[j] = "\\font_osf false"
-            preamble += "{libertine}"
+            else:
+                preamble += "[lining]"
+            preamble += "{libertine-type1}"
             add_to_preamble(document, [preamble])
             document.header[i] = "\\font_roman default"
 
@@ -983,7 +984,140 @@ def revert_ipachar(document):
             i = i + 1
     if found:
         add_to_preamble(document, "\\usepackage{tone}")
-    
+
+
+def revert_minionpro(document):
+    " Revert native MinionPro font definition to LaTeX " 
+
+    if find_token(document.header, "\\use_non_tex_fonts false", 0) != -1: 
+        i = find_token(document.header, "\\font_roman minionpro", 0)
+        if i != -1:
+            osf = False
+            j = find_token(document.header, "\\font_osf true", 0)
+            if j != -1:
+                osf = True
+            preamble = "\\usepackage"
+            if osf:
+                document.header[j] = "\\font_osf false"
+            else:
+                preamble += "[lf]"
+            preamble += "{MinionPro}"
+            add_to_preamble(document, [preamble])
+            document.header[i] = "\\font_roman default"
+
+
+def revert_mathfonts(document):
+    " Revert native math font definitions to LaTeX " 
+
+    i = find_token(document.header, "\\font_math", 0)
+    if i == -1:
+       return
+    if find_token(document.header, "\\use_non_tex_fonts false", 0) != -1: 
+        val = get_value(document.header, "\\font_math", i)
+        if val == "eulervm":
+            add_to_preamble(document, "\\usepackage{eulervm}")
+        elif val == "default":
+            mathfont_dict = {
+            "lmodern":  "\\renewcommand{\\rmdefault}{lmr}",
+            "minionpro":  "\\usepackage[onlytext,lf]{MinionPro}",
+            "minionpro-osf":  "\\usepackage[onlytext]{MinionPro}",
+            "palatino":  "\\renewcommand{\\rmdefault}{ppl}",
+            "palatino-osf":  "\\renewcommand{\\rmdefault}{pplj}",
+            "times":  "\\renewcommand{\\rmdefault}{ptm}",
+            "utopia":  "\\renewcommand{\\rmdefault}{futs}",
+            "utopia-osf":  "\\renewcommand{\\rmdefault}{futj}",
+            }
+            j = find_token(document.header, "\\font_roman", 0)
+            if j != -1:
+                rm = get_value(document.header, "\\font_roman", j)
+                k = find_token(document.header, "\\font_osf true", 0)
+                if k != -1:
+                    rm += "-osf"
+                if rm in mathfont_dict.keys():
+                    add_to_preamble(document, mathfont_dict[rm])
+                    document.header[j] = "\\font_roman default"
+                    if k != -1:
+                        document.header[k] = "\\font_osf false"
+    del document.header[i]
+
+
+def revert_mdnomath(document):
+    " Revert mathdesign and fourier without math " 
+
+    if find_token(document.header, "\\use_non_tex_fonts false", 0) != -1: 
+        mathdesign_dict = {
+        "md-charter": "mdbch",
+        "md-utopia": "mdput",
+        "md-garamond": "mdugm"
+        }
+        i = find_token(document.header, "\\font_roman", 0)
+        if i == -1:
+            return
+        val = get_value(document.header, "\\font_roman", i)
+        if val in mathdesign_dict.keys():
+            j = find_token(document.header, "\\font_math", 0)
+            if j == -1:
+                document.header[i] = "\\font_roman %s" % mathdesign_dict[val]
+            mval = get_value(document.header, "\\font_math", j)
+            if mval == "default":
+                document.header[i] = "\\font_roman default"
+                add_to_preamble(document, "\\renewcommand{\\rmdefault}{%s}" % mathdesign_dict[val])
+            else:
+                document.header[i] = "\\font_roman %s" % mathdesign_dict[val]
+
+
+def convert_mdnomath(document):
+    " Change mathdesign font name " 
+
+    if find_token(document.header, "\\use_non_tex_fonts false", 0) != -1: 
+        mathdesign_dict = {
+        "mdbch":  "md-charter",
+        "mdput":  "md-utopia",
+        "mdugm":  "md-garamond"
+        }
+        i = find_token(document.header, "\\font_roman", 0)
+        if i == -1:
+            return
+        val = get_value(document.header, "\\font_roman", i)
+        if val in mathdesign_dict.keys():
+             document.header[i] = "\\font_roman %s" % mathdesign_dict[val]
+
+
+def revert_newtxmath(document):
+    " Revert native newtxmath definitions to LaTeX " 
+
+    i = find_token(document.header, "\\font_math", 0)
+    if i == -1:
+       return
+    if find_token(document.header, "\\use_non_tex_fonts false", 0) != -1: 
+        val = get_value(document.header, "\\font_math", i)
+        mathfont_dict = {
+        "libertine-ntxm":  "\\usepackage[libertine]{newtxmath}",
+        "minion-ntxm":  "\\usepackage[minion]{newtxmath}",
+        "newtxmath":  "\\usepackage{newtxmath}",
+        }
+        if val in mathfont_dict.keys():
+            add_to_preamble(document, mathfont_dict[val])
+            document.header[i] = "\\font_math auto"
+
+
+def revert_biolinum(document):
+    " Revert native biolinum font definition to LaTeX " 
+
+    if find_token(document.header, "\\use_non_tex_fonts false", 0) != -1: 
+        i = find_token(document.header, "\\font_sans biolinum", 0)
+        if i != -1:
+            osf = False
+            j = find_token(document.header, "\\font_osf true", 0)
+            if j != -1:
+                osf = True
+            preamble = "\\usepackage"
+            if not osf:
+                preamble += "[lf]"
+            preamble += "{biolinum-type1}"
+            add_to_preamble(document, [preamble])
+            document.header[i] = "\\font_sans default"
+
 
 ##
 # Conversion hub
@@ -1015,10 +1149,22 @@ convert = [
            [435, []],
            [436, []],
            [437, []],
-           [438, []]
+           [438, []],
+           [439, []],
+           [440, []],
+           [441, [convert_mdnomath]],
+           [442, []],
+           [443, []],
+           [444, []]
           ]
 
 revert =  [
+           [443, [revert_biolinum]],
+           [442, []],
+           [441, [revert_newtxmath]],
+           [440, [revert_mdnomath]],
+           [439, [revert_mathfonts]],
+           [438, [revert_minionpro]],
            [437, [revert_ipadeco, revert_ipachar]],
            [436, [revert_texgyre]],
            [435, [revert_mathdesign]],