我目前正在制作 ConTeXt 备忘单。每个命令都设计为指向 wiki 的链接。大多数(但不是全部)子主题都专用于一个命令。我想坚持这种语义,但我无法让标题内的 URL 带颜色。我希望它们明显地显示为 URL。
以下是我目前所做的:
\setupinteraction[state=start]
\def\Commande#1{%
\goto{\tex{#1}}%
[url(https://wiki.contextgarden.net/Command/#1)]%
}
\starttext
\startsubject[title={Mise en page}]
\startsubsubject[title={\Commande{setuplayout}}]
\Commande{setuplayout} %just to check it works outside title
\stopsubsubject
\startsubsubject[title={Un exemple}]
\stopsubsubject
\stopsubject
\stoptext
编辑:当然,我可以用一个肮脏的技巧来解决这个问题,通过这种方式改变我的宏
\def\Commande#1{%
\goto{{\color[blue]{\bf {\tex{#1}}}}}%
[url(https://wiki.contextgarden.net/Command/#1)]%
}
来模拟url装饰,但是这不是应该做的。
答案1
ConTeXt 重置了部分标题中交互元素的style
和值。color
要让标题中的链接颜色恢复,您必须将命令\setupinteraction
作为参数传递给commandbefore
的键\setuphead
。
\setupinteraction
[state=start]
\define[1]\Commande
{\goto{\tex{#1}}[url(https://wiki.contextgarden.net/Command/#1)]}
\setuphead
[commandbefore={\setupinteraction[color=interactioncolor]}]
\starttext
\startsubsubject[title={\Commande{setuplayout}}]
\Commande{setuplayout}
\stopsubsubject
\stoptext