
我有這個文件:
\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