[luatex] Line breaks
Heiko Oberdiek
heiko.oberdiek at googlemail.com
Sat Feb 19 13:38:27 CET 2011
On Sat, Feb 19, 2011 at 12:25:47PM +0100, Paul Isambert wrote:
> Le 19/02/2011 12:12, Dirk Laurie a écrit :
> >The following are not equivalent on my system (texlive, ubuntu lucid):
> >
> >% excerpt from TeX file
> >This is a paragraph
> >with some lines.
> >
> >This is another paragraph,
> >separated from the first
> >by a blank line.
> >% end excerpt
> >
> >% another excerpt
> >\directlua{ text = [[
> >This is a paragraph
> >with some lines.
> >
> >This is another paragraph,
> >separated from the first
> >by a blank line. ]]
> >tex.print(text)}
> >% end excerpt
> >
> >The second excerpt sets as a single paragraph.
>
> Which confirms something I'd been suspecting for a while but never
> really investigated: blank lines aren't turned into \par in
> \directlua,
No, the conversion is done by TeX, \directlua sees the \par then.
But tex.print removes the \par, perhaps because of
| Each string argument is treated by TEX as a separate input line.
Also interesting:
| The very last string of the very last tex.print() command in a
| \directlua will not have the \endlinechar appended, all others do.
But a statement about \par filtering of tex.print() would be useful
for the documentation.
Minimal example (luatex --ini):
\catcode`\{=1
\catcode`\}=2
\expandafter\def\expandafter\x\expandafter{%
\directlua{tex.print('a \par b')}%
}\show\x
\csname @@end\endcsname\end
Result: "a b"
Yours sincerely
Heiko Oberdiek
More information about the luatex
mailing list