Hello,
thank you - method 1 is exactly what I'm looking for.
Best regards,
Lukas
On Wed, 18 Feb 2015 14:58:49 +0100, Wolfgang Schuster
Am 18.02.2015 um 11:45 schrieb Procházka Lukáš Ing. - Pontex s. r. o.
: Hello,
how to more easily achieve this?:
---- Some text on line Text in box Longer text in the box Shorter text in box
|<------------------>| Width of the box is that of the longest text in it
|<---->| Some space between the preceeding text and the box |<------------------------------------------>| Text width available (\textwidth) ----
The solution should have the following features:
- Text in the box to be written "at once" with a token (be "\\" or "\par" or another) to go to the next line; - The box (wrapping "Text in box", "Longer text in the box", "Shorter text in box") should have no width specified - it should get it from the longest member (line) in it (in our case: width of "Longer text in the box"); - Text in the box should be "alignleft"; - Base line of first text the box to be vertically aligned to the base of the preceding text, i.e. "Some text on line" to have the same basement as "Text in box"; - A horizontal filler may be placed between "Some text on line" and the box to fit "text width available".
Method 1 (frame based):
\starttext
Some text on line \hfill \startframed[width=fit,align=flushleft,frame=off,location=top] Text in box\\ Longer text in the box\\ Shorter text in box \stopframed
\stoptext
Method 2 (layer based):
\definelayer[letterhead][width=\textwidth]
\setupbackgrounds[text][background=letterhead]
\starttext
\setlayerframed [letterhead] [preset=lefttop] [offset=0pt,frame=off] {Some text on line}
\setlayerframed [letterhead] [preset=righttop] [offset=0pt,width=fit,align=flushleft,frame=off,location=top] {Text in box\\ Longer text in the box\\ Shorter text in box}
\blank[force,4*line]
\input knuth
\stoptext
Wolfgang
-- Ing. Lukáš Procházka | mailto:LPr@pontex.cz Pontex s. r. o. | mailto:pontex@pontex.cz | http://www.pontex.cz Bezová 1658 147 14 Praha 4 Tel: +420 241 096 751 Fax: +420 244 461 038