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

时间:2018-09-05 18:49:01

标签: r yaml r-markdown

我有以下RMarkdown文件:

---
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。太棒了现在,假设我希望自己的URL为无名的十六进制颜色,例如#FF3300。我尝试了多种方法来提供这种颜色,但没有成功。例如,#FF3300被忽略,因为它被解释为注释。 "#FF3300""0xFF3300"0xFF3300都会引发错误。所以,我的问题是:在YAML标头中指定十六进制颜色时正确的语法是什么?

1 个答案:

答案 0 :(得分:2)

我似乎无法弄清楚如何使用title: "Test" author: "Mr. Test" date: "September 5, 2018" output: "pdf_document" header-includes: - \hypersetup{colorlinks=true, urlcolor = [rgb]{1,.2,0}} 来转义YAML标头,但是您可以显式地包含标头。您只需要将颜色值编码为三个数字0-1,即可表示红色,绿色,蓝色的强度

hyperref

尽管#FF3300非常接近红色,所以在输出上看起来并没有太大不同。

我认为YAML根本没有问题。问题在于颜色是由urlcolor完成的,并且是可以理解LaTeX颜色而不是R颜色值的LaTeX包装。第二个问题是rmakrdown或kniter或某种组合试图将括号和花括号转义为这些值,以至于在通过public void ConfigureServices(IServiceCollection services) { var connection = @"server=(localdb)\mssqllocaldb;Database=BabluDatabaseChat;Trusted_Connection=True;"; services.AddDbContext<MessageContext>(options => options.UseSqlServer(connection)); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); } 参数创建LaTeX代码时弄乱了这些值。