#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
""" Convert files to the file format generated by lyx 1.6"""
"theight%":"\\backslash\ntextheight", "pheight%":"\\backslash\npageheight"}
# Convert LyX units to LaTeX units
- for unit in units.keys():
+ for unit in list(units.keys()):
if len.find(unit) != -1:
len = '%f' % (len2value(len) / 100)
len = len.strip('0') + units[unit]
return l
+# FIXME: Use the version in unicode_symbols.py which has some bug fixes
def read_unicodesymbols():
" Read the unicodesymbols list of unicode characters and corresponding commands."
pathname = os.path.abspath(os.path.dirname(sys.argv[0]))
j = find_end_of_inset(document.body, i + 1)
if j == -1:
document.warning("Malformed LyX document: Could not find end of tabular.")
+ i += 1
continue
nrows = int(document.body[i+1].split('"')[3])
j = find_end_of_inset(document.body, i + 1)
if j == -1:
document.warning("Malformed LyX document: Could not find end of tabular.")
+ i += 1
continue
m = i + 1
j = find_end_of_inset(document.body, i + 1)
if j == -1:
document.warning("Malformed LyX document: Could not find end of tabular.")
+ i += 1
continue
m = i + 1
document.body[i] = document.body[i].replace('\\begin_inset CharStyle', '\\begin_inset Flex')
def revert_flex(document):
- "Revert Flex to Charstyle"
+ "Revert Flex to CharStyle"
i = 0
while True:
i = find_token(document.body, "\\begin_inset Flex", i)
if j == -1:
# should not happen
document.warning("Malformed LyX document: Could not find end of graphics inset.")
+ i += 1
+ continue
# If there's a inzip param, just remove that
k = find_token(document.body, "\tinzipName", i + 1, j)
if k != -1:
if j == -1:
# should not happen
document.warning("Malformed LyX document: Could not find end of Info inset.")
+ i += 1
+ continue
type = 'unknown'
arg = ''
for k in range(i, j+1):
"Remove TeX code command \global when it is in front of a macro"
# math macros are nowadays already defined \global, so that an additional
# \global would make the document uncompilable, see
- # http://bugzilla.lyx.org/show_bug.cgi?id=5371
+ # http://www.lyx.org/trac/ticket/5371
# We're looking for something like this:
# \begin_inset ERT
# status collapsed
return
newmodlist = []
for mod in modlist:
- if modulemap.has_key(mod):
+ if mod in modulemap:
newmodlist.append(modulemap[mod])
else:
document.warning("Can't find module %s in the module map!" % mod)
if j == -1:
# should not happen
document.warning("Malformed LyX document: Could not find end of Box inset.")
+ i += 1
+ continue
k = find_token(document.body, "status", i + 1, j)
if k == -1:
document.warning("Malformed LyX document: Missing `status' tag in Box inset.")
- return
+ i = j
+ continue
status = document.body[k]
l = find_default_layout(document, i + 1, j)
if l == -1:
document.warning("Malformed LyX document: Missing `\\begin_layout' in Box inset.")
- return
+ i = j
+ continue
m = find_token(document.body, "\\end_layout", i + 1, j)
if m == -1:
document.warning("Malformed LyX document: Missing `\\end_layout' in Box inset.")
- return
+ i = j
+ continue
ibox = find_token(document.body, "has_inner_box 1", i + 1, k)
pbox = find_token(document.body, "use_parbox 1", i + 1, k)
if ibox == -1 and pbox == -1:
j = find_token(document.header, "\\use_amsmath", 0)
if j == -1:
document.warning("Malformed LyX document: Missing '\\use_amsmath'.")
- return
+ i += 1
+ continue
document.header[j] = "\\use_amsmath 2"
else:
i = i + 1
l = find_default_layout(document, i + 1, j)
if l == -1:
document.warning("Malformed LyX document: Missing `\\begin_layout' in Float inset.")
- return
+ i = j
+ continue
subst = ['\\begin_layout Standard',
'\\begin_inset ERT',
'status collapsed', '',
l = find_default_layout(document, i + 1, j)
if l == -1:
document.warning("Malformed LyX document: Missing `\\begin_layout' in Float inset.")
- return
+ i = j
+ continue
subst = ['\\begin_layout Standard', '\\begin_inset ERT',
'status collapsed', '',
'\\begin_layout Standard', '', '', '\\backslash',
if opt != -1:
optend = find_end_of_inset(document.body, opt)
if optend == -1:
- document.warning("Malformed lyx document: Missing '\\end_inset' (OptArg).")
+ document.warning("Malformed LyX document: Missing '\\end_inset' (OptArg).")
return
optc = find_default_layout(document, opt, optend)
if optc == -1:
j = find_end_of_inset(document.body, i)
if j == -1:
document.warning("Malformed LyX document: Could not find end of space inset.")
+ i += 1
continue
document.body[i] = document.body[i].replace('\\begin_inset Space', '\\InsetSpace')
del document.body[j]
j = find_end_of_inset(document.body, i)
if j == -1:
document.warning("Malformed LyX document: Could not find end of space inset.")
+ i += 1
continue
del document.body[j]
subst = document.body[i].replace('\\begin_inset Space \\hspace*{\\fill}', \
j = find_end_of_inset(document.body, i)
if j == -1:
document.warning("Malformed LyX document: Could not find end of space inset.")
+ i += 1
continue
del document.body[j]
subst = document.body[i].replace('\\begin_inset Space \\leftarrowfill{}', \
j = find_end_of_inset(document.body, i)
if j == -1:
document.warning("Malformed LyX document: Could not find end of space inset.")
+ i += 1
continue
del document.body[j]
subst = document.body[i].replace('\\begin_inset Space \\rightarrowfill{}', \
j = find_end_of_inset(document.body, i)
if j == -1:
document.warning("Malformed LyX document: Could not find end of space inset.")
+ i += 1
continue
del document.body[j]
subst = document.body[i].replace('\\begin_inset Space \\upbracefill{}', \
j = find_end_of_inset(document.body, i)
if j == -1:
document.warning("Malformed LyX document: Could not find end of space inset.")
+ i += 1
continue
del document.body[j]
subst = document.body[i].replace('\\begin_inset Space \\downbracefill{}', \
j = find_end_of_inset(document.body, i)
if j == -1:
document.warning("Malformed LyX document: Could not find end of Newpage inset.")
+ i += 1
continue
del document.body[j]
document.body[i] = document.body[i].replace('\\begin_inset Newpage newpage', '\\newpage')
j = find_end_of_inset(document.body, i)
if j == -1:
document.warning("Malformed LyX document: Could not find end of Newline inset.")
+ i += 1
continue
del document.body[j]
document.body[i] = document.body[i].replace('\\begin_inset Newline newline', '\\newline')
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
+ # routine is needed to fix http://www.lyx.org/trac/ticket/4868
i = 0
j = 0
i = find_token(document.header, "\\papersize executivepaper", 0)