# Markdown で書く

使い慣れた Markdown で下書きし、PDF か、共同執筆者向けの編集できる文書を作ります。

Markdown は、リサーチノート、報告書、初期の下書きに向いています。Oleafly は、専用の書式ツールバーと Pandoc のビルド経路を用意し、ソースファイルはアプリの外でも使えます。

## 報告書を作る

1. **新規プロジェクト → テンプレートを使う → Blank Markdown document** を選びます。
2. プロジェクトに **フィールドノート** と名前を付けて、`main.md` を開きます。
3. この例を貼り付けて、**再コンパイル**を選ぶか、⌘Enter / Ctrl+Enter を押します。
4. 必要なエンジンのセットアップを Oleafly が提案したら、そのセットアップを完了して、もう一度コンパイルします。

```markdown title="main.md"
---
title: "Field notes"
author: "Alex Chen"
date: ""
---

# Question

Does the revised procedure reduce measurement time?

## Method

1. Prepare the sample.
2. Repeat the measurement three times.
3. Record the elapsed time.

## Observations

| Run | Time (s) | Note |
| --- | --- | --- |
| 1 | 12 | First pass |
| 2 | 10 | Repeated pass |

The **mean time** will be compared with the baseline.
```

PDF には、タイトル、見出し、番号付きリスト、表が含まれるはずです。最初の `---` の行のペアに挟まれたメタデータが、文書のタイトルと著者を決めます。

## ソース編集とビジュアル編集

ツールバーの先頭にあるスイッチには 3 つのモードがあります。**コード**は Markdown を直接編集します。**ビジュアル**は、見出し、段落、リスト、リンク、画像、表を整形した状態で編集できます。**両方**は、ソースと整形後のテキストを一緒に表示します。そのメニューを開くと、**上下に配置**か**分割**を選べます。新しいプロジェクトはコードで開き、各プロジェクトは最後に使っていたモードを記憶します。

下線、ハイライト、上付き、下付きは、コードモードでの Pandoc の書式コントロールです。ビジュアルモードでは、それらのボタンは非表示になります。メタデータ、引用の構文、その他のソース上の構文を扱うときは、コードを使ってください。

[例のソースをダウンロード](/examples/writing-example.md)

## すべてのツールバーのツール

書式のコントロールをクリックする前に、テキストを選択します。コードモードでは、ほとんどのツールが選択範囲を囲むか、プレースホルダーを挿入します。バーに収まらないコントロールは、**その他の書式設定**（`…`）から開けます。

### コード / ビジュアル

**コード**、**ビジュアル**、**両方**を切り替えます。どのモードでも、文書は Markdown のソースのままです。

### 元に戻す

直前の編集を取り消します。⌘Z / Ctrl+Z。

### やり直す

取り消した編集を元に戻します。**⌘Shift+Z / Ctrl+Shift+Z**。

### 見出し → タイトル

見出しメニューから**タイトル**を選ぶと、`# Title` が挿入されます。見出しのテキストを自分のタイトルに置き換えます。

### 見出し → 節

見出しメニューから**節**を選ぶと、`## Section` が挿入されます。見出しのテキストを自分のタイトルに置き換えます。

### 見出し → 小節

見出しメニューから**小節**を選ぶと、`### Subsection` が挿入されます。見出しのテキストを自分のタイトルに置き換えます。

### 見出し → 小々節

見出しメニューから**小々節**を選ぶと、`#### Subsubsection` が挿入されます。見出しのテキストを自分のタイトルに置き換えます。

### 見出し → 小見出し

見出しメニューから**小見出し**を選ぶと、`##### Minor heading` が挿入されます。見出しのテキストを自分のタイトルに置き換えます。

### 見出し → 段落レベルの見出し

見出しメニューから**段落レベルの見出し**を選ぶと、`###### Paragraph heading` が挿入されます。見出しのテキストを自分のタイトルに置き換えます。

### 箇条書き

順序なしリストを始めます。`- Item`。

### 番号付きリスト

連番のリストを始めます。`1. Item`。

### タスクリスト

コードモードでタスクを追加し、完了したら `[ ]` を `[x]` に変えます。`- [ ] Task`。

### 引用ブロック

引用文を独立した行に置きます。`> quoted text`。

### 太字

選択したテキストを強調します。`**text**`、⌘B / Ctrl+B。

### 斜体

用語を強調します。`*text*`、⌘I / Ctrl+I。

### 取り消し線

置き換えられたテキストに印を付けます。`~~text~~`。

### インラインコード

ファイル名、コマンド、識別子を整形します。バッククォートで囲んだテキストになります。

### 下線

コードモードで語句を選びます。`[text]{.underline}`。

### ハイライト

コードモードで語句を選びます。`[text]{.mark}`。

### 上付き

コードモードで指数を選びます。`^text^`。

### 下付き

コードモードで添え字を選びます。`~text~`。

下線とハイライトは、書式が PDF にも引き継がれるように、Pandoc の属性を使います。原稿に生の HTML タグを加える代わりに、これらのコントロールを使ってください。

