Ejemplo n.º 1
0
def init_module(parser, options, position):
    parms = parser.parms

    def add(parser, buf, mac, args, delim, pos):
        name = parser.get_text_expanded(args[1]).strip()
        if mac.name == '\\usepackage':
            for p in name.split(','):
                if p.strip():
                    packages.append(p.strip())
        else:
            documentclass[0] = name
        return []

    macros_python = [
        defs.Macro(parms, '\\documentclass', args='OA', repl=add),
        defs.Macro(parms, '\\usepackage', args='OA', repl=add),
    ]
    return defs.InitModule(macros_python=macros_python)
Ejemplo n.º 2
0
def init_module(parser, options):
    parms = parser.parms

    macros_python = [

        defs.Macro(parms, '\\xyz', args='OAA', repl=h_xyz)

    ]

    return defs.InitModule(macros_python=macros_python)
Ejemplo n.º 3
0
def test_2():
    parms = parameters.Parameters()
    parms.macro_defs_python.append(
        defs.Macro(parms,
                   '\\xxx',
                   args='OA',
                   repl='a#1b',
                   defaults=['X'],
                   extract='a#1b#2'))
    p = parser.Parser(parms)
    toks = p.parse(latex_2)
    plain, pos = utils.get_txt_pos(toks)
    assert plain_2 == plain
Ejemplo n.º 4
0
def test_1():
    parms = parameters.Parameters()
    parms.macro_defs_python.append(
        defs.Macro(parms, '\\xxx', args='*OA', repl='#3'))
    p = parser.Parser(parms)

    toks = p.parse(latex_1)
    plain, pos = utils.get_txt_pos(toks)
    assert plain_1_1 == plain

    toks = p.parse(latex_1, extract=['\\xxx'])
    plain, pos = utils.get_txt_pos(toks)
    assert plain_1_2 == plain
Ejemplo n.º 5
0
#
#   test of asterisk in macro definition
#

from yalafi import defs, parameters, parser, utils

parms = parameters.Parameters()
parms.macro_defs_python.append(
    defs.Macro(parms, '\\xxx', args='*OA', repl='#1.#2.#3'))
p = parser.Parser(parms)

latex_1 = r"""
\xxx
*
A
\xxx[B]{A}
"""
plain_1 = r"""
*..A
.B.A
"""


def test_1():
    toks = p.parse(latex_1)
    plain, pos = utils.get_txt_pos(toks)
    assert plain_1 == plain