dynamicsoar's log

主に研究関係のメモ

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 というこれまた長持ちしそう・アクティブ開発されてそう、なものに乗っかっているのも大きい。日本語圏ではまだあまり知られてないようだが、日本語さえちゃんと使えるならこれはかなり良さそうに思える。

Anaconda の準備

  • 普通に入れる
  • Plotly Express はデフォルトでは入ってないので conda install -c plotly plotly_express で入れる(参考: Plotly Express :: Anaconda.org
    • Proxy 環境の場合は、ホームに .condarc を作成して以下を書く必要がある(公式ページ):
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 の方がよいかもしれない。
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\InitPropertyBagTargetFolderPath を変えておいた。

Rmarkdown がないとかいうエラーか警告

メニューの Tools > Install Packages から rmorkdown で検索して入れたらでなくなった。

*1:たとえば RISE は reveal.js に変換しているらしいのだが chalkboard の色が黒しかなかったりしょぼい。