On Mon, 28 Jul 2014, Wolfgang Schuster wrote:
Am 28.07.2014 um 16:15 schrieb Xan
: Hi,
Any hint on that [https://github.com/adityam/filter/issues/17], please?
Don’t use \doifmode{…}{…} etc. with buffers or environments which rely on a buffer because you disable the function to keep end of lines in the input.
What you have to do in this case is to use the \startmode or \startnotmode commands.
\usemodule[filter]
\defineexternalfilter [python] [filtercommand={python \externalfilterinputfile\space > \externalfilteroutputfile},cache=force]
\starttext
\startmode[solucions]
\starttextrule{Solucions}
\startpython .... \stoppython
\stoptextrule
\stopmode
\stoptext
Another option is (untested): \defineexternalfilter [python] [ filtercommand={...}, before={\starttextrule{Solutions}}, after={\stoptextrule}, ] \startmode[solutions] \setupexternalfilter[python][state=stop, read=no] \stopmode \starttext \startpython ... \stoppython \stoptext BTW, you can simplify your setup using: \startbuffer[sympy] from sympy.solvers import solve from sympy import Symbol from sympy import Eq x = Symbol('x') \stopbuffer \defineexternalfilter [python] [ filtercommand={...}, bufferbefore={sympy}, ] \starttext \startpython print(solve(Eq(3*x + 2, 35), x)) \stoppython \stoptext Aditya