# [NTG-context] treat framed and externalfigure as characters

Peter Münster pmlists at free.fr
Tue May 9 22:19:20 CEST 2006

On Tue, 9 May 2006, Taco Hoekwater wrote:

> Peter Münster wrote:
> > Hello Taco and Hans,
> >
> > in http://context.literatesolutions.com/collector/89
> > you write
> >    "Both Hans and me have documents that depend on \framed staying in
> >     vertical mode."
> >
> > Could you give me an example please?
>
> For instance in a recipe booklet, where one of the macros
> goes like this:
>
>    \def\startrecipe[#1]%
>      {\getparameters[Recipe]
>         [Title=,Summary=,Image=none,#1]% ..
>       \framed{\tfd \RecipeTitle}%
>       \externalfigure[\RecipeImage]%
>       {\bf\RecipeSummary}%
>       \blank }
>
> I am not saying that that is the best way to write macros (and I
> certainly do not do it like that anymore) but changing the behaviour
> would break quite a lot of my existing documents, including some
> I have been payed for to do.

Hello Taco,
I understand and accept your arguments. Even for me, it's no more problem
to add here and there a \dontleavehmode, since I know it now. But for a
beginner and a user without ambition to become a ConTeXt expert, the actual
behaviour is annoying. He just sees a line break, where he does not expect
it. There is a fundamental difference between
bla \framed{bla} bla
and
\framed{bla} bla bla
that is not understandable.

It's much more straightforward and clear to add a \par (and perhaps
\noindentation) if you really want this line break (for example in your
macro \startrecipe).

> Maybe Hans is willing to add a global switch that you can set at
> the top of your document(s).

Perhaps one day, I would like to convert some of my colleagues from M\$-Word
to ConTeXt, but if I have to teach them about things like \dontleavehmode
there is no need for further efforts. So, such a switch would be very
welcome (I would put it into cont-sys.tex)!

Cheers, Peter

--
http://pmrb.free.fr/contact/