Prefix the text in an enumeration.
Hi, is there a way to automatically prefix the text body in an enumeration? Consider this example: ``` \defineenumeration[question][ alternative=top, text=Question, title=yes, titleleft=, titleright=, right={:}, headstyle=bold, ] \starttext Some text: \startquestion[title={How long does a loop last?}] \bold{Answer:} For a while. \stopquestion \stoptext ``` I'd like to have the `\bold{Answer:}` automatically. So for example something like this: ``` \defineenumeration[question][ alternative=top, text=Question, title=yes, titleleft=, titleright=, right={:}, headstyle=bold, prefix={\bold{Answer:}}, ] \starttext Some text: \startquestion[title={How long does a loop last?}] For a while. \stopquestion \stoptext ``` I tried to misuse `inbetween` for that but `alternative=top` seems to make a (not modifiable space) between the heading and the text body. Best Gerion
Gerion Entrup schrieb am 13.06.2024 um 13:41:
Hi,
is there a way to automatically prefix the text body in an enumeration?
Consider this example: ``` \defineenumeration[question][ alternative=top, text=Question, title=yes, titleleft=, titleright=, right={:}, headstyle=bold, ]
\starttext
Some text:
\startquestion[title={How long does a loop last?}] \bold{Answer:} For a while. \stopquestion
\stoptext ```
I'd like to have the `\bold{Answer:}` automatically. So for example something like this: ``` \defineenumeration[question][ alternative=top, text=Question, title=yes, titleleft=, titleright=, right={:}, headstyle=bold, prefix={\bold{Answer:}}, ]
\starttext
Some text:
\startquestion[title={How long does a loop last?}] For a while. \stopquestion
\stoptext ```
I tried to misuse `inbetween` for that but `alternative=top` seems to make a (not modifiable space) between the heading and the text body.
Use the \setupparagraphintro command to set the text which should appear at the start of the question. %%%% begin example \startsetups[question:intro] \setupparagraphintro[first][\bold{Answer:} ] \blank \stopsetups \defineenumeration[question][ alternative=top, text=Question, title=yes, titleleft=, titleright=, right={:}, headstyle=bold, inbetween=\setup{question:intro}, ] \starttext Some text: \startquestion[title={How long does a loop last?}] For a while. \stopquestion \stoptext %%%% end example Wolfgang
Am Donnerstag, 13. Juni 2024, 16:31:58 MESZ schrieb Wolfgang Schuster:
\startsetups[question:intro] \setupparagraphintro[first][\bold{Answer:} ] \blank \stopsetups
\defineenumeration[question][ alternative=top, text=Question, title=yes, titleleft=, titleright=, right={:}, headstyle=bold, inbetween=\setup{question:intro}, ]
\starttext
Some text:
\startquestion[title={How long does a loop last?}] For a while. \stopquestion
\stoptext
Thank you. That works well for this case. I have a follow up question. I tried to additionally set a titledistance and reproduce that for the "Answer:"-part. ConTeXt then introduces a mysterious newline. See this example: ``` \definehspace[dist][1em] \startsetups[question:intro] \setupparagraphintro[first][\bold{Answer:}\hspace[1em]] \blank \stopsetups \defineenumeration[question][ alternative=top, text=Question, title=yes, titleleft=, titledistance=1em, titleright=, right={:}, headstyle=bold, inbetween=\setup{question:intro}, ] \starttext Some text: \startquestion[title={How long does a loop last?}] For a while. \stopquestion \stoptext ``` Gerion
Gerion Entrup schrieb am 14.06.2024 um 11:01:
Am Donnerstag, 13. Juni 2024, 16:31:58 MESZ schrieb Wolfgang Schuster:
\startsetups[question:intro] \setupparagraphintro[first][\bold{Answer:} ] \blank \stopsetups
\defineenumeration[question][ alternative=top, text=Question, title=yes, titleleft=, titleright=, right={:}, headstyle=bold, inbetween=\setup{question:intro}, ]
\starttext
Some text:
\startquestion[title={How long does a loop last?}] For a while. \stopquestion
\stoptext
Thank you. That works well for this case.
I have a follow up question. I tried to additionally set a titledistance and reproduce that for the "Answer:"-part. ConTeXt then introduces a mysterious newline.
See this example:
\definehspace[dist][1em] \startsetups[question:intro] \setupparagraphintro[first][\bold{Answer:}\hspace[1em]] \blank \stopsetups
You need 2 changes for \setupparagraphintro: 1. Change the argument of \hspace to "dist" because the commands accepts only keywords and everything else (even a valid length) is ignored and results in a horizontal skip of 0pt. 2. You have to add curly braces around the content when the content includes square brackets because nesting of optional arguments isn't supported yet. The correct version of the one above is: \startsetups[question:intro] \setupparagraphintro[first][{\bold{Answer:}\hspace[dist]}] \blank \stopsetups Wolfgang
Am Freitag, 14. Juni 2024, 11:51:28 MESZ schrieb Wolfgang Schuster:
Gerion Entrup schrieb am 14.06.2024 um 11:01:
Am Donnerstag, 13. Juni 2024, 16:31:58 MESZ schrieb Wolfgang Schuster:
\startsetups[question:intro] \setupparagraphintro[first][\bold{Answer:} ] \blank \stopsetups
\defineenumeration[question][ alternative=top, text=Question, title=yes, titleleft=, titleright=, right={:}, headstyle=bold, inbetween=\setup{question:intro}, ]
\starttext
Some text:
\startquestion[title={How long does a loop last?}] For a while. \stopquestion
\stoptext
Thank you. That works well for this case.
I have a follow up question. I tried to additionally set a titledistance and reproduce that for the "Answer:"-part. ConTeXt then introduces a mysterious newline.
See this example:
\definehspace[dist][1em] \startsetups[question:intro] \setupparagraphintro[first][\bold{Answer:}\hspace[1em]] \blank \stopsetups
You need 2 changes for \setupparagraphintro:
1. Change the argument of \hspace to "dist" because the commands accepts only keywords and everything else (even a valid length) is ignored and results in a horizontal skip of 0pt.
Hrmm, this was a typo.
2. You have to add curly braces around the content when the content includes square brackets because nesting of optional arguments isn't supported yet.
Thanks for the help, that was the missing part.
The correct version of the one above is:
\startsetups[question:intro] \setupparagraphintro[first][{\bold{Answer:}\hspace[dist]}] \blank \stopsetups
Wolfgang
Gerion
participants (2)
-
Gerion Entrup
-
Wolfgang Schuster