使用解决方案后这里对于文中不带点的引用,节标题将章节和节号之间的点加倍:
\setuphead[chapter][
alternative=middle,
style={\tfb\bf},
after={\blank[24pt]},
]
\defineprocessor[dostopper][right=.]
\defineprocessor[nostopper][right=]
\defineconversionset[stopperconversionyes][][dostopper->n]
\defineconversionset[stopperconversionnop][][nostopper->n]
\setuphead[section][sectionconversionset=stopperconversionyes]
%\setupreferencestructureprefix[section][default][prefixconversionset=stopperconversionnop]
\setupreferencestructureprefix[default][prefixconversionset=stopperconversionnop]
\starttext
\chapter{asdf}
\section[one]{First heading}
In \in{section}[one] we learn.
\stoptext
在这种情况下,它可以与章节配合使用;如果我在文本中不使用章节,它可以与章节配合使用。
答案1
如果我理解正确的话,您希望节号以点结尾,但引用不带点。在这种情况下,您只需调用键即可numbercommand
添加所需的任何内容:\groupedcommand{}{.}
非常方便,您无需定义特别指定宏只是为了添加一个点。
\setuphead[chapter][
alternative=middle,
style={\tfb\bf},
after={\blank[24pt]},
]
%\groupedcommand{#before}{#after}{#content}
\setuphead[section][numbercommand={\groupedcommand{}{.}}]
\starttext
\chapter{Capítulo}
\section[one]{Primer encabezado}
En la \in{sección}[one] aprenderemos.
\stoptext
答案2
另一个解决方案是维基百科:
\def\Dot#1{#1.}
\setuphead[section][numbercommand=\Dot]
\setuplist[section][numbercommand=\Dot]
\setuplist[subsection][numbercommand=\Dot]
\setuplist[subsubsection][numbercommand=\Dot]
\starttext
\completecontent
\section{abc}
\subsection{def}
\stoptext