# HG changeset patch # User Bryan O'Sullivan # Date 1234249424 28800 # Node ID dbb4c40e2609f1d824eaa2595562c591c771b1ae # Parent b08f6a61bf154f3d1535756e0ca65ac1c6b03d24 Fix some awful infelicities by replacing them with worse ones diff -r b08f6a61bf15 -r dbb4c40e2609 tools/latex-to-docbook --- a/tools/latex-to-docbook Mon Feb 09 22:59:50 2009 -0800 +++ b/tools/latex-to-docbook Mon Feb 09 23:03:44 2009 -0800 @@ -16,21 +16,22 @@ 'codesample2': 'programlisting', 'codesample4': 'programlisting', 'enumerate': 'orderedlist', - 'figure': 'figure', + 'figure': 'informalfigure', 'itemize': 'itemizedlist', 'note': 'note', 'quote': 'blockquote', } def process(ifp, ofp): + print >> ofp, '\n' stack = [] para = True - inlist = False + inlist = 0 for line in ifp: if line.startswith('%%% Local Variables:'): break line = (line.rstrip() - .replace(' ', ' ') + .replace('~', ' ') .replace('&', '&') .replace('&emdash;', '&emdash;') .replace('\_', '_') @@ -41,8 +42,8 @@ .replace('\#', '#') .replace('<', '<') .replace('>', '>') - .replace('', '') - .replace("", '') + .replace('``', '') + .replace("''", '') .replace('\\', '\\')) line = re.sub(r'\s*\\(?:centering|small)\b\s*', '', line) line = re.sub(r'\\(?:hgrc\\|hgrc)\b', @@ -68,7 +69,7 @@ line = re.sub(r'\\hgcmd{(?P[^}]+)}', r'hg \g', line) line = re.sub(r'\\caption{(?P[^}]+?)}', - r'\g', line) + r'\g', line) line = re.sub(r'\\grafix{(?P[^}]+)}', r'XXX add text', line) line = re.sub(r'\\envar{(?P[^}]+)}', @@ -103,7 +104,7 @@ r'\g', line) line = re.sub(r'\\option{(?P[^}]+)}', r'', line) - line = re.sub(r'\\ref{(?P[^}]+)}', r'', line) + line = re.sub(r'\\ref{(?P[^}]+)}', r'', line) line = re.sub(r'\\emph{(?P[^}]+)}', r'\g', line) line = re.sub(r'\\texttt{(?P[^}]+)}', @@ -149,15 +150,20 @@ env = envs[env] if state == 'begin': ofp.write('<') - if env == 'itemizedlist': - inlist = True + if env in ('itemizedlist', 'orderedlist'): + inlist = 1 else: ofp.write('> ofp, env + '>' else: if line.startswith('\\item '): + if inlist > 1: + print >> ofp, '' + print >> ofp, '' + else: + inlist = 2 para = True line = line[6:] if line and para: @@ -173,7 +179,7 @@ print >> ofp, line while stack: print >> ofp, '' % stack.pop() - ofp.write('\n'.join(['