From: Uwe Stöhr Date: Thu, 7 Aug 2008 22:37:27 +0000 (+0000) Subject: lyx2lyx/lyx_1_6.py: fix bug 5137 and another bug X-Git-Tag: 1.6.10~3709 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=0b115f57dbd54d7691a36a5e74e34ba006c6bacc;p=features.git lyx2lyx/lyx_1_6.py: fix bug 5137 and another bug git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26094 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/lib/lyx2lyx/lyx_1_6.py b/lib/lyx2lyx/lyx_1_6.py index ad8365038a..fa99394da9 100644 --- a/lib/lyx2lyx/lyx_1_6.py +++ b/lib/lyx2lyx/lyx_1_6.py @@ -308,7 +308,7 @@ def latex2lyx(data): return retval -def lyx2latex(lines): +def lyx2latex(document, lines): 'Convert some LyX stuff into corresponding LaTeX stuff, as best we can.' # clean up multiline stuff content = "" @@ -352,12 +352,23 @@ def lyx2latex(lines): #skip all that stuff continue + # this needs to be added to the preamble because of cases like + # \textmu, \textbackslash, etc. + add_to_preamble(document, ['% added by lyx2lyx for converted index entries\n' + + '\\@ifundefined{textmu}\n' + + ' {\\usepackage{textcomp}}{}']) # a lossless reversion is not possible # try at least to handle some common insets and settings - # do not replace inside ERTs if ert_end >= curline: line = line.replace(r'\backslash', r'\\') else: + line = line.replace('&', '\\&{}') + line = line.replace('#', '\\#{}') + line = line.replace('^', '\\^{}') + line = line.replace('%', '\\%{}') + line = line.replace('_', '\\_{}') + line = line.replace('$', '\\${}') + # Do the LyX text --> LaTeX conversion for rep in reps: line = line.replace(rep[1], rep[0] + "{}") @@ -1083,7 +1094,7 @@ def revert_latexcommand_index(document): if j == -1: return - content = lyx2latex(document.body[i:j]) + content = lyx2latex(document, document.body[i:j]) # escape quotes content = content.replace('"', r'\"') document.body[i:j] = ["\\begin_inset CommandInset index", "LatexCommand index",