示例#1
0
def begin_page_environment(stream, char_env, escape_env) :
    file = parse_one(stream, char_env, escape_env, [])
    try :
        file = file.eval({})
    except AttributeError :
        raise stream.failure("Page file name must not be parameterized.")
    if type(file) != StringToken :
        raise stream.failure("File name must be a string.")
    
    get_counter("page").increment()
    pageid = generate_id("page", get_counter("page"))
    escape_env["_curr_pageid"] = pageid
    add_counter("footnote")

    set_page_reference(escape_env, pageid, file.s)
    return (char_pretty_text,
            escape_env.extend({"_page_footnotes" : []}))
示例#2
0
    return (char_env, escape_env)
def end_quote_environment(char_env, escape_env, outer_token_env, out) :
    return (InhibitParagraphToken()+StringToken("<BLOCKQUOTE>") +
            ParagraphToken() + out + StringToken("</BLOCKQUOTE>\n"))
environment_handlers["quote"] = (begin_quote_environment, end_quote_environment)

def begin_abstract_environment(stream, char_env, escape_env) :
    return (char_env, escape_env)
def end_abstract_environment(char_env, escape_env, outer_token_env, out) :
    return (InhibitParagraphToken()+
            StringToken("<DIV CLASS=\"abstract\"><DIV CLASS=\"abstractcaption\">Abstract</DIV>") +
            ParagraphToken() + out + StringToken("</DIV>\n"))
environment_handlers["abstract"] = (begin_abstract_environment, end_abstract_environment)


add_counter("figure", "page")

def begin_figure_environment(stream, char_env, escape_env) :
    placement = read_bracket_args(stream, char_env, escape_env, [])
    newenv = escape_env.extend({})
    newenv["_figure_placement"] = placement
    return (char_env, newenv)
def end_figure_environment(char_env, escape_env, outer_token_env, out) :
    def _handler(env) :
        get_counter("figure").increment()
        id = generate_id("figure", get_counter("page"), get_counter("figure"))
        set_anchor_reference(outer_token_env, id, StringToken(str(counters_to_string("figure"))))
        p = escape_env["_figure_placement"].eval(env)
        if type(p) is not StringToken :
            p.fail("Figure placement must be a string.")
        o = (ParagraphToken() + InhibitParagraphToken() + get_anchor_by_id(id) + InhibitParagraphToken()