Le 21/02/2012 00:38, uwesto...@lyx.org a écrit :
Log: support for verbatim: step 2: tex2lyx support
OK, so this is the thing I missed in my previous message, where I complained about missing verbatim support.
+ else if (name == "verbatim") {
Of course eventually, you do not want to do that, but rather find the layout and chack whether it has pass_thru==1. This will avoid further hardcoding for Verbatim and friends later.
+ eat_whitespace(p, os, parent_context, false); + os<< "\n\\begin_layout Verbatim\n";
I was about to complain that you are introducing the only explicit \begin_layout in the code, but I am wrong: you already did it for subfloat :(
Please do not do that, and try to re use the Context stuff. Copy what is done in another place.
+ string const s = p.verbatimEnvironment("verbatim"); + string::const_iterator it2 = s.begin(); + for (string::const_iterator it = s.begin(), et = s.end(); it != et; ++it) { + if (*it == '\n') { + it2 = it + 1; + // avoid adding an empty paragraph at the end + // if there are 2 consecutive spaces at the end ignore it + // because LyX will re-add a \n + if ((it + 1 != et)&& (it + 2 != et || *it2 != '\n')) + os<< "\n\\end_layout\n\\begin_layout Verbatim\n";
Isn't it what the COntext class is done for?
+ // reset to Standard layout + os<< "\n\\begin_layout Standard\n";
Can't you see something is wrong when you introduce the only occurence of this string in tex2lyx code?
I would really appreciate if you could rewrite this code to adhere to general tex2lyx tools (unless of course there is a reason to do it as you did).
JMarc