我尝试对\setuphead
命令进行一些调整,以便让各节按我想要的方式显示。特别是,小节标题显示时不显示节号。
但是,当我\in
引用此小节时,我希望看到整个数字,例如以下 MWE 中的 I.1。
\setuppapersize[A4][A4]
\setuphead[section][sectionsegments=section, conversion=Romannumerals]
\setuphead[subsection][margin=1cm, sectionsegments=subsection, conversion=numbers]
\starttext
\section{One}
\subsection[sec:oneone]{One-one}
Text
\subsection{One-two}
Text
\section{Two}
\subsection{Two-one}
Text reference to one-one should be I.1 and it is only 1 : \in[sec:oneone]
\subsection{Two-two}
Text
\stoptext
这在 ConTeXt 中可以实现吗?
答案1
在上下文中当然可以实现。上下文的主要问题是找出方法,因为文档很少,如果你找到例子,它们也很少解释底层概念。下面的方法似乎有效,但我不知道为什么必须使用sectionconversionset
而不是conversion
(在参考文献中没有给出罗马数字)。我也不明白的确切语法prefixsegments
。
\definestructureconversionset [myset]
[
Romannumerals,
Romannumerals,
Romannumerals,
]
[numbers]
\setuphead [sectionconversionset=myset]
\setuppapersize[A4][A4]
\setuphead[section][sectionsegments=section]
\setuphead[subsection][margin=1cm, sectionsegments=subsection]
\setupreferencestructureprefix [subsection][default] [prefixsegments=section:*]
\starttext
\section{One}
\subsection[sec:oneone]{One-one}
Text
\subsection{One-two}
Text
\section{Two}
\subsection{Two-one}
Text reference to one-one should be I.1 and it is only 1 : \in[sec:oneone]
\subsection{Two-two}
Text
\stoptext
附言:
\startsection
我认为如果你使用/会更像上下文\stopsection