ユーザ用ツール

サイト用ツール


メモ:rmarkdown

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
メモ:rmarkdown [2021/11/10 10:31] – [PDF出力用の基本設定] Wiki Editorメモ:rmarkdown [2023/06/22 11:00] (現在) – [RStudio ServerでRMarkdownのチャンク出力のフォント設定] Wiki Editor
行 141: 行 141:
      
   ```   ```
- +===== YAMLヘッダの注意点 ===== 
 +YAMLヘッダからLatexのプリアンブルにコマンドを渡すとき、「#」を含めたい時がある。そのまま記述すると、YAMLのコメントアウトになってしまい、エラーになってしまう。その場合は、行をクォートすればよい。 
 + 
 +   
 +  - \foobar{#1} 
 +   
 + 
 +上記ではエラーとなるため 
 + 
 +   
 +  - '\foobar{#1}' 
 +   
 + 
 +のように、シングルクォートでくくるとよい。 
 + 
 ===== RmarkdownにLatexコマンドを直接埋め込む ===== ===== RmarkdownにLatexコマンドを直接埋め込む =====
 Rmarkdown内に「\」で始まるコマンドを直接書けば、単純なコマンドならばpandocが自動的にLatexコマンドと判断してそのまま利用できる。しかし、複雑なコマンドは文字列として解釈されてしまい、Latexソースに変換する段階でエスケープされてしまう。それを回避するためには、Latexチャンクで直接Latexコマンドを記載するとよい。 Rmarkdown内に「\」で始まるコマンドを直接書けば、単純なコマンドならばpandocが自動的にLatexコマンドと判断してそのまま利用できる。しかし、複雑なコマンドは文字列として解釈されてしまい、Latexソースに変換する段階でエスケープされてしまう。それを回避するためには、Latexチャンクで直接Latexコマンドを記載するとよい。
行 507: 行 522:
 なので、ここでは\orgrotateboxにコピーしたオリジナルの\rotateboxを使って、オプションの回転中心点を決める[origin=r]を指定した状態の\rotateboxコマンドを再定義している。origin=rで文字列の右端を回転軸にする。他にもx,yで細かく指定することも可能。 なので、ここでは\orgrotateboxにコピーしたオリジナルの\rotateboxを使って、オプションの回転中心点を決める[origin=r]を指定した状態の\rotateboxコマンドを再定義している。origin=rで文字列の右端を回転軸にする。他にもx,yで細かく指定することも可能。
  
 +
 +===== RStudio ServerでRMarkdownのチャンク出力のフォント設定 =====
 +
 +RStudioでRMarkdownファイルを作成すると、チャンクの出力をインラインで確認できる。この時、ggplot等でグラフを出力する場合のグラフィックデバイスはTools > Global Options > General > Graphics > Graphics Device > Backendで指定できる。ここでCairoやAGGを選択すれば日本語も出力できるが、デフォルトのフォントの指定ができない。
 +
 +ggplot等でフォントの指定をしなければ、標準のfallbackフォントが使われる。RStudio ServerをLinuxで動かしていると、Linux側の設定に従う。そのままでも日本語は表示されるといえばされるが、字形がどうも中国語っぽいものが使われるので、任意のものにしたい。
 +
 +そこで、Linuxの標準のフォント設定を変更する。RStudio以外にも影響するが、他も変更したいので問題なし。これでRStudioのセッションを再起動すれば、フォールバックフォントが変更されているのでチャンクのインラインプレビューの描画にも反映される。本来は上記のグラフィックデバイスの設定に追加オプションでフォント等の指定もできるとよいのだが。。
 +
 +  * /etc/fonts/local.confを以下のように作成する
 +
 +  <?xml version="1.0"?>
 +  <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 +  <fontconfig>
 +          <match target="pattern">
 +                  <test qual="any" name="family">
 +                          <string>mono</string>
 +                  </test>
 +                  <edit name="family" mode="assign" binding="same">
 +                          <string>Noto Sans Mono CJK JP</string>
 +                  </edit>
 +          </match>
 +          <match target="pattern">
 +                  <test qual="any" name="family">
 +                          <string>sans serif</string>
 +                  </test>
 +                  <edit name="family" mode="assign" binding="same">
 +                          <string>Noto Sans CJK JP</string>
 +                  </edit>
 +          </match>
 +          <match target="pattern">
 +                  <test qual="any" name="family">
 +                          <string>sans-serif</string>
 +                  </test>
 +                  <edit name="family" mode="assign" binding="same">
 +                          <string>Noto Sans CJK JP</string>
 +                  </edit>
 +          </match>
 +          <match target="pattern">
 +                  <test qual="any" name="family">
 +                          <string>serif</string>
 +                  </test>
 +                  <edit name="family" mode="assign" binding="same">
 +                          <string>Noto Serif CJK JP</string>
 +                  </edit>
 +          </match>
 +          <match target="pattern">
 +                  <test qual="any" name="family">
 +                          <string>sans</string>
 +                  </test>
 +                  <edit name="family" mode="assign" binding="same">
 +                          <string>Noto Sans CJK JP</string>
 +                  </edit>
 +          </match>
 +  </fontconfig>
  
メモ/rmarkdown.1636507900.txt.bz2 · 最終更新: 2021/11/10 10:31 by Wiki Editor

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki