Quarto導入メモ (w/ VS Code & Anaconda)
環境
Quarto?
公式: Quarto
Markdown を Pandoc で HTML, PDF, jupyter notebook, reveal.js(HTML/CSS利用のプレゼン用スライド)などへ変換できるらしい。他にも似たようなのは色々あるわけだが、supported by Rstudio でドキュメントが既に手厚い&サポートも手厚そうなのがデカイ。Markdown でのスライド作成という意味では Marp や RISE も試してみたし、これらも悪くないのだが、やはり個人開発は手が回らない部分が多いようだし*1、開発停止も怖い。reveal.js というこれまた長持ちしそう・アクティブ開発されてそう、なものに乗っかっているのも大きい。日本語圏ではまだあまり知られてないようだが、日本語さえちゃんと使えるならこれはかなり良さそうに思える。
- 大学院生がMarkdownでスライド作りたくてQuarto触ってみた(みてる) - Qiita ← ここで存在を知った
- Quartoで日本語PDFを作成する - Qiita ← これも必要になるのかな…?(まだやってない)
- Quarto - Tutorial: Hello, Quarto ← この通りチュートリアルを進めたいが、Anaconda でやりたい
Anaconda の準備
- 普通に入れる
- Plotly Express はデフォルトでは入ってないので
conda install -c plotly plotly_express
で入れる(参考: Plotly Express :: Anaconda.org)- Proxy 環境の場合は、ホームに
.condarc
を作成して以下を書く必要がある(公式ページ):
- Proxy 環境の場合は、ホームに
proxy_servers: http: http://プロキシのIP:ポート https: http://プロキシのIP:ポート
このうち、https
の方は公式でも https://...
となっているのだが、実際には http://...
にしないと認識されなかった…。
VS Code での準備
- Python extension を入れる(多くの人が既に入れてると思うが、デフォルトでは入ってない)
- Terminal がエラーを吐いてさっぱりうまくいかない場合、Terminal をデフォルトの PowerShell から Command Prompt に変える(参考: python - Working with Anaconda in Visual Studio Code - Stack Overflow)。変更したあとで既存の teminal は exit してすべて閉じて、新しい terminal を開くこと(上のメニューから開ける)
Notepad++ keymap とのバッティング
Ctrl + Shift + K
が Quarto では Render という一番良く使うコマンドのショートカットなのだが、Notepad++ keymap という拡張を入れているとこれがバッティングする(keymapの方が優先されてしまう)。そこで、Ctrl + Shift + P
から Keyboard Shortcuts
を開き、ctrl shift k
を検索して、Notepad++ のやつを消すとか変えればいい。他にもバッティングがあったら同様にすればよい。
数式
- 数式はインラインがシングルドルマークで囲む(
$\alpha$
という感じ)のだが、ドルマーク直後・直前にスペースがあるとエラーになる。これに気づかずに時間を浪費した…。 - デフォルトのレンダリングエンジン(でいいのかな)は MathJax だが、KaTeX の方が速いらしいので、以下のようにして KaTeX に変えるのがよいかもしれない。
- 実は VS Code Quarto Extension の設定で MathJax に
mathtools
を追加してもうまく反映されない(たとえば\coloneqq
が変換されない)ので、この点でも KaTeX の方がよいかもしれない。
- 実は VS Code Quarto Extension の設定で MathJax に
format: revealjs: html-math-method: katex
Rstudio を使う場合
VS Code では reveal.js のプレビューが1ページずつしか表示されないので、見づらい。
Rstudio だと Visual Editor で WYSWYM ができるという から使ってみた。少しだけ使った感想としては、まぁまぁよさそう…?
Path の問題
起動するとデフォルトの(おそらくRstudioではなくRの)working directory が日本語を含む OneDrive になっているせいでエラーが出た:
Warning message: In normalizePath(path.expand(path), winslash, mustWork) :
これは Windows のユーザ環境変数に R_USER
というのを追加して、適当なパス(自分の場合 F:\Dropbox
)にすることで解決した。
参考: Rのインストール時に気をつけること - Qiita
OneDrive 末尾の日本語を消す方法
なお、解決策を探している際、レジストリをいじれば組織がデフォルトで OneDrive 末尾につけてくる日本語文字を変更できることを知った: Windowsスマートチューニング(436) Win 10編: OneDriveフォルダー名を自由に変更する | マイナビニュース 。これはこれで便利そうなのでやっておいた。いちおうリンク先消滅に備えてメモしておくと、Computer\HKEY_CLASSES_ROOT\CLSID\{04271989-C4D2-C17E-41C6-0C351AC68371}
の (Default)
と、すぐ近くの Computer\HKEY_CLASSES_ROOT\CLSID\{04271989-C4D2-C17E-41C6-0C351AC68371}\Instance\InitPropertyBag
の TargetFolderPath
を変えておいた。
Rmarkdown がないとかいうエラーか警告
メニューの Tools > Install Packages
から rmorkdown で検索して入れたらでなくなった。
*1:たとえば RISE は reveal.js に変換しているらしいのだが chalkboard の色が黒しかなかったりしょぼい。