[NTG-context] Cascaded description

Procházka Lukáš Ing. LPr at pontex.cz
Sat Apr 6 11:08:00 CEST 2019


Hello,

I finally found a solution (which doesn't use \description or any other Ctx command) (and which may be clumsy - I'm not so good in tex programming):

----
\def\IndByText#1{%
   \newbox\IndByTextBox
   \newdimen\IndByTextBoxWd
   \setbox\IndByTextBox\hbox{#1}%
   \IndByTextBoxWd=\wd\IndByTextBox
   \advance\leftskip by\IndByTextBoxWd
   \def\Left##1{%
     \hskip-\IndByTextBoxWd
     \hbox to\IndByTextBoxWd{##1\hfill}%
     \ignorespaces
   }%
   \ignorespaces
   \setupindenting[no]%
}

\starttext
   \input knuth

   \bgroup
     \IndByText{\bold{Abcdef~}}
     \Left{\bold{Abcdef}}
       \input knuth

       \bgroup
         \IndByText{\bold{Klmnopqr~}}
         \Left{\bold{Klmnopqr}}
           Something

         \Left{\bold{Shorter}}
           \input knuth
       \egroup
   \egroup
\stoptext
----

The only thing I cannot get rid of is a warning in the log:

"
warning         > \box \IndByTextBox is already defined (\relax it first)
warning         > \dimen \IndByTextBoxWd is already defined (\relax it first)
"

How & where to "relax the box"?

Best regards,

Lukas


On Tue, 02 Apr 2019 11:38:18 +0200, Procházka Lukáš Ing. <LPr at pontex.cz> wrote:

> Hello,
>
> I'm trying to get nested descriptions (using "tab") to form a "cascade". The result should look like:
>
> AAA ababababababab
>      ababababababab
>
>      BBB ababababab
>          ababababab
>
>          CCC ababab
>              ababab
>
> <--> indent (margin?) of the first nested description in relation to its parent
>       should equal width of parent's head (+ distance?), i.e. width of "AAA ",
>
>      <--> indent (margin?) of the second nested description in relation to its parent
>           should equal width of parent's head (+ distance?), i.e. width of "BBB ",
>
> <------> so it should be width of "AAA " + 'width of "BBB " in total.
>
> I'm not able to achieve this. My code so far is (and I also played with various combinations of alternative, margin, hang, indent...):
>
> ----
> \starttext
>    A
>
>    \bgroup
>      \setuptab[headstyle={\bold\tt},sample=123,width=fit,alternative=left]
>        \starttab{abc}
>          \input knuth
>
>          \starttab{def}
>            \input knuth
>
>          \stoptab
>        \stoptab
>    \egroup
>
>    \bgroup
>      \setuptab[headstyle={\bold\tt},sample=123456,width=fit,alternative=hanging]
>        \starttab{ghijkl}
>          \input knuth
>
>          \starttab{mnopqr}
>            \input knuth
>
>          \stoptab
>        \stoptab
>    \egroup
> \stoptext
> ----
>
> - Paragraphs of "abc" and "def": size of indentation of the paragraphs is good in relation to width of head, but paragraph "def" is not "cascaded".
>
> - Paragraphs "ghijkl" and "mnopqr" are "cascaded" well; but width of (margin?) is any - it is not related to the width of the sample text.
>
> So how to combine both approaches to get the desired result?
>
> Best regards,
>
> Lukas
>
>


-- 
Ing. Lukáš Procházka | mailto:LPr at pontex.cz
Pontex s. r. o.      | mailto:pontex at pontex.cz | http://www.pontex.cz | IDDS:nrpt3sn
Bezová 1658
147 14 Praha 4

Mob.: +420 702 033 396
-------------- next part --------------
A non-text attachment was scrubbed...
Name: IndByTex.mkiv
Type: application/octet-stream
Size: 660 bytes
Desc: not available
URL: <http://mailman.ntg.nl/pipermail/ntg-context/attachments/20190406/e384df52/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: IndByTex.pdf
Type: application/pdf
Size: 14439 bytes
Desc: not available
URL: <http://mailman.ntg.nl/pipermail/ntg-context/attachments/20190406/e384df52/attachment-0001.pdf>


More information about the ntg-context mailing list