alb wrote: > In [39]: print pypandoc.convert(s, 'latex', format='rst') > this is some restructured text. > > what happened to my backslash???
You'll need to read your pypandoc documentation to see what it says about backslashes. > If I try to escape my backslash I get something worse: > > In [40]: f = open('test.txt', 'r') > > In [41]: s = f.read() > > In [42]: print s > this is \\some restructured text. > > > In [43]: print pypandoc.convert(s, 'latex', format='rst') > this is \textbackslash{}some restructured text. > > since a literal backslash gets converted to a literal latex backslash. Why is this a problem? Isn't the ultimate aim to pass it through latex, which will then covert the \textbackslash{} back into a backslash? If not, I have misunderstood something. If not, you could do something like this: s = 'this is %(b)ssome restructured text.' t = pypandoc.convert(s, 'latex', format='rst') assert t == 'this is %(b)ssome restructured text.' print t % {'b': '\\'} taking care to escape any actual percent signs in your text as '%%'. To be clear, what I'm doing here is using Python's % string interpolation to post-process the Latex output: - replace every '%' in your input string with '%%'; - replace every backslash in your input string with '%(b)s'; - convert; - post-process using %. -- Steven -- https://mail.python.org/mailman/listinfo/python-list