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

2015-02-18 Thread 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.

Two ways that don't go to the goal, just to demonstrate my trials and fails:


\starttext

% 1

Some text on line\hfill Text in box\par
 \hfill Longer text in the box\par
 \hfill Shorter text in box\par

% 2

Some text on line\hfill\framed[width=5cm,align=flushleft,frame=off]
  {Text in box\\
   Longer text in the box\\
   Shorter text in box}

\stoptext


Way 1 - problems:

- The text to be boxed is not written in a box environment;
- the text to be boxed is not left-aligned in the box (as it actually is not in 
a box).

Way 2 - problems:

- The text in the box (\framed) must have width specified;
- the text in the box goes over the line where it is placed, not with first 
line basement aligned.

So - how to achieve the layout desired?

(Hint:

The situation may be imagined as the top of a letter page:

write some text to the left, fill with the maximum space till you reach the box 
for an address on the right of the current line;
write address lines left-aligned inside the box.)

Thank you for ideas in advance.

Best regards,

Lukas


--
Ing. Lukáš Procházka | mailto:l...@pontex.cz
Pontex s. r. o.  | mailto:pon...@pontex.cz | http://www.pontex.cz
Bezová 1658
147 14 Praha 4

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

t3.mkiv
Description: Binary data


t3.pdf
Description: Adobe PDF document
___
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
___

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

2015-02-18 Thread Procházka Lukáš Ing . - Pontex s . r . o .

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.wolfg...@gmail.com wrote:




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

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

___
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
___

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

2015-02-18 Thread Wolfgang Schuster

 Am 18.02.2015 um 11:45 schrieb Procházka Lukáš Ing. - Pontex s. r. o. 
 l...@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.
 
 Two ways that don't go to the goal, just to demonstrate my trials and fails:
 
 
 \starttext
 
 % 1
 
 Some text on line\hfill Text in box\par
 \hfill Longer text in the box\par
 \hfill Shorter text in box\par
 
 % 2
 
 Some text on line\hfill\framed[width=5cm,align=flushleft,frame=off]
  {Text in box\\
   Longer text in the box\\
   Shorter text in box}
 
 \stoptext
 
 
 Way 1 - problems:
 
 - The text to be boxed is not written in a box environment;
 - the text to be boxed is not left-aligned in the box (as it actually is not 
 in a box).
 
 Way 2 - problems:
 
 - The text in the box (\framed) must have width specified;
 - the text in the box goes over the line where it is placed, not with first 
 line basement aligned.
 
 So - how to achieve the layout desired?
 
 (Hint:
 
 The situation may be imagined as the top of a letter page:
 
 write some text to the left, fill with the maximum space till you reach 
 the box for an address on the right of the current line;
 write address lines left-aligned inside the box.)


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
___
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
___