如何在 ConTeXt 的标题中获取彩色 URL?

如何在 ConTeXt 的标题中获取彩色 URL?

我目前正在制作 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

在此处输入图片描述

相关内容