On Sat, 15 Oct 2011, Hans Hagen wrote:
On 15-10-2011 05:29, Aditya Mahajan wrote:
Hi,
In the vim module, I use vim to generate TeX code that looks roughly as
~~~ \SYN[Type]{public} \SYN[Type]{static} \SYN[Type]{void} main\SYN[javaParen]{(}String args\SYN[javaParen]{)} \{ System.out.println\SYN[javaParen]{(}\SYN[Constant]{"Hello World"}\SYN[javaParen]{)} ; \} ~~~
When generating pdf output, I simply set appropriate catcodes so that the line breaks and leading white spaces are significant. However, when exporting to xml, leading white space is ignored while line break is translated to <break/>. How can I export in such a way that leading white spaces are preserved (and ideally no <break/> is generated, but I can deal with that using CSS).
brrr .. catcodes ... can't you wrap lines in a macro and tag spaces too?
I can, but I went out of the way to ensure that I do not have to do that. I dislike formatters that add macros for newlines and spaces: http://randomdeterminism.wordpress.com/2011/06/06/clean-tex-output/
in principle you should be able to use some of of the regular typing wrapping code for that but anything other than catcoded characters will do (also, keep in mind that people might want to pass the generated code around as arguments in which case catcodes can create a mess
Agreed. But this is for syntax highlighting, so I have to mess with catcodes anyways. My code wail fail if it is passed as an argument to some other macro, but so does \starttyping ... \stoptyping. (Maybe I will provice a \process<...>buffer to take care of that).
\setupbackend[export=yes]
\starttext
\startlines \zwnj \char32\char32\char32 test \char32 test test \zwnj \char32\char32 test \char32 test test \zwnj \char32 test \char32 test test test \char32 test test \stoplines
\stoptext
I really do not want to produce such output. I'll see if I can abuse the visualizer code and create a null grammer that just adds new line and space tags. Aditya