
У меня есть этот файл:
\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