`\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

相關內容