メモ:rmarkdown
差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン次のリビジョン両方とも次のリビジョン | ||
メモ:rmarkdown [2020/05/05 12:29] – 作成 admin | メモ:rmarkdown [2020/05/12 10:56] – [Loopでチャンク作成] admin | ||
---|---|---|---|
行 30: | 行 30: | ||
- \setpagelayout * {margin=20mm} | - \setpagelayout * {margin=20mm} | ||
- \renewcommand{\baselinestretch}{0.9} | - \renewcommand{\baselinestretch}{0.9} | ||
+ | - | ||
- \usepackage[compact]{titlesec} | - \usepackage[compact]{titlesec} | ||
- | - \titlespacing*{\section}{0pt}{*0}{0pt} | + | - \titlespacing{\section}{0pt}{5pt}{3pt} |
- | - \titlespacing*{\subsection}{0pt}{*0}{0pt} | + | - \titlespacing{\subsection}{0pt}{5pt}{3pt} |
+ | - | ||
- \renewcommand{\labelitemi}{■} | - \renewcommand{\labelitemi}{■} | ||
- \renewcommand{\labelitemii}{$\circ$} | - \renewcommand{\labelitemii}{$\circ$} | ||
行 49: | 行 51: | ||
- \setlength{\@fpsep}{8pt} | - \setlength{\@fpsep}{8pt} | ||
- \setlength{\@fpbot}{0pt plus 1fil} | - \setlength{\@fpbot}{0pt plus 1fil} | ||
+ | - \makeatother | ||
+ | | ||
+ | - \makeatletter | ||
+ | - \renewcommand{\theequation}{% 式番号の付け方 | ||
+ | - \thesection-\arabic{equation}} | ||
+ | - \@addtoreset{equation}{section} | ||
+ | - \renewcommand{\thefigure}{% 図番号の付け方 | ||
+ | - \thesection-\arabic{figure}} | ||
+ | - \@addtoreset{figure}{section} | ||
+ | - \renewcommand{\thetable}{% 表番号の付け方 | ||
+ | - \thesection-\arabic{table}} | ||
+ | - \@addtoreset{table}{section} | ||
- \makeatother | - \makeatother | ||
| | ||
行 91: | 行 105: | ||
| | ||
``` | ``` | ||
+ | |||
+ | |||
+ | ===== パラグラフ間の余白(パラグラフ送り) ===== | ||
+ | |||
+ | パラグラフ間の字送り(余白)の設定。標準では1行空きになっているようだ。全体の設定を変更するにはヘッダ部分に以下を記述。 | ||
+ | |||
+ | | ||
+ | - \setlength{\parskip}{1.5em} | ||
+ | |||
+ | |||
===== Loopでチャンク作成 ===== | ===== Loopでチャンク作成 ===== | ||
図表を連続して作成する場合など、チャンク内のLoopから別のチャンクを生成したい場合がある。 | 図表を連続して作成する場合など、チャンク内のLoopから別のチャンクを生成したい場合がある。 | ||
- | まずテンプレートとなるチャンクを作成する。ループで回すように、必要な個所は変数化し該当箇所を「{{変数名}}」にしておく。以下の例では、チャンク名とキャプション、ggplotのy軸に使う変数名を外部から与えるパラメータにした。 | + | まずテンプレートとなるチャンクを作成する。ループで回すように、必要な個所は変数化し該当箇所を「%%{{%%変数名%%}}%%」にしておく。以下の例では、チャンク名とキャプション、ggplotのy軸に使う変数名を外部から与えるパラメータにした。 |
```{r チャンク名_{{prm_chankname}}, | ```{r チャンク名_{{prm_chankname}}, | ||
ggplot(data=DAT, | ggplot(data=DAT, | ||
geom_line() ... | geom_line() ... | ||
+ | | ||
``` | ``` | ||
行 144: | 行 168: | ||
こちらではは「\」が3つ必要。おそらく1つ目はLatexコード認識のため、2つ目は3つ目の「\」のためのエスケープ。 | こちらではは「\」が3つ必要。おそらく1つ目はLatexコード認識のため、2つ目は3つ目の「\」のためのエスケープ。 | ||
+ | |||
+ | ===== テーブルの5行ごとに縦スペースを追加(しない) ===== | ||
+ | Rで作成した表は、knitr:: | ||
+ | |||
+ | Latexの機能かRmarkdown、pandocの機能かは調べていないが、標準ではLatexに変換した段階で表の5行ごとに\addlinespaceが入っている。場合によっては等間隔にしたい。これを解除するためには、kableに以下のようにオプションを渡す。 | ||
+ | |||
+ | kable(...., linesep="" | ||
+ | |||
+ | linesep="" | ||
+ | |||
+ | ===== テーブルなどのラベルを改行する ===== | ||
+ | |||
+ | Latexに変換するときに改行を保持するための関数を使わないと、R側の改行が無視される。 | ||
+ | |||
+ | col.names = linebreak(c(" | ||
+ | |||
+ | このように、改行「\n」が入った文字列やベクトルをlinebreakに渡してやるとよい。 | ||
メモ/rmarkdown.txt · 最終更新: 2023/06/22 11:00 by Wiki Editor