##// END OF EJS Templates
handle lecture test moving to lib
handle lecture test moving to lib

File last commit:

r20906:1a805ad1
r21233:01e9bda2
Show More
latex.py
63 lines | 1.8 KiB | text/x-python | PythonLexer
Jonathan Frederic
Cleanup and refactor of filters
r10676 """Latex filters.
Jonathan Frederic
Created filters namespace
r10478
Jonathan Frederic
Cleanup and refactor of filters
r10676 Module of useful filters for processing Latex within Jinja latex templates.
Jonathan Frederic
Created filters namespace
r10478 """
#-----------------------------------------------------------------------------
# Copyright (c) 2013, the IPython Development Team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file COPYING.txt, distributed with this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
Jonathan Frederic
Post code-review, extended refactor.
r10485 import re
#-----------------------------------------------------------------------------
# Globals and constants
#-----------------------------------------------------------------------------
MinRK
put back a couple of regexp subs in escape_latex
r12064 LATEX_RE_SUBS = (
Jörg Dietrich
Enclose \ldots with {}...
r16853 (re.compile(r'\.\.\.+'), r'{\\ldots}'),
MinRK
put back a couple of regexp subs in escape_latex
r12064 )
Jonathan Frederic
FIX, don't use regex
r12062 # Latex substitutions for escaping latex.
# see: http://stackoverflow.com/questions/16259923/how-can-i-escape-latex-special-characters-inside-django-templates
MinRK
update LATEX_SUBS table
r12063
Jonathan Frederic
FIX, don't use regex
r12062 LATEX_SUBS = {
'&': r'\&',
MinRK
update LATEX_SUBS table
r12063 '%': r'\%',
'$': r'\$',
'#': r'\#',
'_': r'\_',
'{': r'\{',
'}': r'\}',
'~': r'\textasciitilde{}',
'^': r'\^{}',
'\\': r'\textbackslash{}',
}
Jonathan Frederic
FIX, don't use regex
r12062
Jonathan Frederic
Created filters namespace
r10478
#-----------------------------------------------------------------------------
# Functions
#-----------------------------------------------------------------------------
Jonathan Frederic
Cleanup and refactor of filters
r10676
Peter Davis
`strip_files_prefix` now also strips markdown style links, `latex_base` updated to include filter
r13593 __all__ = ['escape_latex']
Brian E. Granger
Fixing import logic.
r11088
Jonathan Frederic
Cleanup and refactor of filters
r10676 def escape_latex(text):
"""
Jonathan Frederic
Revert "Better comment"...
r12080 Escape characters that may conflict with latex.
Jonathan Frederic
FIX, don't use regex
r12062
Jonathan Frederic
Cleanup and refactor of filters
r10676 Parameters
----------
text : str
Text containing characters that may conflict with Latex
"""
Jonathan Frederic
remove sq brackets
r12075 text = ''.join(LATEX_SUBS.get(c, c) for c in text)
MinRK
put back a couple of regexp subs in escape_latex
r12064 for pattern, replacement in LATEX_RE_SUBS:
text = pattern.sub(replacement, text)
Jonathan Frederic
FIX, don't use regex
r12062
MinRK
put back a couple of regexp subs in escape_latex
r12064 return text
Peter Davis
Add strip_url_static_file_prefix to filters
r13589