-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tabu* does not work with alltt-type usage of Verbatim #3
Comments
Thanks for raising the issue, I think (since issue #2 means tabu is completely broken) I'll push out a 2.10 today without trying to address this now. As you say, it's good to collect the issues here to be handled as anyone finds time. |
To correct some bad wording in my post. |
It might be that if the "collect body phase" was done with a catcode 12 backslash, then the scantokens will be innocuous and recreate control sequences without an extra space character. If I get time I would have a closer look at tabu to see if it can work to modify the collecting phase this way. (if it works then the tabu patch of fancyvrb for checking end of Verbatim will become unneeded) |
I don't know how one makes up .lvt type of validating file. new file: testfiles/t003.lvt
MEMO: we can't have environment spread across multiple lines inside alltt-type Verbatim as fancyvrb scopes each input line
My PR #5 implements the "catcode 12 backslash" idea. While keeping close to original code I did need to separate into two distinct branches the body collecting. But thinking about it, I see that simpler code would result from handling tabu* as a verbatim environment i.e. sanitize all catcodes and fetch to the end But dropping that and requiring either |
…-use \tabu@rescan in source code But \tabu@rescan is now \let to \scantokens
@jfbu do I understand correctly that this is an old issue (not a recent one)? |
@FrankMittelbach Yes, this is my understanding as well. |
This MWE does not compile:
That was already the case with TL2017. I read the manual but not the source code. Ah, I looked a bit now after examining a trace. I see in particular
on line 1134 of the code in tabu.pdf, although I did not check if that line is really relevant it immediately brings to mind the well-known problem of scantokens with an active space.
I see now tabu's author is aware, as later on there is section "Compatibility with the fancyvrb package" in commented source code, and he adapts the fancyvrb end-check via
\tabu@fancyvrb
code. (lines 1912ff)Thus this does not work if the
\
has its native catcode. This is source of problem, which hence is deeply coded into tabu code: there is no provision for it to work with a Verbatim configured à la "alltt"".Hence raising this issue here, to at least make it clear in the manual, or to handle it as a feature request.
The text was updated successfully, but these errors were encountered: