Quarto + VSCode で作る数学ノート (TeXマクロ)

# Quartoを使いたい理由

- マークダウンで数学ノートを書くときに `\newcommand` が使いたい。
- 定理などを四角で囲みたい。

# インストールした環境
- Windows11
- WSL2 (Ubuntu-20.04)
- VSCode

# Linuxにインストール

(例) [参考: バージョン 1.2.335](https://docs.posit.co/resources/install-quarto/) (複数バージョンを入れられる方法でやっていますが、単一バージョンのみを入れるような別の方法があります)

```
export QUARTO_VERSION="1.2.335"

sudo mkdir -p /opt/quarto/${QUARTO_VERSION}

sudo curl -o quarto.tar.gz -L \
    "https://github.com/quarto-dev/quarto-cli/releases/download/v${QUARTO_VERSION}/quarto-${QUARTO_VERSION}-linux-amd64.tar.gz"

sudo tar -zxvf quarto.tar.gz \
    -C "/opt/quarto/${QUARTO_VERSION}" \
    --strip-components=1

sudo rm quarto.tar.gz\
```

インストールのチェックは以下の通り。

```
/opt/quarto/"1.2.335"/bin/quarto check
```

僕はRがインストールされていなかったのでインストールしました。

このとき、コマンドは `/opt/quarto/"1.2.335"/bin/quarto` です。`quarto` コマンドが使いたいならば、以下をする必要があります (以下をしないとVSCodeで上手く動かなかった)。

```
sudo ln -s /opt/quarto/${QUARTO_VERSION}/bin/quarto /usr/local/bin/quarto
```


## 付録: Ｒのインストール

[参考: Rのインストール](https://cran.ism.ac.jp/bin/linux/ubuntu/)

[参考: Rmarkdownのインストール](https://gedevan-aleksizde.github.io/rmarkdown-cookbook/installation.html)

- Rmarkdownのインストールはコマンドラインで `r` して `install.packages("rmarkdown")` するだけです。

## 付録: Macでのインストール

- `brew install --cask quarto` して `quarto check` すればOK。


# VSCodeで使ってみる

Quatroの拡張機能があるのでインストール。

- 拡張機能の設定の `render-on-save: true` で、保存したらプレビューが反映されるようになります。
- コードの例

```
\newcommand{\bR}{\mathbb{R}}
\newcommand{\set}[1]{\left\lbrace #1 \right\rbrace}
---
format:
  html:
    css: style.css
    html-math-method: mathjax
---

# Quartoです

This is written in Quarto. 日本語にも対応しています。

:::{.callout}
## Callout Title
Callout can include math $f(x) = x$.
:::

Quarto deals with `\newcommand`.

$\set{x} \subset \bR$.
```

- [数式のサイズが大きすぎるとき](https://github.com/quarto-dev/quarto-cli/discussions/2392)は `.css` でいじってあげれば良い。

- `.md` にしたいときは

```
format:
  gfm:
    html-math-method: webtex
```

とすれば数式もいい感じになってよい。

- `.pdf` にしたいときは

```
format: pdf
pdf-engine: xelatex
documentclass: bxjsarticle
classoption: xelatex,ja=standard
editor: visual
```


# 不満点

- `.md` のように[live previewができないっぽい](https://github.com/quarto-dev/quarto-cli/discussions/3067)ので現状 `render-on-save` で耐えるしかないっぽい。
- `.css` でフォントを変えると数式フォントが微妙になる気がする。

# その他の役に立つページ

## 日本語の資料

https://qiita.com/Sangen_u/items/ff7ee6ec1ef2c13f8f99

https://zenn.dev/mosamosa/articles/3e57cb1fe0f1a5

https://www.jaysong.net/RBook/quarto.html

https://zenn.dev/shuntarosato/articles/e1ff406cbacc22

## calloutについて

https://stackoverflow.com/questions/74647399/define-a-new-callout-in-quarto

https://quarto.org/docs/authoring/callouts.html

https://quarto.org/docs/output-formats/html-themes.html

## snippet登録したいとき

https://stackoverflow.com/questions/74339501/how-do-i-create-quarto-snippets-in-vscode


## 2段組みにしたいとき

```
::::{.grid}
:::{.g-col-6}
left column
:::
:::{.g-col-6}
right column
:::
::::
```

## TeXコマンドを外部から呼び出したい

https://github.com/quarto-dev/quarto-cli/discussions/2845

## MathJaxパッケージを追加したい

https://github.com/quarto-dev/quarto-cli/discussions/2976

## 他のqmdファイルを埋め込みたい

https://stackoverflow.com/questions/62559534/embed-text-files-written-with-markdown-syntax-in-another-rmarkdown-file