nk20/apps/treasury/templatetags/escape_tex.py

24 lines
572 B
Python
Raw Normal View History

# Copyright (C) 2018-2021 by BDE ENS Paris-Saclay
2020-08-06 12:19:51 +00:00
# SPDX-License-Identifier: GPL-3.0-or-later
from django import template
2020-08-14 17:35:21 +00:00
from django.utils.safestring import mark_safe
2020-08-06 12:19:51 +00:00
def do_latex_escape(value):
2020-08-14 17:35:21 +00:00
return mark_safe(
2020-08-06 12:19:51 +00:00
value.replace("&", "\\&")
.replace("$", "\\$")
.replace("%", "\\%")
.replace("#", "\\#")
.replace("_", "\\_")
.replace("{", "\\{")
.replace("}", "\\}")
.replace("\n", "\\\\")
.replace("\r", "")
2020-08-06 12:19:51 +00:00
)
register = template.Library()
register.filter("escape_tex", do_latex_escape)