[XeTeX] How to append text to a paragraph (in an existing vbox)?
Philip Taylor (Webmaster, Ret'd)
P.Taylor at Rhul.Ac.Uk
Fri Jul 16 11:35:44 CEST 2010
Ron Aaron wrote:
> What I wish to do is accumulate text into a paragraph "as I go". My simple approach is to allocate a box, and then unbox and add the text. But this doesn't work as I intend:
>
> \newbox\textbox
> \def\addbox#1{
> \setbox\textbox\vbox{
> \unvbox\textbox#1
> }
> }
>
> \addbox{Hello}
> \addbox{there!}
> What I get is each appended bit of text in a separate line. I've tried to "\unskip" and "\unkern" etc. after the \unvbox, but whatever I do I get a list of lines rather than a paragraph as I would like. So far I haven't found any answers in my searching, so if one of you would be kind enough to point me in the right direction I would be appreciative.
Although you probably /can/ do it via a \vbox, you would have
to somehow get at the anonymous \hbox that will lie therein;
easier, IMHO, is to use an \hbox directly or a token-list
register :
\newbox \textbox
\def \addbox #1%
{%
\setbox \textbox = \hbox
\bgroup
\unhbox \textbox #1%
\egroup
}
\addbox {Hello}
\addbox {there!}
\unhbox \textbox
\end
\newtoks \texttoks
\def \addtoks #1%
{%
\texttoks = \expandafter {\the \texttoks #1}
}
\addtoks {Hello}
\addtoks {there!}
\the \texttoks
\end
Philip Taylor
More information about the XeTeX
mailing list