def maxima_md(s):
import re
s=re.compile(r'((?:(?![\n\$;]).)+)([\$;\n]?)',re.M+re.S).sub(r'tex(\1,false)\2',s,count=0)
t = maxima.eval(s,split_lines=true, reformat=false)
t=re.compile(r'\$\$').sub('\n$$\n',t,count=0)
t=re.compile(r'\\\\').sub(r'\\',t,count=0)
t=re.compile(r'\\cos').sub(r'\\mathrm{cos}',t,count=0)
t=re.compile(r'\\sin').sub(r'\\mathrm{sin}',t,count=0)
t=re.compile(r'\\_').sub(r'_',t,count=0)
t=re.compile(r'\\begin{verbatim}').sub(r'$$',t,count=0)
t=re.compile(r'\\end{verbatim}').sub(r'$$',t,count=0)
t=re.compile(r'[^\\]"([^"]*?)').sub(r'\1',t,count=0)
t=re.compile(r'\\"').sub('"',t,count=0)
t=re.compile(r'\n\s*([^\$].*)').sub(r' \1',t,count=0)
t=re.compile(r'\(\%o[0-9]+\)').sub(r'',t)
t=re.compile(r'\(\%i[0-9]+\) ').sub(r'',t)
md(t, hide=False)