【问题标题】:Using hex code to change text color in RMarkdown PDF (R)使用十六进制代码更改 RMarkdown PDF (R) 中的文本颜色
【发布时间】:2021-10-13 18:59:02
【问题描述】:

我正在尝试使用 PDF 输出更改 RMD 文件中的文本颜色。我这样做是为了工作,需要使用特定的十六进制颜色代码。

我能够使用以下命令成功更改文本颜色:

Roses are \textcolor{red}{red}, violets are \textcolor{blue}{blue}

是否可以使用颜色十六进制代码更改 PDF 输出中的文本颜色? 示例:

Roses are \textcolor{#1C8FCE}{#1C8FCE}, violets are \textcolor{#BBD531}{#BBD531}

感谢任何和所有的帮助。

【问题讨论】:

    标签: r hex


    【解决方案1】:

    是的,你可以,见therethere

    你也可以使用CSS:

    例如:

    ```{css echo=FALSE}
    .my color {
      color: #FF0000;
      font-weight: 700
    }
    ```
    
    
    #R Markdown
    `r sprintf("<span class='my color'>BLAH-BLAH</span>")`
    

    从 html 制作 pdf。 "Knit to Html" - &gt; "Open in Browser" -&gt; "Save as PDF..."

    【讨论】:

    • 这对你真的有用吗?我无法重现这一点,即 pdf 中的颜色没有变化。
    • @tpetzoldt 是的,等等,我添加一张照片
    • 我只能为 html 复制它,而不是 pdf。
    • @tpetzoldt 同意,但我们可以轻松地从 html 制作 pdf。 "Knit to Html" - &gt; "Open in Browser" -&gt; "Save as PDF..." 但我同意,在“Knit to PDF”中直接不起作用,对不起。
    • @tpetzoldt 因为PDF requires TEX (MiKTeX on Windows),如选项中所述。如果有人想制作 TEX 风格的 PDF 文档,是的,你的解决方案更可取。
    【解决方案2】:

    在 html 中很简单,您可以使用 &lt;span&gt;。在 PDF 中,可以先在 Latex 序言中定义自定义颜色,然后在降价文本中使用它。

    创建一个文件preamble.tex 并将其放在合适的位置,例如驱动 d: 我们定义自定义颜色:

    \usepackage{color}
    \definecolor{myred}{HTML}{E05428}
    \definecolor{myviolet}{HTML}{7653B5}
    

    然后可以在markdown文档中使用,例如文件test.Rmd:

    ---
    output:
      pdf_document:
          includes:
              in_header: "d:/preamble.tex"
    ---
    
    Roses are \textcolor{myred}{red}, violets are \textcolor{myviolet}{violet}
    

    【讨论】:

      猜你喜欢
      • 2022-01-04
      • 2017-10-01
      • 2022-01-04
      • 2021-07-19
      • 1970-01-01
      • 2011-10-25
      • 2011-09-20
      • 1970-01-01
      • 2019-11-28
      相关资源
      最近更新 更多