結構前から出来ますが。
マニュアルの対応する箇所はこちら。
他の形式にもあるのですが、変数を設定することによって出力を制御できます。PowerPointは現在はmonofont
だけのようですが、これを使うとスライド中のコードのフォントを指定することが出来ます。
これはPandocで使える機能なのですが、手元で試すにはRMarkdownが丁度良かったのでそちらでやります。
RStudio IDEを使用している場合、ツールバーのFile->New File->R Markdown... の順に選択、以下の画面でPresentationを選択して、PowerPointを選択します(出力されたテンプレートのoutputを修正してもいいです)
YAMLに以下のようにトップレベルにmonofont
を指定します。フォント名は使えるフォント名を適当に。今回は変化が分かりやすいのでAlegerianを指定していますが、"Lucida Console"とかがいいんじゃないかな。
ちなみに、存在しないフォント名を指定することも出来てしまうので、意図した表示になっているかは出来上がりのスライドをみて確認した方が良いでしょう(これはこの件に限りませんが)
title: "Untitled" author: "Author" date: '2022-04-26' output: powerpoint_presentation monofont: "Algerian"
さて、この状態でknitします。
すると、
{r cars, echo = TRUE} summary(cars)
はコードを実行してそのコードも表示するので、その表示されたコードはmonofontで指定したフォントになるわけです。結果として、4ページ目は
のように、Alegerianが反映されていることがわかります。
なお、Pandocとしては以下のように実行しています(RMarkdownはmarkdownに変更までをknitr/rmarkdownが実行し、その後Pandocが実行しているので)
pandoc +RTS -K512m -RTS pptx.knit.md --to pptx --from markdown+autolink_bare_uris+tex_math_single_backslash --output pptx.pptx
何かの参考になるかもということでメモを残しておきます。