# 文書形式：インライン書式と数式

> 行の中の記号：強調、リンク、チップ、スモールキャピタル、タブ、縦組み、中国語と日本語の記号、文字方向、LaTeXの数式

- HTML版: https://postext.dev/ja/docs/document-format-inline
- 最終更新: 2026-10-16
- 読了時間: 27分
- 他の言語: [en](https://postext.dev/en/docs/document-format-inline.md), [es](https://postext.dev/es/docs/document-format-inline.md), [ca](https://postext.dev/ca/docs/document-format-inline.md), [de](https://postext.dev/de/docs/document-format-inline.md), [fr](https://postext.dev/fr/docs/document-format-inline.md), [it](https://postext.dev/it/docs/document-format-inline.md), [pt](https://postext.dev/pt/docs/document-format-inline.md), [zh](https://postext.dev/zh/docs/document-format-inline.md), [ar](https://postext.dev/ar/docs/document-format-inline.md)

## かんたんな説明

このページでは、文章の行の中で使う記号を説明します。語を太字や斜体にする、リンクを付ける、小さなラベルを描く、スモールキャピタルにする、タブ位置で文字をそろえる、といった記号です。ほかに、字の上に小さく読みを付けるルビのような中国語と日本語の本のための記号や、アラビア語の本の中の英語のように向きの違う語句のための記号があります。最後の節では、数式の書き方を示します。

## インライン書式

インライン書式は、どのテキストブロック（見出し、段落、引用ブロック、リスト項目）の中でも認識されます。見出しでは`headings.inlineMarks`に従い、既定ではオンです。見出しのイタリック、太字、上付き・下付き、スモールキャピタル、リンクは段落と同じように印刷され、イタリックの見出しの中でイタリックにした部分は立体（ローマン体）で組まれます。オフにすると記号は取り除かれ、見出しはその見出し自体のスタイルで印刷されます。postext 1.4以前に保存された設定で、見出しに書式記号を含むものはこの扱いで読み込まれます（[設定 › 見出し](https://postext.dev/ja/docs/configuration-headings.md#見出し)を参照）。見出しデザインの`{titleText}`は、どちらの場合も書式のないテキストとして印刷されます。

> **図: インライン書式の一覧**
> 太字、イタリック、太字イタリック、インラインコード、リンクについて、Markdownと描画結果を比べます。
>
> *左がMarkdown、右が描画結果です。*

| 書式 | 構文 | 説明 |
| --- | --- | --- |
| 太字 | `**bold**`または`__bold__` | `bodyText.boldFontWeight`で描画されます。`bodyText.boldColor`を指定すると、太字部分の色を本文の既定色から変えられます。 |
| イタリック | `*italic*`または`_italic_` | 現在のフォントファミリーのイタリックで描画されます。`bodyText.italicColor`を指定すると、イタリック部分の色を本文の既定色から変えられます。アンダースコアが強調を示すのは、CommonMarkと同じく語の境界にあるときだけです。2つの文字や数字にはさまれたもの（`snake_case_name`、URLの`SR_AIR_EN.pdf`）はテキストのままです（`__bold__`も同様）。語の途中ではアスタリスクを使います（`un*believ*able`）。中国語、日本語、韓国語の文字はここでは文字として数えません。これらの表記体系には語間スペースがないためです。`中文_イタリック_中文`と`中文__粗体__中文`はイタリックと太字になります。太字にならない`__`がイタリックに変わることはなく、`foo__bar__baz`はテキストのままです。 |
| 太字イタリック | `***both***`または`___both___` | 両方の指定が組み合わされます。 |
| 上付き | `^text^` | 文字サイズの58%で組み、文字サイズの3分の1だけ持ち上げます。指数（`10^-8^`）やイオンの電荷（`Na^+^`）に使います。記号で囲む部分は、スペース以外の文字で始まりスペース以外の文字で終わる必要があります。文中に単独で現れるキャレットはそのまま印刷され、顔文字の`^_^`と`^o^`もそのままです（`n.^o^`と`1^o^`は上付きになります）。 |
| 下付き | `~text~` | サイズは同じで、文字サイズの0.15だけ下げるので、ディセンダーの範囲に収まります。化学の添え字（`H~2~O`、`p<em>K</em>~a~`）に使います。両側に数字があるチルダは範囲を表すものとしてそのまま印刷されます（`3~5 days`、`需要3~5天`）。2つの中国語の語のあいだにあるチルダも下付きを開かず、そのまま印刷されます（`周一~周五`、`北京~上海`）。ただし、下付きは中国語の文字の前で閉じることができます（`F~合~等于`）。太字やイタリックと組み合わせられます（`**H~2~O**`）。下付きと上付きをあいだに何もはさまずに続けて書くと、数式のように上下に重ねて組まれます。`*T*~0~^2^`は、どちらを先に書いても2を0の上に置きます。このとき下付きは上付きとぶつからないよう文字サイズの0.25だけ下げられ、組の幅は広いほうの幅になります。あいだにスペースや文字があると、2つは順に並べて組まれます。単語結合子（U+2060）をはさんでも同じで、その場合はあいだに何も見えません。重ねた組が改行で分かれることはありません。行に収まらない語は、その組の前で改行されます。 |
| スモールキャピタル | `:smallcaps[text]` | 小文字を文字サイズの70%の大文字として組みます。戯曲の登場人物名や、本文中の頭字語に使います。中や外側にほかの書式を組み合わせられます。[スモールキャピタル](https://postext.dev/ja/docs/document-format-inline.md#スモールキャピタル)を参照してください。 |
| 縦組みでの文字の向き | `:tcy[12]`、`:upright[GDP]`、`:sideways[12]` | 縦組みで、1つの正立したマスにまとめる（縦中横）、1文字ずつそれぞれのマスに正立させる、または範囲全体を横倒しにする指定です。横組みでは効果がありません。[縦組みでの文字の向き](https://postext.dev/ja/docs/document-format-inline.md#縦組みでの文字の向き)を参照してください。 |
| 中国語の記号 | `:dots[不可]`、`:name[賈寶玉]`、`:book[石頭記]` | 圏点（着重号）、固有名詞の傍線（专名号）、書名号（书名号。`cjk.bookTitleMark`に従い《》または波線）です。テキストは書いたとおりに残ります。[中国語の記号、ルビ、割注](https://postext.dev/ja/docs/document-format-inline.md#中国語の記号ルビ割注)を参照してください。 |
| ルビ | `:ruby[紅樓]{rt="hóng lóu"}`または`{紅樓\|hóng\|lóu}` | 親文字の上（または横）にピンインや注音のよみを付けます。簡易形式は親文字に漢字、仮名、注音字母が含まれる場合だけ有効なので、`{x\|x>0}`はテキストのままです。 |
| 割注 | `:warichu[note]{open="〔" close="〕"}` | 行の中に半分のサイズの2行で組む注（双行夹注）です。行やページをまたいで分割されます。 |
| インラインコード | ` 0 ` | バッククォートは取り除かれ、その範囲は書いたとおりのプレーンテキストとして描画されます。中にある`:ref{…}`、チップ、数式、リンク、強調記号はそのまま印刷されるので、本文で構文そのものを示すときに使えます。本文の書体で組まれますが、`codeStyle.inline`を設定するとコードの書体で、ひとまとまりとして組まれます（[設定 › コードリスト](https://postext.dev/ja/docs/configuration-styles.md#コードリスト)を参照）。コードリストは[コードブロック](https://postext.dev/ja/docs/document-format.md#コードブロック)に書きます。 |
| エスケープ | `\*`、`\_`、`\^`、`\~`、``\```、`\$` | バックスラッシュを付けると、範囲を開く代わりにその記号文字そのものを組みます。表の注のアスタリスク（`\* pOH = −log [OH^−^]`）、文字としてのキャレット、数式を開かないドル記号などです。本文、チップ、キャプション、セル、注で有効です（postext 1.4までは、キャプション、セル、注、チップで`\$`のバックスラッシュも印刷されていました）。 |
| ノーブレークスペース | 文字そのもの：U+00A0、U+202F、U+2007 | 前後の語を結びつけ、そのあいだで改行されないようにします。数値と単位（37 °C）、ページ参照（p. 12）、3桁区切り（225 000）などに使います。ノーブレークスペース（U+00A0）、狭いノーブレークスペース（U+202F）、数字幅スペース（U+2007）はいずれも、本文、キャプション、セル、囲み、柱で語を結びつけ、それぞれ固有の幅を保ちます。両端そろえで伸びるのは語間スペースだけです。多くの書体には狭いノーブレークスペースや数字幅スペースのグリフがありません。その場合はブラウザーと同じく、Canvas、HTML、PDFのいずれでも、語間スペースの半分と数字1つの幅で組まれます。U+00A0はほぼすべての書体にあるので、これが安全な選択です。こうして結びつけたまとまりが行全体より広い場合は、語の途中ではなく最後のノーブレークスペースで改行されます。単語結合子（U+2060）は幅を取らずに結びつけます。文字そのものを入力してください。` `のようなHTMLエンティティは書いたとおりに印刷されます。[改行されない箇所](https://postext.dev/ja/docs/justification.md#行を分割しない箇所)を参照してください。 |
| ソフトハイフン | 文字そのもの：U+00AD | 語を分割してよい位置で、行がそこで終わるときにハイフンが加わります。2つの文字または数字のあいだに限ります。ソフトハイフンをもつ語は辞書からほかの分割位置を受け取らないので、そのソフトハイフンが唯一の分割位置になります。語の最初の文字の前に入力すると、何も分割せず、その箇所の語を分けずに保ちます。括弧、引用符、約物の隣では何もしません。[改行されない箇所](https://postext.dev/ja/docs/justification.md#行を分割しない箇所)を参照してください。 |
| リンク | `[text](https://…)` | 表示テキストは流れの中に残り、リンクがない場合とまったく同じに組まれます。URLにより、HTMLとPDFの出力ではその語が有効なリンクになります。[リンク](https://postext.dev/ja/docs/document-format-inline.md#リンク)を参照してください。 |
| 画像 | `![alt](src)` | インラインの画像Markdownはテキストから**取り除かれます**。組版エンジンが`resourcePlacement`の規則に従って配置できるよう、画像は`PostextContent.resources`で宣言する必要があります。 |
| チップ | `:chip[text]` | 1つの単位として折り返される、枠付きのテキストです。語群、キー、タグなどに使います。スタイルは`chipStyles`で指定します。[インラインのチップ](https://postext.dev/ja/docs/document-format-inline.md#インラインのチップ)を参照してください。 |
| タブ | `:tab`、`:tab{at=120mm align=end leader="."}` | その後の語を次のタブ位置へ送ります。行き先は段落のスタイルのタブ位置のいずれか、または属性で指定したタブ位置です。本文に入力したタブ文字は、スタイルがタブ位置を設定している場所でだけタブになります。[タブとタブ位置](https://postext.dev/ja/docs/document-format-inline.md#タブとタブ位置)を参照してください。 |
| インライン数式 | `$…$` | 前後のテキストとともに流れるLaTeXの数式です。たとえば`$e^{i\pi}+1=0$`。MathJaxで組まれ、どのバックエンドでもベクターパスとして描画されます。ドル記号そのものには`\\$`を使います。拡大縮小、別行立て（`$$ … $$`）の形式、エラーの扱いは[数式](https://postext.dev/ja/docs/document-format-inline.md#数式)で説明します。 |

### リンク

Markdownのリンク`[text](url)`は、リンクがない場合とまったく同じにテキストを流れの中に組みます。リンクによって改行位置、スペース、色が変わることはありません。URLは、それをたどれる出力のために保持されます。

- **HTML**（`renderToHtml`）：リンクの語は`<a href="…" rel="noopener noreferrer">`で囲まれ、テキストの色を受け継ぎ、下線は付きません。アンカーは、1行の中で連続するリンクの語ごとに1つです。
- **PDF**（`postext-pdf`）：1行の中で連続するリンクの語が、それぞれクリックできるURIリンク注釈になります。タグ付きPDFでは、リンクの語をテキストとする`Link`要素になります。
- **Canvas**：Canvasにはクリックできる面がないので、プレーンテキストとして描画されます。

```markdown
Read the [configuration guide](https://postext.dev/en/docs/configuration "Configuration")
or write to [the team](mailto:team@example.com).
```

- リンク先にはタイトルを付けられますが、無視されます（`[text](https://example.com "Title")`）。リンク先を山かっこで囲むこともでき、その場合スペースは`%20`になります（`[text](<https://example.com/a b>)`）。
- 保持されるのは安全なリンク先だけです。`http:`、`https:`、`mailto:`、`tel:`、`ftp:`と相対URL（`../guide`、`#top`）です。それ以外のスキーム（`javascript:`、`data:`、`file:`…）では、テキストはリンクなしで組まれます。PDFがリンクにするのは絶対URLだけです。
- CommonMarkと同じく、かっこの対応がとれていればリンク先にかっこを含められます。`[photo](https://commons.wikimedia.org/wiki/File:Bike_(Unsplash).jpg)`はURL全体をリンクにします。バックスラッシュは文字をエスケープします（`\(`、`\_`）。かっこの対応がとれていないと、リンク先は最初の`)`で終わり、テキストはリンクなしで組まれます。単独のかっこは`%28`または`%29`にエンコードしてください。山かっこで囲んでいなければ、スペースでもリンク先は終わります。
- リンクのテキストにくっついた語は、そのリンクを共有します。`see [the site](https://example.com).`では、ピリオドもクリックできる範囲に含まれます。
- リンクのテキストには強調を含められ（`[**bold** words](…)`）、リンクを強調の中に置くこともできます（`**[words](…)**`）。
- リンクは段落、リスト項目、引用ブロック、囲み、キャプション、注、表のセルで使え、見出しでも`headings.inlineMarks`がオン（既定）のあいだは使えます。見出しから作られる柱、アウトライン、目次の行はテキストだけを使い、`:chip[…]`のテキストも同様です。
- 参照形式のリンク（`[text][id]`）と自動リンク（`<https://…>`）は認識されません（[対応していない記法](https://postext.dev/ja/docs/document-format.md#対応していない記法)を参照）。

VDTでは、リンク先はリンクの付いた各セグメントに`VDTLineSegment.href`として入ります。パーサーはスパンのリンクをテキスト上の範囲として`InlineSpan.links`に保持し、リンクのためにスパンを分割することはありません。そのため、リンクがレイアウトを変えることはありません。

### インラインのチップ

`:chip[text]`は`text`を、行とともに流れる枠（角の丸い、色付きの「チップ」）の中に組みます。語群や分類問題の語、キーボードのキー、タグに使います。`:chip[text]{style="key"}`は`chipStyles`から名前付きのスタイルを選びます（設定リファレンスを参照）。`style`がない場合や、どのスタイルも宣言していないidを指定した場合、チップは最初のスタイルを使います（設定にスタイルがなければ組み込みの`chip`スタイル。不明なidにはSandboxが警告を出します）。

```markdown
Classify: :chip[battery] :chip[cable] :chip[switch] :chip[bulb]

Press :chip[Ctrl]{style="key"} + :chip[C]{style="key"} to copy.
```

- **1つの単位**：チップの内部で改行やハイフネーションが行われることはなく、改行はチップのあいだ、前後の語間スペースで行われます。行全体より広いチップは、分割されずに行からはみ出します。
- **幅**：送り幅は、テキストに左右両側の水平パディングと輪郭線を加えたものです。両端そろえで伸びるのは語間スペースだけで、チップの内部は伸びません。スタイルの`gap`は、スペースをはさんで隣り合う語やチップと枠とのあいだに確保する最小の間隔です。それより狭いスペースは広げられます（行の端や、`:chip[a],`のようにくっついた句読点の前では広げません）。
- **高さ**：枠はベースラインを中心とした帯で、チップのサイズで上に0.8 em、下に0.25 emあり、そこに垂直パディングと輪郭線が加わります。垂直パディングは行ボックスの外側に描かれ、行の高さを変えないので、ベースライングリッドは保たれます。行送りより高い枠は、上下の行のチップと重なることがあります。異なる行の2つのチップが重なると、Sandboxは「チップが隣の行に接触」と警告するので、パディング、輪郭線、サイズを小さくして対処できます。
- **テキスト**：チップのテキストには独自のインライン書式（`:chip[**bold** word]`、`:chip[x^2^]`）と外側の強調（`**:chip[a]**`）が効きます。スタイルではファミリー、サイズ、色、太字、イタリックを指定できます。中で角かっこそのものを書くには`\]`とします。チップの中の参照、色見本（スウォッチ）、数式はそのまま印刷され、`\$`はドル記号を印刷します（postext 1.4まではバックスラッシュも印刷されていました）。
- **空のチップ**：スペースだけのチップ（`:chip[ ]`、ノーブレークスペースを含む）は空の枠になり、解答欄や終了記号に使えます。幅はスタイルの水平パディングと輪郭線の分、高さは語の入ったチップと同じです。空欄の大きさはスタイルの`paddingX`で決めます（`:chip[ ]{style="blank"}`）。角かっこのあいだに何もない`:chip[]`は、テキストのまま残ります。
- **使える場所**：段落、リスト項目、引用ブロック、囲み、表のセル、キャプション、注。見出しでは`:chip[…]`はテキストのまま残ります。
- **出力**：Canvas、HTML、PDFは枠を描き、語を実際のテキストとして組みます。HTMLでは選択でき、PDFでは抽出でき、読み順どおりに並びます（タグ付きPDFでは、枠はレイアウト用のアーティファクトで、語は段落に属します）。

### ハイライト

`:mark[テキスト]` は、教科書がキーワードに線を引くように、`テキスト` の後ろに色の帯を敷きます。チップと違って、マークした語はふつうの本文のままです。周りの語と同じように行末で折り返し、ハイフンで分割され、両端揃えに加わり、帯は各行にかかる語句の部分ごとに付きます。`:mark[テキスト]{style="key"}` は `markStyles` から名前付きのスタイルを選びます（設定リファレンスを参照）。`style` がないとき、またはどのスタイルにも宣言されていない id のときは、最初のスタイルになります（設定にスタイルがなければ組み込みの淡い黄色の `mark`。Sandbox は不明な id を警告します）。

```markdown
太陽が海を温めると、:mark[水は水蒸気になって空へのぼり、そこで冷えて雲になる]。

- :mark[蒸発]{style="key"}：水が水蒸気に変わる。
```

- **改行。** マークは複数の語を含み、行末をまたいでかまいません。行ごとに帯が付きます。左右の余白と丸い角は語句の本当の始めと終わりにだけ描かれます。語句が折り返すところでは、帯はその行の最後の文字でまっすぐに切れ、次の行の最初の文字からまっすぐに始まります。
- **場所を取らない。** 帯は文字の下に、ベースラインの上 0.8 em から下 0.25 em まで、上下の余白を加えて描かれます。左右の余白は語句の両隣の空白にかかります。行の折り返しはマークがないときとまったく同じなので、組み終えた本にマークを付けてもページは動きません。
- **テキスト。** マークしたテキストには、独自のインラインの書式（`:mark[**大事な**語]`）、リンク、チップ、参照を入れられます。角かっこは中で入れ子にでき（`:mark[[地図]を見よ]`）、`\]` はかっこそのものを書き、テキストは原稿のソフト改行をまたいでもかまいません。かっこの外で語句にくっついた句読点（`:mark[陸地]。`）は帯の外に出ます。スタイルの文字色は、それを含む語全体にかかります。マークの中のマークは、そのテキストとして組まれます。
- **使える場所。** 段落、本文中に組まれる見出し、箇条書きの項目、引用、囲み、脚注、表のセル、キャプションと注記。左から右の文字、右から左の文字、中国語と日本語で使えます。キャンバス、PDF、HTML が帯を描き、タグ付き PDF では帯はレイアウトのアーティファクトで、語は段落に属します。デザインが描く見出し（扉）は帯なしで語を出力し、縦組みのページの HTML ビューアーも同じです。

### スモールキャピタル

`:smallcaps[text]`は`text`をスモールキャピタルで組みます。戯曲の登場人物名、本文中の頭字語、章の冒頭の数語などに使います。小文字は文字サイズの70%の大文字として組まれ、大文字、数字、句読点は元のサイズのままです。そのため`:smallcaps[Hamlet]`は、元のサイズのHに続けてスモールキャピタルのAMLETを印刷します。

```markdown
Enter :smallcaps[Hamlet] and :smallcaps[Horatio], reading.

The :smallcaps[unesco] report and the :smallcaps[who] guidelines.
```

- **合成**：スモールキャピタルは書体自身の大文字から作られ、Canvas、HTML、PDFで同じ方法で描かれるので、テキストの計測と改行はどこでも同じになります。書体本来のスモールキャピタル（OpenTypeの`smcp`機能）は使われません。それを使うには、段落スタイルでスモールキャピタルのファミリー（たとえば名前が「SC」で終わるファミリー）を指定してください。
- **書式**：テキストには独自のインライン書式（`:smallcaps[**Ophelia**]`）と外側の強調（`*:smallcaps[Act I]*`）が効きます。中で角かっこそのものを書くには`\]`とします。中の参照やチップもスモールキャピタルで組まれ、参照はHTMLとPDFで1つのリンクのままです。数式はスモールキャピタルになりません。
- **改行**：語は通常どおり折り返され、ハイフネーションされます。ハイフネーションは各語を元の大文字・小文字のまま読みます。
- **使える場所**：段落、リスト項目、引用ブロック、囲み、表のセル、キャプション、注、そして`headings.inlineMarks`がオン（既定）のあいだは見出し。オフにすると見出しからマークアップが取り除かれ、テキストは書いたとおりに印刷されます。
- **段落全体**：`smallCaps: true`を指定した段落スタイルや囲みの本文は、すべてのテキストをこの方法で組みます（[段落スタイル](https://postext.dev/ja/docs/configuration-styles.md#段落スタイル)を参照）。
- **テキスト**：Canvas、HTML、PDFは描いたとおりの文字を保持します。`:smallcaps[Hamlet]`をコピーすると「HAMLET」になります。

### タブとタブ位置

タブは、その後の語を行の上のタブ位置へ送ります。点の列をはさんで行長の終わりにそろえた料理の値段、配役表で役名の後に並べる俳優の名前、試験問題の欄外に置く配点などに使います。タブを入れる位置に`:tab`と書きます。前後のスペースはタブに含まれます。タブ位置は設定で指定します。すべての段落、リスト項目、引用には`bodyText.tabStops`、`:::paragraphs`グループの段落には段落スタイルの`tabStops`、囲みの中には囲みスタイルの`body.tabStops`を使います（[設定 › タブ位置](https://postext.dev/ja/docs/configuration-text.md#タブ位置)を参照）。値段を点のリーダーの後に置き、行長の終わりにそろえるメニューは次のようになります。

```ts
paragraphStyles: [
  { id: 'menu', firstLineIndent: { value: 0, unit: 'em' }, tabStops: [{ position: 'end', align: 'end', leader: '. ' }] },
],
```

```markdown
:::paragraphs{style="menu"}
オニオンスープ :tab 850

真鯛のグリル、フェンネルとレモン添え :tab 2,100
:::
```

`:tab{…}`は、スタイルを使わずに、そのタブ1つだけのタブ位置を設定します。行の終わりまで引いた記入欄や、小数点でそろえた金額などです。

```markdown
氏名 :tab{at=end leader=rule}

お支払い合計 :tab{at=80% align=decimal} 1,234.50
```

| 属性 | 意味 |
| --- | --- |
| `at` | タブ位置の場所で、段落の行長の始端から測ります。長さ（`120mm`、`4cm`、`2em`。単位のない数値はポイント）、行長の終わりを表す`end`、または行長に対する割合（`60%`）です。`at`がなければ、`:tab{…}`は何も付けない`:tab`と同じくスタイルのタブ位置へ進みます。 |
| `align` | `start`（既定）：タブの後のテキストがタブ位置から始まります。`end`：テキスト（次のタブまたは段落の終わりまで）がタブ位置で終わります。`center`：テキストがタブ位置を中心に置かれます。`decimal`：テキストの小数点がタブ位置に来ます。小数点のないテキストはタブ位置で終わります。 |
| `leader` | タブ位置の手前の空きに繰り返す文字列です。`"."`、`". "`、`"·"`、`"_"`、`"-"`、またはほかの短い文字列で、段落の書体と色で組みます。`rule`はベースラインの少し下に線を引き、記入欄になります。既定はなしです。 |
| `gap` | リーダーと両側のテキストとのあいだに確保するアキです。既定は段落の文字サイズの`0.5em`で、単位のない数値はポイントです。 |
| `decimal` | `decimal`のタブ位置がそろえる小数点の文字です。既定は文書の言語のもので、英語、中国語、日本語、アラビア語では`.`、スペイン語、カタルーニャ語、ポルトガル語、フランス語、ドイツ語などでは`,`です。 |

- **タブの行き先**：その行の前のタブが使ったタブ位置より後にあるタブ位置のうち、タブの前のテキストを越えた最初のものへ進みます。そのため、行の2つ目のタブはたいてい2つ目のタブ位置を取ります。最後のタブ位置より先では、`tabInterval`が行長の始端から一定の間隔でタブ位置を加えます。それがなければ、タブは語間スペースになります。
- **タブ文字**：本文に入力したタブ（U+0009）は、スタイルが`tabStops`または`tabInterval`を設定している段落でだけタブになります。それ以外の場所では従来どおり語間スペースなので、スペースの代わりにタブで書いた文書もレイアウトが変わりません。タブ文字を続けると、その数だけ先のタブ位置へ進みます。原稿の行頭のタブは、行頭のほかの空白と一緒に取り除かれます。行をタブ位置から始めるには`:tab`と書きます。
- **テキストのまま残るもの**：後ろに文字が続く`:tab`（`3:table`）と、インラインコード、数式、リンクのアドレス、ディレクティブの属性の中の`:tab`です。
- **使える場所**：段落、リスト項目、引用、囲み、`:::paragraphs`グループ。見出し、キャプション、表のセル、デザインのテキスト（扉、柱）にはタブ位置がありません。
- **タブ位置を越えたテキスト**：タブの前のテキストが、その行に残るすべてのタブ位置をすでに越えている場合、`end`、`center`、`decimal`のタブ位置では、タブの前の最後の語がタブ位置のテキストと一緒に次の行へ送られ、その前のテキストは狭い幅で組まれます。目次の行がページ番号を保つためにタイトルを折り返すのと同じです。`start`のタブ位置ではタブの前で改行し、タブの後のテキストは次の行のそのタブ位置から始まります。行頭のタブで、それでもタブ位置が見つからないものは幅を取りません。
- **リーダー**：リーダーはタブ位置の手前の空きを埋め、その空きの終わりにそろえて終わるので、前のテキストがどうであれ、複数の行の点は縦にそろいます。`gap`はリーダーを両側のテキストから離します。タブが行頭にあるときはリーダーの前に、後に何も続かないときはリーダーの後にアキを入れません。リーダーは3回以上の繰り返しで組みます。1回か2回しか入らない空きは、目次と同じく空けたままにします。
- **改行**：タブを含む段落は1行ずつ組まれ、Knuth-Plassは使いません。両端そろえのテキストでは、行の最後のタブより後の語間スペースだけが余りを吸収し、段落の最終行は伸ばしません（[ハイフネーションと両端そろえ › タブを含む行](https://postext.dev/ja/docs/justification.md#タブを含む行)を参照）。中央そろえや右そろえの段落でも、タブ位置は行長の上の位置なので、タブを含む行は始端側から組みます。右から左の文字では、タブ位置は右から測り、`end`のタブ位置は左に来ます（[アラビア語の組版](https://postext.dev/ja/docs/arabic-layout.md#目次と索引)を参照）。縦組みではタブは語間スペースになり、そこにある`:tab`はコンテンツ警告`tabInVerticalText`を出します。
- **テキストと出力**：プレーンテキストでは、各タブの位置にタブ文字（`\t`）が入ります。リーダーはテキストではないので、コピー、検索、ソースマップには含まれません。Canvas、HTMLビューアー、固定レイアウトのEPUBはリーダーを描画し（HTMLではスクリーンリーダーから隠します）、タグ付きPDFはリーダーをアーティファクトとするので、テキストは`オニオンスープ 850`と読めます。リフロー型EPUBはタブ位置を正確に保てません。タブを含む段落の各行は、タブで区切られた部分を並べた1つの行になり、`end`、`center`、`decimal`のタブ位置やリーダー付きのタブ位置は次の部分を行の終わりへ押し出し（リーダーは点線または実線の罫になります）、`start`のタブ位置はその前の部分を印刷したときの幅に保ちます。Wordへの書き出しでは`:tab`はWordのタブになり、Wordからの読み込みでは本文のタブを、Wordが設定したタブ位置を付けた`:tab`として読み戻します（[Sandbox › Word文書](https://postext.dev/ja/docs/sandbox-books-saving.md#word文書)を参照）。

### 縦組みでの文字の向き

縦組み（`layout.writingMode: 'vertical-rl'`）では、漢字は正立し、ラテン文字の語や長い数字は横倒しになります。2桁以下の数字は1つのマスに正立しますが、ラテン文字の文の中にあるときはその文の語に従います（[設定 › 縦組みの数字](https://postext.dev/ja/docs/configuration-east-asian.md#縦組みの数字)を参照）。次の3つの記法で、範囲の向きを個別に指定できます。

```markdown
第:tcy[120]回，:upright[GDP]增長:sideways[12]倍。
```

- `:tcy[…]`（縦中横）は、テキストを1全角の正立したマス1つに横に並べ、幅が広い場合は横方向に詰めます。`:tcy[120]`、`:tcy[3.0]`、`:tcy[A+]`。読みやすいのはおよそ4文字までです。
- `:upright[…]`は各文字をそれぞれ独立したマスに正立させ、ラテン文字はマスの中央に置きます。1文字ずつ読む頭字語を段に沿って並べるときに使います。この中で改行されることはありません。
- `:sideways[…]`は範囲全体を行の向きに合わせて横倒しにします。漢字も横倒しになります。著者が横向きにしたい2桁の数字などに使います。
- テキストはプレーンテキストに残ります。これらの記法の中には、ほかのインライン書式（`:tcy[**12**]`）、リンク（`:sideways[[iPhone](https://…)]`）、互いの記法を入れられ、もっとも内側のものが優先されます（`:tcy[:upright[AB]]`はAとBを正立させます）。角かっこそのものは`\]`と書きます。横組みでは何も変わりません。
- 記法の中の参照、注の合印、数式、チップ、色見本は、それぞれ本来の組み方を保ちます。`:sideways[iPhone[^1]]`はiPhoneを横倒しにし、注番号はほかの注番号と同じように組みます。参照の番号は、ほかの短い数字と同じく`cjk.uprightDigits`に従って1つのマスに正立します。
- `inlineMarks: true`を指定したデザインのテキスト要素も、縦に組まれるときはこれらの記法を受け付けます（[設定 › 縦組みのテキスト要素](https://postext.dev/ja/docs/configuration-headers-footers.md#縦組みのテキスト要素)を参照）。
- 改行と両端そろえでは、`:tcy`のマスと`:upright`の各文字は漢字として数えられ、その隣には漢字とラテン文字のあいだのスペースが入りません。

### 中国語の記号、ルビ、割注

中国語と日本語の版では、イタリックや下線ではなく行間に付ける記号でテキストを示し、文字によみを添え、注釈を行の中に組みます。これを行うのが7つのディレクティブです。その背景にある慣習は[中国語の組版](https://postext.dev/ja/docs/chinese-layout.md)と[日本語の組版](https://postext.dev/ja/docs/japanese-layout.md)で説明しています。ディレクティブはテキストを保持します。角かっこのあいだの文字は段落に残り（検索、目次、索引のアンカー、コピーしたテキストは書いたとおりに読みます）、ディレクティブの中や外側には、入れ子のディレクティブを含め、ほかのインライン書式を入れられます。角かっこそのものは`\]`と書きます。

```markdown
此事:dots[不可]輕忽。:name[賈寶玉]與:name[林黛玉]讀:book[西廂記]。

{滿紙|mǎn|zhǐ}荒唐言，:ruby[一把]{rt="yì bǎ"}辛酸淚！:ruby[都]{rt="ㄉㄡ"}云作者痴。

寶玉:warichu[甲戌側批：此是第一首標題詩。]{open="〔" close="〕"}道：……

{東京|とう|きょう}の:ruby[紫陽花]{rt="あじさい"}は*とんと*:sideline[見事]だ。:book[こころ]を読む。

:kunten[學]{okuri="ビテ"}而:kunten[時]{okuri="ニ"}:kunten[習]{kaeri="二" okuri="フ"}:kunten[之]{kaeri="一" okuri="ヲ"}。
```

- **`:dots[text]`**：横組みでは各文字の下に、縦組みでは右に圏点（着重号）を付けます。句読点やスペースには付けません。`style="dot|circle|sesame"`（既定は`dot`）、輪郭だけにする`fill="open"`、反対側に付ける`pos="over|under"`を指定できます。`cjk.emphasis: 'dots'`のもとでは、中国語や日本語の文字に付けたMarkdownの強調`*…*`も同じ効果になり、これが中国語や日本語の文書の既定です。同じ強調の中のラテン文字はイタリックのままです。省略した属性は`cjk.emphasisMark`に従います。中国語では文字の下の点、日本語では文字の上（縦組みでは右）のゴマ点です。
- **`:name[text]`**：テキストの下（縦組みでは左）に固有名詞の傍線（专名号）を引きます。**`:book[text]`**（书名号）は書名号を付けます。`cjk.bookTitleMark`の指定に従い、書名を《》で囲む（書名の中の書名は〈〉）、古典や台湾の版の波線を引く、何も付けない、のいずれかになります（既定では、中国大陸と日本はかっこ、台湾と香港は波線）。日本語の文書ではかっこは『』で、書名の中の書名は「」です（`cjk.bookTitleBrackets`）。1つの原稿で、大陸の現代の版と古典の版の両方をまかなえます。並んだ2つの名前や書名は、線が離れて引かれます。
- **`:ruby[base]{rt="…"}`**：親文字の上（ピンイン）、または各文字の右（注音。注音字母のよみの既定）によみを付けます。よみが文字と同じ数あり、スペースまたは`|`で区切られている場合は、各文字に固有のよみが付き、そのあいだで改行できます（モノルビ）。`group`を指定した場合や数が合わない場合は、1つのよみを親文字全体の中央に付け、そこでは改行しません。`pos="over|under|right"`で付ける側を選びます。簡易形式の`{紅樓|hóng|lóu}`（`|`ごとに1つのよみ）や`{紅樓|hónglóu}`（親文字全体に1つのよみ）も同じ意味になりますが、有効なのは親文字に漢字、仮名、注音字母が含まれ、数式、コード、属性の外にある場合だけです。そのため、ラテン文字の文中の`{x|x>0}`はテキストのままです。波かっこや縦棒の前にバックスラッシュを置くと、中国語の文字を含むものもテキストとして残ります。`{紅|hóng}`と`{紅\|hóng}`は`{紅|hóng}`と印刷されます。行頭または行末に来る親文字は、よみと一緒にその端にそろえられます。`mode=mono|group|jukugo`はよみを親文字にどう付けるか（`mode=group`は`group`と同じ）、`align=center|jis|start`は親文字より短いよみをどう配置するかを選びます。日本語の文書では、2文字以上の語に文字ごとの形式（`{東京|とう|きょう}`、`rt="とう|きょう"`）を使うと熟語ルビになります。各文字は自分のよみを保ちますが、そのよみは語の次の文字にかかることがあり、文字のあいだで改行でき、よみの配置と仮名へのかかり方は`cjk.ruby.align`と`cjk.ruby.overhang`に従います。親文字全体に1つのよみを付ける形式（`{紫陽花|あじさい}`、青空文庫の`《》`）はグループルビです。`mode=mono`では文字ごとによみを付け、隣の文字にはかけません。
- **`:sideline[text]`**：テキストの横に傍線を引きます。句読点やスペースにも引き、横組みでは下、縦組みでは右に付きます。`style="solid|double|wavy|dotted"`（既定は`solid`）、`pos="over|under"`（縦組みではoverが右、underが左。`position=`も使えます）を指定できます。どの表記体系でも使え、下線を引いた英語の語句にも使えます。
- **`:warichu[note]`**：注（双行夹注）を、行の中に文字サイズの半分で2行に組みます。上の行（縦組みでは右の行）から読みます。長い注は行の残りを埋め、次の行、段、ページへと続きます。改行位置の前後には、注の文字がそれぞれ2字以上残ります（`cjk.warichu.minChars`）。`open`と`close`は文字サイズのかっこで注を囲みます。`cjk.warichu`でサイズ、色、既定のかっこ（日本語の文書では「（）」）を設定します。ラテン文字の注は語のあいだで改行されます。
- **`:kunten[字]{kaeri="…" okuri="…" tate}`**：角かっこの中の最後の文字に訓点を付けます。`kaeri`は返り点（レ、一 二 三、上 中 下、甲 乙 丙、天 地 人、および一レ 上レ 甲レ 天レ。符号位置の㆑ ㆒ …も同じに読みます）、`okuri`は送り仮名（青空文庫のかっこ`（ヲ）`は取り除かれます）、フラグの`tate`は次の文字とつなぐ竪点です。テキストの順序は入れ替わりません。記号は半分のサイズで文字の横に組まれ（`cjk.kunten`）、コピーしたテキストは送り仮名を含み返り点を含まない「學ビテ而時ニ習フ之ヲ」になります。二度読む文字には、中にルビを入れられます。`:kunten[:ruby[未]{rt="ザル" pos=under}]{kaeri="レ" okuri="ダ"}`。

行送りは変わりません。記号とよみは行間に置かれ、段落の行間が狭すぎて収まらないときはビルドが警告します（`cjkMarksExceedLeading`、`rubyExceedsLeading`、`kuntenExceedsLeading`）。ある行の下の記号と次の行の上のよみが、共有する行間に収まらないときも、同じ段落の中か2つの段落にまたがるかを問わず警告します。注記を付けた段落には、行送りの大きい段落スタイルを指定してください。記号、よみ、注は、段落、見出し、リスト項目、引用ブロック、囲みに描かれ、キャプション、表のセル、注にも描かれます。これらの行間も同じように検査されます。柱やデザインでは、テキストは記号なしで印刷されます。`cjk.bookTitleMark: 'brackets'`のもとでは、書名の《》はテキストの約物として扱われ、キャプション、セル、注、目次の行、しおり、索引項目に残ります。[設定 › 圏点と傍線、ルビ、割注](https://postext.dev/ja/docs/configuration-east-asian.md#圏点と傍線ルビ割注)を参照してください。

### マークアップでの文字方向

文書は、その`locale`が示す方向に流れます（設定の`direction`。アラビア語、ペルシア語、ウルドゥー語、ヘブライ語では右から左）。その中で、マークアップを使ってブロックやテキストの範囲の方向を指定できます。アラビア語の本の中の英語の引用や、英語の本の中のアラビア語の引用に使います。

- **見出しやコンテナー**：属性に`{dir=ltr}`または`{dir=rtl}`を書きます。`# Introduction {dir=ltr}`、`:::paragraphs{dir=ltr}`、`:::callout{dir=rtl}`。コンテナーの中のすべてのブロックがその方向をとり、別の方向を指定する入れ子のコンテナーや見出しまで及びます。単純な段落、リスト、引用は自身の属性を持たないので、`:::paragraphs{dir=…}`で囲んでください。ほかの値は無視されます。コンテナーの`lang`（`:::paragraphs{dir=ltr lang=en}`）は、同じように中のブロックの言語を指定し、番号付きリストはその言語の数字で番号が振られます。
- **テキストの範囲**：`:ltr[…]`と`:rtl[…]`はテキストを分離します（Unicode双方向アルゴリズムのLRI…PDIとRLI…PDI）。範囲の中で順序が決まり、周囲の段落からは1つの中立文字として扱われます。`{lang=…}`はHTMLとPDFでその範囲の言語をタグ付けします。中の注の合印、`:ref`、数式は分離範囲の一部になり、分離範囲は入れ子にできます。

```markdown
:::paragraphs{dir=ltr}
The opening of the *Nights* in Lane's translation.
:::

ترجمها :ltr[Edward William Lane]{lang=en} سنة ١٨٣٩.
```

文書の方向と逆の方向にしたブロックは、自身の開始側を保ちます。字下げ、リストの記号、最終行を寄せる側が、テキストの始まる側に移ります。ラテン文字の題名が中立文字（ピリオドやかっこ）で終わり、そのままでは周囲のアラビア語に結びついてしまう場合は、分離範囲を使ってください。Unicodeの制御文字そのもの（U+2066–2069、U+202A–202E、U+200E、U+200F、U+061C）も解釈されます。Sandboxのエディターでは、各行は最初の文字の方向に流れます。[アラビア語の組版](https://postext.dev/ja/docs/arabic-layout.md#書字方向と双方向アルゴリズム)を参照してください。

## 数式

数式のサポートは、文書形式の正式な一部です。Postextはインライン数式の`$…$`と別行立て（ブロック）数式の`$$…$$`を解析し、[MathJax](https://www.mathjax.org/)のSVGモードで描画します。3つのバックエンドすべてで同じベクターパスを使うので、Canvasのプレビュー、HTMLの書き出し、PDFの出力はピクセル単位で一致し、PDFはどの倍率でも完全なベクターのままです。

- **インライン**：`$…$`。どのテキストブロック（段落、見出し、引用ブロック、リスト項目）の中でも認識されます。行には分割できない1つのボックスとして加わり、Knuth-Plassはこれを分割してはならない語として扱います。数式の本来の高さが行ボックスに収まらない場合は、ベースライングリッドを保つために全体が均等に縮小されます。非常に高い式は別行立てにしてください。
- **別行立て**：`$$…$$`。1行に単独で書くか（`$$\int_0^1 x^2\,dx$$`）、`$$`だけの行で囲んで複数行にわたって書きます。段の中央に描画され、上下の余白（`math.marginTop`、`math.marginBottom`）を設定してベースライングリッドにそろえられます。見出しと同じ補正の仕組みなので、数式のあとの段落はグリッド上に戻ります。
- **別行立ての前後のテキスト**：1行に単独で書いた別行立ての数式は、上に空行がなくても段落を中断します。その前のテキストは数式へ導く段落になり、閉じの`$$`のすぐ下に空行なしで書いたテキストは、中断された段落の続きとして1行目の字下げなしで組まれます。TeXが別行立てのあとの「where …」を組むのと同じです。上のテキストと空行で区切った数式（またはリスト、引用、見出しのあとの数式）は何も中断しません。そのあとのテキストは、空行の有無にかかわらず新しい段落になり、通常どおり字下げされます（`math.indentAfterDisplay: false`にすると、これも字下げなしになります）。段落を中断するのは別行立て全体だけで、1行に数式が1つだけある場合か、次の空行より前に閉じられた`$$`の囲みです。`$$a$$ and $$b$$`のような行はテキストのままです。`math.keepWithLeadIn`は、数式を導入する行と同じ段に数式を保ちます（postext 1.4までは、上に空行のない`$$…$$`の行は段落の一部として読まれ、書いたとおりに印刷されていました）。
- **数式番号**：別行立ての数式に`\label{eq:x}`を書くと、読む順に(1)、(2)…と番号が付きます。番号付きの数式は段の幅（または囲みの内側の幅）いっぱいに広がり、式は中央に、番号はその行の右端にそろえられます。`align`、`gather`、`alignat`、`flalign`、`eqnarray`では、`\label`を持つ行ごとに番号が付きます。ただし`\nonumber`か`\notag`を書いた行には付きません。`\label`のない数式には、`$$…$$`がもともとそうだったように番号が付きません。`\tag{…}`はこれまでどおり、指定した文字列で数式に番号を付け（`\tag*{…}`はかっこなし）、カウントには含まれません。その横の`\label`は、その文字列に名前を付けます。書式、章や節ごとの番号（2.3）、振り直しは[`math.equationNumbering`](https://postext.dev/ja/docs/configuration-lists-math.md#数式)で設定します。`\label`は数式またはその行の最上位に置いてください。`aligned`、`split`、`cases`の中には置けません。
- **数式の参照**：本文の`\eqref{eq:x}`は数式と同じ形で番号を印刷し（(3)）、`\ref{eq:x}`は番号だけを印刷します（3）。どちらも、すべての[相互参照](https://postext.dev/ja/docs/document-format-notes-references.md#相互参照とアンカー)と同じくリンクになります。`Eq.~\eqref{eq:x}`の`~`は、LaTeXと同じく改行しないスペースです。`:ref{id="eq:x"}`と`@eq:x`も(3)を印刷します。数式の中では、`\eqref`と`\ref`は番号を（リンクではなく）印刷します。どこにも設定されていないラベルは「?」と印刷され、**検査**パネルに表示されます。
- **エスケープ**：`\$`はドル記号そのものです。対応のとれない`$`や`$$`の区切りは、Sandboxの**検査**パネルに`unclosedMath`の項目として表示され、クリックでソースの該当箇所へ移動できます。
- **キャプション、注、表のセル**でも、インライン数式を組めます（postext 1.19以降）。数式は文字と同じ行に、セルの行そろえに従って、その箇所の文字サイズで組まれます。そこで`$`が数式を開くのは、Pandocの規則に合うときだけです。開きの`$`の後に空白がなく、閉じの`$`の前に空白がなく、その直後に数字が続かないことです。そのため「$5 to $10」のような価格はテキストのままです。`\$`はドル記号を印刷するので、エスケープした同じ文字列が本文でも表でも同じに読めます。チップのラベルには数式を使えません。postext 1.18までは、そこでの`$`は常にそのまま印刷されていました。
- **エラー**：MathJaxが受け付けないTeXソース（未定義のマクロ、構文エラー）は`invalidMath`警告として表示されます。数式は小さな赤いプレースホルダーに置き換えられ、レイアウトの形状は有効なまま保たれます。
- **設定**：設定の`math`セクションには、`enabled`、`fontSizeScale`（周囲のテキストのサイズに対する比率。1.0では数式の1 emがそのサイズになり、別行立ての数式と本文中のインライン数式では本文のサイズです。postext 1.5からは数式が1.4より約13%小さく組まれますが、1.4で保存したバンドルとSandboxの本は元のサイズを保ちます。[数式のサイズ](https://postext.dev/ja/docs/configuration-lists-math.md#数式)を参照）、`color`（未設定なら本文の色を継承）、別行立ての余白があります。
- **エンジン**：MathJaxは必要になったときに読み込まれます。Sandboxとレイアウトワーカーは自動で起動します。独自のコードでは`buildDocument`の前に`await initMathEngine()`を実行してください。そうしないと、すべての数式が灰色のプレースホルダーのボックスとして組まれます（[数式エンジンの起動](https://postext.dev/ja/docs/configuration-lists-math.md#数式エンジンの起動)を参照）。

```md
The Euler identity $e^{i\pi}+1=0$ links the five fundamental constants.

$$
\int_0^{\infty} e^{-x^2}\,dx = \frac{\sqrt{\pi}}{2}
$$
```

文の途中に数式を置き、そのあとも字下げなしで文を続ける例です。

```md
For a pendulum of length $L$ the period is
$$T_0 = 2\pi\sqrt{L/g}$$
where $g$ is the acceleration of free fall.
```

番号付きの数式と、その参照の例です。

```md
The energy is conserved,
$$
\begin{align}
E &= T + V \label{eq:energy} \\
  &= \tfrac12 m v^2 + m g h \nonumber
\end{align}
$$
and Eq.~\eqref{eq:energy} holds at every instant.
```

**定理、補題、証明**：`numbering`を持つ囲みスタイルは、LaTeXの`amsthm`が定理環境を数えるのと同じように、その囲みを数えます。各囲みは太字のラベルと番号で始まり（「**定理2.**」）、フェンスの`title`は番号の後にかっこに入れて続きます（「**定理2**（Bradley–Terry）**.**」）。その`{#id}`への参照は「定理2」と印刷されます（`\ref{thm:x}`や`style=number`では2だけ）。同じカウンターを指定したスタイルはそれを共有するので、定理の後の補題は補題3になります。証明のスタイルの`endMark`は、囲みを∎または□で、最終行の右端にそろえて締めくくります。スタイルの設定は[番号付きの定理と証明](https://postext.dev/ja/docs/configuration-callouts.md#番号付きの定理と証明)を参照してください。

```md
:::callout{type="theorem" #thm:main title="Bradley–Terry"}
Every reward class holds one reparameterised reward.
:::

:::callout{type="proof"}
Apply the projection of \eqref{eq:projection} to any member of the class.
:::

By :ref{id="thm:main"}, the objective is unchanged.
```
