Bopytex/opytex/texenv.py
Benjamin Bertrand 6df2dc2b01 Pep corrections
2017-04-16 11:36:27 +03:00

54 lines
1.1 KiB
Python

#!/usr/bin/env python
# encoding: utf-8
import os
import jinja2
__all__ = ["texenv"]
# Definition of jinja syntax for latex
texenv = jinja2.Environment(
block_start_string='\Block{',
block_end_string='}',
variable_start_string='\Var{',
variable_end_string='}',
line_statement_prefix='%-',
line_comment_prefix='%#',
loader=jinja2.FileSystemLoader(os.path.abspath('.')),
extensions=['jinja2.ext.do']
)
# Filters
def do_calculus(steps, name="A", sep="=", end="", joining=" \\\\ \n"):
"""Display properly the calculus
Generate this form string:
"name & sep & a_step end joining"
:param steps: list of steps
:returns: latex string ready to be endbeded
"""
ans = joining.join([
name + " & "
+ sep + " & "
+ str(s) + end for s in steps
])
return ans
texenv.filters['calculus'] = do_calculus
from random import shuffle
texenv.filters['shuffle'] = shuffle
# -----------------------------
# Reglages pour 'vim'
# vim:set autoindent expandtab tabstop=4 shiftwidth=4:
# cursor: 16 del