`\start...` の後のスペースが多すぎます

`\start...` の後のスペースが多すぎます

このファイルがあります:

\newdimen\cslhangindent
\cslhangindent=1.5em
\definestartstop [cslreferences] [
        before={%
        \setupnarrower[left=\cslhangindent]
        \startnarrower[left]%
        \setupindenting[-\leftskip,yes,first]%
        \indentation%
      },
      after=\stopnarrower,
    ]

\starttext

\section{Some title}

\input ward

\section{References}

\startcslreferences

\dorecurse{10}{\dorecurse{10}{This is a Test. }\par}

\stopcslreferences

\stoptext

の後のスキップが\section{References}の後のスキップよりも大きくなっています\section{Some title}。なぜでしょうか? の後の空行を削除すると\startcslreferences、スキップは同じになります。

これを 経由で処理する方法はありますか\definestartstop?

答え1

問題は、\indentationインデント ボックスを直ちに強制的に配置しようとするステートメントですが、段落の開始時にのみインデントが必要なので、代わりに を使用します\doindentation

\definemeasure[cslhangindent][1.5em]
\definestartstop
  [cslreferences]
  [before={%
     \setupnarrower[left=\measure{cslhangindent}]
     \startnarrower[left]%
     \setupindenting[-\leftskip,yes,first]%
     \doindentation%
   },
   after=\stopnarrower]

\starttext

\section{Some title}

\input ward

\section{References}

\startcslreferences

\dorecurse{10}{\dorecurse{10}{This is a Test. }\par}

\stopcslreferences

\stoptext

関連情報