ホームページ  >  記事  >  ウェブフロントエンド  >  RMarkdown の個々のコードチャンクに CSS クラスを追加するにはどうすればよいですか?

RMarkdown の個々のコードチャンクに CSS クラスを追加するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-25 03:33:29631ブラウズ

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

RMarkdown の個々のコード チャンクに CSS クラスを追加する

RMarkdown では、コード チャンクの外観をカスタマイズすると、ドキュメントの読みやすさと美しさを向上させることができます。これを実現する 1 つの方法は、CSS クラスを特定のコード チャンクに割り当てることです。

課題:

RMarkdown ユーザーは、CSS クラスを追加する必要がある場合があります。 .myClass などのラベルで指定された特定のコード チャンクに変換します。目標は、チャンクを追加の

でラップするなどの面倒な回避策を必要としない簡単な解決策を見つけることです。

最初の試行:

試してみてもよいでしょう次の構文を使用して、.myClass クラスを「cars」というラベルの付いたコード チャンクに追加します。

summary(cars)

残念ながら、このアプローチは機能しません。この制限に対処するために、2 つの解決策を紹介します。

解決策 1: Knitr の class.source Option

knitr (RMarkdown の基礎となる R パッケージ) は、最近このクラスを導入しました。ソース オプション。ソース コード チャンクに CSS クラスを指定できます。

summary(cars)

このメソッドは簡単で、.myClass クラスを

 に追加します。 </p>
<p><strong>解決策 2: Pandoc のfenced_code_attributes 拡張機能と出力フック</strong></p>
<p>knitr が class.source オプションを実装する前に、次の解決策が必要でした。 Pandoc のfenced_code_attributes 拡張機能とカスタム Knitr 出力フックは人気がありました。このアプローチは、<pre class="brush:php;toolbar:false"> に属性を追加することで機能します。 tag:</p>
<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```"

))
})

概要(車)

以上がRMarkdown の個々のコードチャンクに CSS クラスを追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。