def generate_latex_from_element(element: NavigableString, payload: dict): # if this is no tag, this is pure text if isinstance(element, str): if element.strip() == "": return "" return sanitize_string(element) data = process_symbols(element, payload, get_latex_for_element(element.name)) return data
def _parse_navigable_string(self, string: NavigableString) -> str: string = string.strip('\n\t ') string = re.sub(r"–", '–', string) string = re.sub(r" ", ' ', string) string = re.sub(r"“", '"', string) string = re.sub(r"([&%$#_{}])", r'\\\1', string) string = re.sub(r"…(…(\.|)|)", '...', string) string = re.sub(r"\b\.\.\.\b", '...', string) string = re.sub(r"~", '\\textasciitilde', string) string = re.sub(r"\^", '\\textasciicircum', string) string = re.sub(r"\.\.\.\.+", '...', string) string = re.sub(r"(?<=[^!?\"]) (?=[,.!?])", '', string) return string