代码之家  ›  专栏  ›  技术社区  ›  Dan

在RMarkdown YAML标题中指定十六进制颜色

  •  3
  • Dan  · 技术社区  · 6 年前

    ---
    title: "Test"
    author: "Mr. Test"
    date: "September 5, 2018"
    output: pdf_document
    urlcolor: red
    ---
    
    [URL](www.google.com)
    

    这将产生以下结果:

    enter image description here

    红色链接指向www.google.com,如预期。令人惊叹的。现在,假设我希望我的网址是一个无名的十六进制颜色, #FF3300 #FF3300型 "#FF3300" 抛出一个错误,就像 "0xFF3300" 0xFF3300 . 那么,我的问题是:在YAML头中指定十六进制颜色时,正确的语法是什么?

    1 回复  |  直到 6 年前
        1
  •  4
  •   MrFlick    6 年前

    我似乎不知道如何正确地用 urlcolor: ,但可以显式包含标头。只需将颜色值编码为三个数字0-1,表示红、绿、蓝的强度

    title: "Test"
    author: "Mr. Test"
    date: "September 5, 2018"
    output: "pdf_document"
    header-includes:
        - \hypersetup{colorlinks=true, urlcolor = [rgb]{1,.2,0}}
    

    虽然#FF3300非常接近红色,所以在输出上看起来没有太大区别。

    我不认为问题出在YAML身上。问题是颜色是由 hyperref 这是一个乳胶包装,了解乳胶的颜色,而不是R的颜色值。第二个问题是,rmakrdown、kniter或其他组合试图避开这些值中的方括号和大括号,从而在通过 urlcolor 参数。