functions.reg_strip()
functions.reg_starts_white()
functions.reg_ends_white()
+functions.reg_texcommand()
STYLESHEETS = {
'wl2tex': 'xslt/wl2tex.xslt',
""" moves motifs to be into block elements """
for master in doc.xpath('//powiesc|//opowiadanie|//liryka_l|//liryka_lp|//dramat_wierszowany_l|//dramat_wierszowany_lp|//dramat_wspolczesny'):
for motif in master.xpath('motyw'):
- print motif.text
for sib in motif.itersiblings():
if sib.tag not in ('sekcja_swiatlo', 'sekcja_asterysk', 'separator_linia', 'begin', 'end', 'motyw', 'extra', 'uwaga'):
# motif shouldn't have a tail - it would be untagged text
return p == 0
-def transform(provider, slug=None, file_path=None, output_file=None, output_dir=None, make_dir=False, verbose=False, save_tex=None):
+def transform(provider, slug=None, file_path=None,
+ output_file=None, output_dir=None, make_dir=False, verbose=False, save_tex=None, morefloats=None):
""" produces a PDF file with XeLaTeX
provider: a DocProvider
make_dir: writes output to <output_dir>/<author>/<slug>.pdf istead of <output_dir>/<slug>.pdf
verbose: prints all output from LaTeX
save_tex: path to save the intermediary LaTeX file to
+ morefloats (old/new/none): force specific morefloats
"""
# Parse XSLT
document = load_including_children(provider, slug=slug)
# check for LaTeX packages
- if not package_available('morefloats', 'maxfloats=19'):
- # using old morefloats or none at all
- document.edoc.getroot().set('old-morefloats', 'yes')
+ if morefloats:
+ document.edoc.getroot().set('morefloats', morefloats.lower())
+ elif package_available('morefloats', 'maxfloats=19'):
+ document.edoc.getroot().set('morefloats', 'new')
# hack the tree
move_motifs_inside(document.edoc)