### リンクを挿入

**コード**モードでは、`[link text](url)` を挿入します。2 つのプレースホルダーを両方とも置き換えます。

**ビジュアル**モードでは、**リンクの URL** が開きます。アドレスを入力して、選択範囲に適用します。**リンクを削除**を使うと、テキストを残したままリンクだけを外せます。

### 画像を挿入

**コード**モードでは、`![caption](image-filename)` を挿入します。パスとキャプションを置き換えます。

**ビジュアル**モードでは、**画像ファイル**が開きます。`figures/plot.png` のようなプロジェクト内のパスを入力して、適用します。

### 表を挿入

**コード**モードでは、3 列、見出し行、データ 2 行を挿入します。列名とセルを置き換えます。

**ビジュアル**モードでは、同じ開始サイズの編集できる表を挿入します。

### 図を描く

Mermaid モードで[ダイアグラムコンポーザー](/docs/figures-diagrams/)を開きます。キャンバスにフローチャートを描くか Mermaid のコードを編集してから、**Mermaid として挿入**を選ぶと、カーソル位置に、`mermaid` のフェンス付きコードブロックとして追加されます。[Mermaid ダイアグラム](#mermaid-diagrams)を参照してください。

### 文書の分析

文書の見出し、図、表、数式、ラベル、引用、to-do を、ソースの順に、それぞれの行へのリンク付きで一覧します。タイトル、著者、キーワード、日付、概要も front matter から読み取り、投稿フォーム用にコピーできます。[文書の分析](/docs/document-insights/)を参照してください。

### 文書の設定

文書クラス、用紙サイズ、段数、余白、本文フォント、フォントサイズ、言語、行間、セクション番号を変更します。Oleafly は、選択した内容を Pandoc が読む YAML front matter に書き込み、ファイルに front matter がない場合はそのブロックを追加します。[文書の設定](/docs/document-settings/#markdown)を参照してください。

### プロジェクト情報

**コード**モードでは、プロジェクトの統計と選択範囲の情報を表示します。

**ビジュアル**モードでは、ビジュアル編集画面の統計を表示します。

### 検索

**コード**モードでは、⌘F / Ctrl+F でアクティブなファイルの検索を開きます。

**ビジュアル**モードでは、ソースのツールバーの検索ボタンは非表示です。

画像は、参照する前にファイルツリーから読み込みます。画像のパスは原稿からの相対パスにしておくと、ソースのアーカイブが別のコンピュータでも動きます。

## 数式とコードブロック

行内の数式は `$x^2$` と書きます。ディスプレイ数式は、ドル記号 2 つのペアの間に置きます。

```markdown
$$
\bar{x} = \frac{1}{n}\sum_{i=1}^{n}x_i
$$
```

コードのサンプルは、コードを 3 つのバッククォートで囲み、開きのフェンスの後ろに言語を書きます。これらはソース上の構文です。Markdown のツールバーには、数式やフェンス付きコードブロックの専用ボタンはありません。

## Mermaid ダイアグラム

ツールバーの**図を描く**を選ぶと、ダイアグラムコンポーザーで Mermaid のフローチャートを作れます。**Mermaid として挿入**は、それをフェンス付きのコードブロックとして追加します。

````markdown
```mermaid
flowchart LR
  A[Sample] --> B[Measure]
```
````

**両方**モードでは、整形された側がそのブロックをダイアグラムとして描画します。PDF には画像が必要なので、コンポーザーは描画した PNG を `figures/mermaid-<hash>.png` にも保存し、コンパイルではブロックの代わりにその画像が使われます。そのため、ダイアグラムはコンパイルされた PDF にも表示されます。そのあとでブロックを手で編集すると、コンポーザーからもう一度ダイアグラムを挿入または保存するまで、PDF にはコードが表示されます。[Markdown 文書の Mermaid](/docs/figures-diagrams/#mermaid-in-markdown-documents)を参照してください。

## 引用と参考文献

`references.bib` を読み込むか作成し、YAML メタデータに `bibliography: references.bib` を追加して、既存のキーを `[@citation-key]` で引用します。Pandoc は参考文献を使って、整形された引用と参考文献の一覧を作ります。

[参考文献を探して管理する →](/docs/citations/)

## 読み込みと書き出し

既存の下書きを Markdown のまま使うには、Blank Markdown document を作り、下書きを `main.md` に貼り付けて、その画像と参考文献を読み込みます。ライブラリの別メニュー **Markdown 文書**の読み込みは、現在、下書きを LaTeX に変換します。両方の経路については、[読み込みの経路](/docs/import-project/)で説明しています。

PDF にはコンパイルするか、**書き出し**を使って Word、HTML、Typst、LaTeX、プレーンテキストを作ります。元の Markdown とそのアセットを共有するには、ソースの ZIP を使います。手順と、変換後のファイルで行うべき確認は、[作業を書き出す](/docs/export/)で説明しています。
