Maison > interface Web > tutoriel CSS > le corps du texte

Comment ajouter des classes CSS à des morceaux de code individuels dans RMarkdown ?

Linda Hamilton
Libérer: 2024-10-25 03:33:29
original
717 Les gens l'ont consulté

How to Add CSS Classes to Individual Code Chunks in RMarkdown?

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

supplémentaire.

Tentative initiale :

On pourrait essayer en utilisant la syntaxe suivante pour ajouter la classe .myClass au morceau de code intitulé « voitures » :

summary(cars)
Copier après la connexion
Copier après la connexion

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)
Copier après la connexion
Copier après la connexion

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
---
Copier après la connexion

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

"```{.r",
ifelse(is.null(options$class),
  "",
  paste0(" .", gsub(" ", " .", options$class))
),
"}\n",
x,
"\n```"
Copier après la connexion

))
})

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal