diff --git a/gen_seq_diag.py b/gen_seq_diag.py index 9e829a91d4fc36dde22676c6c2106ce424b0ffd3..6eb1d5c4d6a896c39901d1e81f661298eac93281 100755 --- a/gen_seq_diag.py +++ b/gen_seq_diag.py @@ -16,6 +16,8 @@ iden = 4 * ' ' # tree trees = [] +def escapeLatex(inp): + return inp.replace("%", "\\%").replace("#", "\\#") def fetch_file(p): with open(p, 'r', encoding='utf-8') as f: @@ -204,7 +206,7 @@ class Call(Stmt): ctx.args.append(args) ctx.append(lvl, '\\begin{umlcall}' + '[' + - f'op={{{call.member}({args_str})}},' + + f'op={{{call.member}({escapeLatex(args_str)})}},' + f'return={{{ret}}},' + f'dt=7' + ']' + @@ -503,7 +505,7 @@ def main(): args_str = latex_escape(', '.join( [p[1] for p in types[spec_type].methods[spec_method].params])) - print(f'\\begin{{umlcall}}[op={{{spec_method}({args_str})}},' + + print(f'\\begin{{umlcall}}[op={{{spec_method}({escapeLatex(args_str)})}},' + f'return={{\\ }}]{{act}}{{{spec_obj}}}') print(''.join(ctx.s)) print('\\end{umlcall}')