[NTG-context] indentnext=auto

Wolfgang Schuster schuster.wolfgang at gmail.com
Tue Mar 17 22:04:32 CET 2015


> Am 17.03.2015 um 21:30 schrieb Idris Samawi Hamid ادريس سماوي حامد <ishamid at colostate.edu>:
> 
> Dear gang,
> 
> For export we have to tag paragraphs. After block quotes, itemizations, etc, the context determines whether the first line of the next paragraph should be indented, so we use the indentnext=auto mechanism. But with \start|stopparagraph it doesn't seem to work: See attached.
> 
> ====================
> \setupindenting[big,yes]
> % Do not indent the first line of a block quote
> \setupdelimitedtext[blockquote][before={\blank[medium] \setupindenting[no]},after={\blank[medium]}]

\setupdelimitedtext
  [blockquote]
  [spacebefore=medium,
   spaceafter=medium,
   indenting=no]

> % Do not indent the first line after a block quote
> \setupdelimitedtext[blockquote][indentnext=auto]
> 
> \starttext
> \startparagraph
> \input ward
> \stopparagraph
> 
> \startblockquote
> \input ward
> \stopblockquote
> 
> \startparagraph
> \input ward
> \stopparagraph
> 
> \startblockquote
> \input ward
> \stopblockquote
> \startparagraph
> \input ward
> \stopparagraph
> \stoptext
> ====================
> 
> From what I understand, if [indentnext=auto] is activated then a blank line after the environment should activate indenting; no blank line after the environment should impede indenting.
> 
> In this example, we get no indentation either way. Am I missing something, or is it a bug?

It’s bug in the delimited text mechanism (typo-del.mkvi), a \aftergroup is missing before \dorechecknextindentation.

\def\typo_delimited_stop_par
  {\removeunwantedspaces
   \removelastskip
   \rightdelimitedtextmark
   \carryoverpar\endgroup % new per 2013-01-21 ... please left floats
   \popmacro\checkindentation
   \typo_delimited_stop_par_indeed
   \delimitedtextparameter\c!after
   \edef\p_delimited_spaceafter{\delimitedtextparameter\c!spaceafter}%
   \ifx\p_delimited_spaceafter\empty \else
     \blank[\p_delimited_spaceafter]%
   \fi
   \useindentnextparameter\delimitedtextparameter
-  \dorechecknextindentation}% AM: This was missing!
+  \aftergroup\dorechecknextindentation}% AM: This was missing!

> By the way, something like
> 
> \setupdelimitedtext[blockquote][indentnext=yes]
> 
> \startparagraph[indenting=no]
> \input ward
> \stopparagraph
> 
> would be a nice feature. Any chance?

\startsetups[paragraph:noindent]
	\setupindenting[no]
\stopsetups

\defineparagraph[noindent][setups=paragraph:noindent]

\setupindenting[yes,big]

\starttext

\startparagraph
\input ward
\stopparagraph

\startparagraph[noindent]
\input ward
\stopparagraph

\startparagraph
\input ward
\stopparagraph

\stoptext

Wolfgang


More information about the ntg-context mailing list