Ajout de classes CSS à des morceaux de code individuels dans RMarkdown
Dans RMarkdown, la personnalisation de l'apparence des morceaux de code peut améliorer la lisibilité et l'esthétique du document. Une façon d'y parvenir consiste à attribuer des classes CSS à des morceaux de code spécifiques.
Défi :
En tant qu'utilisateur de RMarkdown, vous devrez peut-être ajouter une classe CSS. à un certain morceau de code, désigné par une étiquette, par exemple .myClass. L'objectif est de trouver une solution simple qui ne nécessite pas de solutions de contournement lourdes comme envelopper le morceau dans un
Tentative initiale :
On pourrait essayer en utilisant la syntaxe suivante pour ajouter la classe .myClass au morceau de code intitulé « voitures » :
summary(cars)
Malheureusement, cette approche ne fonctionne pas. Pour remédier à cette limitation, nous présentons deux solutions :
Solution 1 : l'option class.source de Knitr
knitr, le package R sous-jacent pour RMarkdown, a récemment introduit la classe. source, qui vous permet de spécifier une classe CSS au morceau de code source :
summary(cars)
Cette méthode est simple et ajoutera la classe .myClass au
élément entourant le morceau de code dans le document HTML généré.</p> <p><strong>Solution 2 : l'extension fenced_code_attributes et le hook de sortie de Pandoc</strong></p> <p>Avant que knitr n'implémente l'option class.source, une solution impliquant L'extension fenced_code_attributes de Pandoc et un hook de sortie knitr personnalisé étaient populaires. Cette approche fonctionne en ajoutant des attributs au <pre class="brush:php;toolbar:false"> tag:</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">--- 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```"
))
})
résumé(voitures)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!