Is it possible to pass unmarked paragraphs into Lua for processing
Hi all, I am wondering if and how it might be possible to catch all unmarked paragraphs in a TeX file and pass them into Lua. So, in the following example, each of the first three unmarked paragraphs would be passed to the Lua function "process_paragraph" for optional processing, but the fourth paragraph between \startmarkedparagraph...\stopmarkedparagraph would not be passed to "process_paragraph". I want the Lua function to be able to eat each of the first three unmarked paragraphs and optionally write some processed version back out to be typeset, but there should be the possibility that none of the paragraphs are typeset at all. In the latter case that no text is to be typeset at all, is there a way to prevent ConTeXt/LuaTeX from creating an empty PDF? \startluacode def process_paragragh (par) -- Some magic here... -- Maybe a context (processed_par) to typeset the processed paragraph... end \stopluacode \starttext Thus, I came to the conclusion that the designer of a new system must not only be the implementer and first large||scale user; the designer should also write the first user manual. \startitemize \item One \item Two \item Three \stopitemize The separation of any of these four components would have hurt \TeX\ significantly. If I had not participated fully in all these activities, literally hundreds of improvements would never have been made, because I would never have thought of them or perceived why they were important. But a system cannot be successful if it is too strongly influenced by a single person. Once the initial design is complete and fairly robust, the real test begins as people with many different viewpoints undertake their own experiments. \startmarkedparagraph Thus, I came to the conclusion that the designer of a new system must not only be the implementer and first large||scale user; the designer should also write the first user manual. \stopmarkedparagraph \stoptext Thanks, Kevin
On Thu, 14 Oct 2010, Kevin D. Robbins wrote:
Hi all,
I am wondering if and how it might be possible to catch all unmarked paragraphs in a TeX file and pass them into Lua. So, in the following example, each of the first three unmarked paragraphs would be passed to the Lua function "process_paragraph" for optional processing, but the fourth paragraph between \startmarkedparagraph...\stopmarkedparagraph would not be passed to "process_paragraph".
If you are willing to add some more markup, then you can do \starttext \startMarking ... \startmarkedparagraph ... \stopmarkedparagraph \stopMarking \stoptext where \startMarking .. \stopMarking passes everything to lua (http://wiki.contextgarden.net/Programming_in_LuaTeX#Manipulating_verbatim_te...) and you can then search for \startmarkedparagraph ... \stopmarkedparagraph in lua. Or you could just redefine \starttext ... \stoptext to do the capturing. Something like: \let\normalstarttext\starttext \let\normalstoptext\stoptext \def\starttext{....} And in the lua end call \normalstarttext before starting typesetting and \normalstoptext after all typesetting is done. Aditya
I confess, I hadn't considered anything quite so bold as reading the whole
of the text into Lua and then processing it back out. I suppose I was
expecting one of the true TeXperts to offer suggestions involving
\appendtoks ... \to \everypar.
I also realized that I forgot to mention that I want to be able to do this
all while using the ConTeXt project/product/component support.
Any other suggestions on how I could process unmarked paragraphs in Lua?
Kevin
On Thu, Oct 14, 2010 at 3:48 PM, Aditya Mahajan
On Thu, 14 Oct 2010, Kevin D. Robbins wrote:
Hi all,
I am wondering if and how it might be possible to catch all unmarked paragraphs in a TeX file and pass them into Lua. So, in the following example, each of the first three unmarked paragraphs would be passed to the Lua function "process_paragraph" for optional processing, but the fourth paragraph between \startmarkedparagraph...\stopmarkedparagraph would not be passed to "process_paragraph".
If you are willing to add some more markup, then you can do
\starttext \startMarking ... \startmarkedparagraph ... \stopmarkedparagraph \stopMarking \stoptext
where \startMarking .. \stopMarking passes everything to lua ( http://wiki.contextgarden.net/Programming_in_LuaTeX#Manipulating_verbatim_te...) and you can then search for \startmarkedparagraph ... \stopmarkedparagraph in lua.
Or you could just redefine \starttext ... \stoptext to do the capturing. Something like:
\let\normalstarttext\starttext \let\normalstoptext\stoptext
\def\starttext{....}
And in the lua end call \normalstarttext before starting typesetting and \normalstoptext after all typesetting is done.
Aditya
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net
___________________________________________________________________________________
participants (2)
-
Aditya Mahajan
-
Kevin D. Robbins