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)
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)
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
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
# # 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