[Lxml-checkins] r54028 - in lxml/trunk: . doc
scoder at codespeak.net
scoder at codespeak.net
Wed Apr 23 07:15:11 CEST 2008
Author: scoder
Date: Wed Apr 23 07:15:11 2008
New Revision: 54028
Modified:
lxml/trunk/ (props changed)
lxml/trunk/doc/mklatex.py
Log:
r4028 at delle: sbehnel | 2008-04-22 23:30:05 +0200
PDF layout fixes
Modified: lxml/trunk/doc/mklatex.py
==============================================================================
--- lxml/trunk/doc/mklatex.py (original)
+++ lxml/trunk/doc/mklatex.py Wed Apr 23 07:15:11 2008
@@ -22,6 +22,30 @@
replace_invalid = re.compile(r'[-_/.\s\\]').sub
+# LaTeX snippets
+
+DOCUMENT_CLASS = r"""
+\documentclass[10pt,english]{report}
+\usepackage[a4paper]{geometry}
+\parindent0pt
+\parskip1ex
+"""
+
+PYGMENTS_IMPORT = r"""
+\usepackage{fancyvrb}
+\input{_part_pygments.tex}
+"""
+
+def write_chapter(master, title, outname):
+ master.write(r"""
+\chapter{%s}
+\label{_part_%s}
+\input{_part_%s}
+""".replace(' ', '') % (title, outname, outname))
+
+
+# the program ----
+
def rest2latex(script, source_path, dest_path):
command = ('%s %s %s %s > %s' %
(sys.executable, script, RST2LATEX_OPTIONS,
@@ -182,24 +206,18 @@
print "Building %s\n" % TARGET_FILE
master = file( os.path.join(dirname, TARGET_FILE), "w")
for hln in header:
- if hln.startswith("\\documentclass"):
+ if hln.startswith(r"\documentclass"):
#hln = hln.replace('article', 'book')
- hln = "\\documentclass[10pt,english]{book}\n\\usepackage[a4paper]{geometry}\n"
- elif hln.startswith("\\begin{document}"):
+ hln = DOCUMENT_CLASS
+ elif hln.startswith(r"\begin{document}"):
# pygments support
- master.write("\\usepackage{fancyvrb}\n")
- master.write("\\input{_part_pygments.tex}\n")
- elif hln.startswith("\\title{"):
+ master.write(PYGMENTS_IMPORT)
+ elif hln.startswith(r"\title{"):
hln = re.sub("\{[^\}]*\}", '{%s}' % book_title, hln)
master.write(hln)
master.write("\\tableofcontents\n\n")
- def write_chapter(title, outname):
- master.write(
- "\\chapter{%s}\n\\label{_part_%s}\n\n\\input{_part_%s}\n\n" % (
- title, outname, outname))
-
for section, text_files in SITE_STRUCTURE:
master.write("\\part{%s}\n\n" % section)
for filename in text_files:
@@ -213,11 +231,11 @@
basename = os.path.splitext(os.path.basename(filename))[0]
basename = BASENAME_MAP.get(basename, basename)
outname = basename + '.tex'
- write_chapter(titles[outname], outname)
+ write_chapter(master, titles[outname], outname)
- write_chapter("Changes", chgname)
+ write_chapter(master, "Changes", chgname)
- master.write("\end{document}\n")
+ master.write("\\end{document}\n")
if __name__ == '__main__':
publish(sys.argv[1], sys.argv[2], sys.argv[3])
More information about the lxml-checkins
mailing list