[NTG-context] Placing a box with left-aligned lines on the right border

Procházka Lukáš Ing. - Pontex s. r. o. LPr at pontex.cz
Wed Feb 18 15:40:53 CET 2015


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 <schuster.wolfgang at gmail.com> wrote:

>
>> Am 18.02.2015 um 11:45 schrieb Procházka Lukáš Ing. - Pontex s. r. o. <LPr at pontex.cz>:
>>
>> 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 at pontex.cz
Pontex s. r. o.      | mailto:pontex at pontex.cz | http://www.pontex.cz
Bezová 1658
147 14 Praha 4

Tel: +420 241 096 751
Fax: +420 244 461 038



More information about the ntg-context mailing list