Heim  >  Artikel  >  Web-Frontend  >  Wie kann ich CSS-Klassen auf Codeblöcke in RMarkdown anwenden?

Wie kann ich CSS-Klassen auf Codeblöcke in RMarkdown anwenden?

Linda Hamilton
Linda HamiltonOriginal
2024-10-24 18:52:30380Durchsuche

How Can I Apply CSS Classes to Code Chunks in RMarkdown?

Anwenden einer CSS-Klasse auf Codeblöcke in RMarkdown

Wenn Sie eine CSS-Klasse speziell zu einem Codeblock in RMarkdown hinzufügen möchten, gibt es solche Methoden, um dies zu erreichen.

Optionen für class.source und class.output

Für Knitr-Versionen 1.16 und höher können Sie die Optionen class.source und class.output verwenden um HTML-Klassen Quell- und Ausgabecodeblöcken zuzuweisen. Zum Beispiel:

summary(cars)

Dadurch wird die Klasse „myClass“ zum Quellcodeblock hinzugefügt.

Verwendung von Fenced_code_attributes und knitr Hooks

Vor knitr 1.16 können Sie die Pandoc-Erweiterung „fenced_code_attributes“ in Verbindung mit einem Ausgabe-Hook in knitr nutzen. Betrachten Sie Folgendes:

---
title: "Untitled"
  output: 
    html_document:
      md_extensions: +fenced_code_attributes
---

knitr::knit_hooks$set(source = function(x, options) {
return(paste0(

"```{.r",
ifelse(is.null(options$class),
  "", 
  paste0(" .", gsub(" ", " .", options$class))
),
"}\n",
x,
"\n```"

))
})

Then, within the code chunk, you can specify the class as follows:
summary(cars)
This will render the code chunk with the HTML class:

</p>
<pre class="brush:php;toolbar:false"><code>
    summary(cars)
<</code>/code>

Das obige ist der detaillierte Inhalt vonWie kann ich CSS-Klassen auf Codeblöcke in RMarkdown anwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn