> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/ja/narejjibsu/166-writing-markdown-in-latex-documents.md).

# LaTeX文書でMarkdownを書く

## はじめに

LaTeX文書でmarkdownを使用するには、次を読み込む必要があります [`markdown` パッケージ](https://www.ctan.org/pkg/markdown) 文書のプリアンブルに：

```latex
\usepackage[settings]{markdown}
```

ここで `[settings]` は *任意の* 特定のパッケージ機能を設定または有効化するために使用するパラメーターのセットです。 `markdown` パッケージ [ドキュメント](https://anorien.csc.warwick.ac.uk/mirrors/CTAN/macros/generic/markdown/markdown.html) については、次を参照してください [パッケージパラメーター（オプション）の説明](https://anorien.csc.warwick.ac.uk/mirrors/CTAN/macros/generic/markdown/markdown.html#options).

この記事では、両方を簡単に確認します *インライン* 文書内に記述するmarkdownと、インポートする *external* テキストファイルに含まれるmarkdown。

* **注意書き**：一般に、LaTeX文書内でのmarkdownの使用は、LaTeX自体を完全に置き換える代替構文ではなく、文書コンテンツの一部の要素を作成するための補完的で便利な選択肢として扱うべきです。

## 外部markdownファイルの使用

次のコマンドを使用します

```latex
\markdownInput{filename}
```

markdownファイルを含めるには `filename`.

次の例では、という名前のファイルを挿入します `example.md`。コード一覧の下にあるリンクを使用して、Overleafプロジェクトとして開いてください：

**`main.tex`**

```latex
\documentclass{article}
\title{markdownパッケージの使用}
\usepackage[smartEllipses]{markdown}
\begin{document}

\markdownInput{example.md}

\end{document}
```

**`example.md`**

```latex
%% example.md

# 私はmarkdownファイルです。

そして、*強調*もできます。
## 小見出し付き

> ブロック引用は
> このように記述します。
>
> 複数の段落にまたがることもできます。
> お好みで。

emダッシュには3つのハイフンを使用します。次には2つのハイフンを使用します
範囲（例：「すべて第12--14章にあります」）。
3つのドット ... は省略記号に変換されます
（smartEllipsesオプションを含めている場合
プリアンブル内で）。Unicodeがサポートされています。
```

[これらのファイルをOverleafプロジェクトとして開きます。](https://www.overleaf.com/docs?engine=pdflatex\&snip_name\[]=main.tex\&snip\[]=%5Cdocumentclass%7Barticle%7D%0A%5Ctitle%7BUsing+the+markdown+package%7D%0A%5Cusepackage%5BsmartEllipses%5D%7Bmarkdown%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5CmarkdownInput%7Bexample.md%7D%0A%0A%5Cend%7Bdocument%7D\&snip_name\[]=example.md\&snip\[]=%25%25+example.md%0A%0A%23+I%27m+a+markdown+file.%0A%0AAnd+I+can+do+%2Aemphasis%2A.%0A%23%23+With+sub-headers%0A%0A%3E+Block+quotes+are%0A%3E+written+like+so.%0A%3E%0A%3E+They+can+span+multiple+paragraphs%2C%0A%3E+if+you+like.%0A%0AUse+3+dashes+for+an+em-dash.+Use+2+dashes+for+%0Aranges+%28ex.%2C+%22it%27s+all+in+chapters+12--14%22%29.+%0AThree+dots+...+will+be+converted+to+an+ellipsis+%0A%28provided+you+include+the+smartEllipses+option+%0Ain+your+preamble%29.+Unicode+is+supported.\&main_document=main.tex)

この例では次の出力が生成されます:

![markdownパッケージの出力を示す図](/files/897a21fe533028d6f5e3d3ce1b9018f099870189)

## インラインmarkdownの使用

次の `markdown` 環境を使用しなければならないことに注意してください:

```latex
\begin{markdown}
...ここにmarkdownを
記述します...
\end{markdown}
```

を使用してインラインmarkdownを記述します。次の例で示します：

```latex
\documentclass{article}
\usepackage[hashEnumerators,smartEllipses]{markdown}
\begin{document}

インラインmarkdownの使用：

\begin{markdown}
h1見出し
============

段落は空行で区切られます。

第2段落。*イタリック*、**太字**、および`等幅`。箇条書きリストは
次のようになります：

* これ
* あれ
* その他

> ブロック引用は
> このように記述します。
>
> 複数の段落にまたがることもできます。
> お好みで。

h2見出し
------------

番号付きリストは次のとおりです（ハッシュを使用する場合は`hashEnumerators`オプションを使用してください）：

#. 最初の項目
#. 2番目の項目
#. 3番目の項目

\end{markdown}
\end{document}
```

[この例を Overleaf で開く。](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+markdown\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5BhashEnumerators%2CsmartEllipses%5D%7Bmarkdown%7D%0A%5Cbegin%7Bdocument%7D%0A%0AUsing+inline+markdown%3A%0A%0A%5Cbegin%7Bmarkdown%7D%0AAn+h1+header%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%0AParagraphs+are+separated+by+a+blank+line.+%0A%0A2nd+paragraph.+%2AItalic%2A%2C+%2A%2Abold%2A%2A%2C+and+%60monospace%60.+Itemized+lists%0Alook+like%3A%0A%0A%2A+this+one%0A%2A+that+one%0A%2A+the+other+one%0A%0A%3E+Block+quotes+are%0A%3E+written+like+so.%0A%3E%0A%3E+They+can+span+multiple+paragraphs%2C%0A%3E+if+you+like.%0A%0AAn+h2+header%0A------------%0A%0AHere%27s+a+numbered+list+%28use+%60hashEnumerators%60+option+if+you+want+to+use+hashes%29%3A%0A%0A%23.+first+item%0A%23.+second+item%0A%23.+third+item%0A%0A%5Cend%7Bmarkdown%7D%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます:

![Overleafで組版されたインラインmarkdownの例](/files/65e651dc4ee2a04e18bcfa9031203e8e07836529)

## Markdownパッケージの機能とオプション

ここでは、いくつかの [機能とオプション](https://anorien.csc.warwick.ac.uk/mirrors/CTAN/macros/generic/markdown/markdown.html) によって提供される `markdown` パッケージについて説明します。

### markdownにコードを含める

markdown内にコードのスニペット（コードブロック）を表示するには、2つの方法があります：

* ブロック内の各行を少なくとも4つのスペースまたは1つのタブでインデントする、または
* いわゆる [フェンス付きコードブロック](#using-fenced-code-blocks)

#### インデントを使用したコードブロックの表示

次の例では、各コード行の先頭に4つ以上のスペース文字を使用しています。必要なインデントの大きさに応じて、6、8、または10個のスペース文字を使用する行もあります：

```latex
\documentclass{article}
\usepackage{markdown}
\begin{document}
以下は、少なくとも4つのスペース文字でインデントされたコード断片です。
\vspace{6mm}

\begin{markdown}

以下はCの断片です：

    /* 繰り返してみましょう ... */

    int i;
    for(i=0; i<10; i++)
    {
      do-something(i)
    }

以下はHTMLです：

    <html>
      <head>
        <title>ページタイトル</title>
      </head>
      <body>
        <h1>これは見出しです</h1>
          <p>これは段落です。</p>
      </body>
    </html>

\end{markdown}
\end{document}
```

[この例を Overleaf で開く。](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+markdown+code+snippets\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bmarkdown%7D%0A%5Cbegin%7Bdocument%7D%0AHere+are+some+code+fragments+indented+by+at+least+4+space+characters.%0A%5Cvspace%7B6mm%7D%0A%0A%5Cbegin%7Bmarkdown%7D%0A%0AHere+is+a+fragment+of+C%3A%0A%0A++++%2F%2A+Let+me+iterate+...+%2A%2F%0A%0A++++int+i%3B%0A++++for%28i%3D0%3B+i%3C10%3B+i%2B%2B%29%0A++++%7B%0A++++++do-something%28i%29%0A++++%7D%0A%0AHere+is+some+HTML%3A%0A%0A++++%3Chtml%3E%0A++++++%3Chead%3E%0A++++++++%3Ctitle%3EPage+Title%3C%2Ftitle%3E%0A++++++%3C%2Fhead%3E%0A++++++%3Cbody%3E%0A++++++++%3Ch1%3EThis+is+a+Heading%3C%2Fh1%3E%0A++++++++++%3Cp%3EThis+is+a+paragraph.%3C%2Fp%3E%0A++++++%3C%2Fbody%3E%0A++++%3C%2Fhtml%3E%0A%0A%5Cend%7Bmarkdown%7D%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます:

![markdownによるコード組版の例](/files/0297a6a9415b605e2655b86a11fb841b01b48836)

#### フェンス付きコードブロックの使用

フェンス付きコードブロックは、次のいずれかを記述して作成します

* 3つのバッククォート（` ``` `）、または
* 3つのチルダ（`~~~`)

をコードブロックの前後の行に記述します。この方法では行をインデントする必要はありませんが、 `fencedCode` オプションをプリアンブルで使用する必要があります：

```latex
\usepackage[fencedCode]{markdown}
```

以下は、3つのバッククォート（を使用してフェンス付きコードブロックを作成する例です` ``` `):

````latex
\documentclass{article}
\usepackage[fencedCode]{markdown}
\begin{document}
\begin{markdown}

```
if (a > 3) {
    moveShip(5 * gravity, DOWN);
}
```

```
    <html>
      <head>
        <title>ページタイトル</title>
      </head>
      <body>
        <h1>これは見出しです</h1>
          <p>これは段落です。</p>
      </body>
    </html>
```
\end{markdown}
\end{document}
````

[この例を Overleaf で開く。](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+markdown+fenced+code+blocks\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5BfencedCode%5D%7Bmarkdown%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bmarkdown%7D%0A%0A%60%60%60%0Aif+%28a+%3E+3%29+%7B%0A++++moveShip%285+%2A+gravity%2C+DOWN%29%3B%0A%7D%0A%60%60%60%0A%0A%60%60%60%0A++++%3Chtml%3E%0A++++++%3Chead%3E%0A++++++++%3Ctitle%3EPage+Title%3C%2Ftitle%3E%0A++++++%3C%2Fhead%3E%0A++++++%3Cbody%3E%0A++++++++%3Ch1%3EThis+is+a+Heading%3C%2Fh1%3E%0A++++++++++%3Cp%3EThis+is+a+paragraph.%3C%2Fp%3E%0A++++++%3C%2Fbody%3E%0A++++%3C%2Fhtml%3E%0A%60%60%60%0A%5Cend%7Bmarkdown%7D%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます:

![markdown LaTeXパッケージでのフェンス付きコードブロックの使用](/files/95afc3bd335cecc0d5640862583ace2b362f2b42)

#### シンタックスハイライト

フェンス付きコードブロックでは、最初のバッククォートの組（の後に言語名を記述することで、シンタックスハイライトをサポートします`` ` ``）。例として、次のブロックは最初のバッククォートの組を次のように記述することでJavascriptとして識別されます ` ``` js `:

````latex
``` js
if (a > 3) {
    moveShip(5 * gravity, DOWN);
}
```
````

LaTeXでは、 `minted` パッケージをシンタックスハイライトに使用できます。次の例では、Javascript（` ``` js `）およびHTML（` ``` html `):

````latex
\documentclass{article}
\usepackage{minted}
\usepackage[fencedCode]{markdown}
\begin{document}
\begin{markdown}

``` js
if (a > 3) {
    moveShip(5 * gravity, DOWN);
}
```

``` html
    <html>
      <head>
        <title>ページタイトル</title>
      </head>
      <body>
        <h1>これは見出しです</h1>
          <p>これは段落です。</p>
      </body>
    </html>
```
\end{markdown}
\end{document}
````

[この例を Overleaf で開く。](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+markdown+fenced+code+blocks\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Cusepackage%5BfencedCode%5D%7Bmarkdown%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bmarkdown%7D%0A%0A%60%60%60+js%0Aif+%28a+%3E+3%29+%7B%0A++++moveShip%285+%2A+gravity%2C+DOWN%29%3B%0A%7D%0A%60%60%60%0A%0A%60%60%60+html%0A++++%3Chtml%3E%0A++++++%3Chead%3E%0A++++++++%3Ctitle%3EPage+Title%3C%2Ftitle%3E%0A++++++%3C%2Fhead%3E%0A++++++%3Cbody%3E%0A++++++++%3Ch1%3EThis+is+a+Heading%3C%2Fh1%3E%0A++++++++++%3Cp%3EThis+is+a+paragraph.%3C%2Fp%3E%0A++++++%3C%2Fbody%3E%0A++++%3C%2Fhtml%3E%0A%60%60%60%0A%5Cend%7Bmarkdown%7D%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます:

![mintedとmarkdownによるシンタックスハイライト](/files/f32a708c9955b1bac94610e3cf9412be662db16f)

### リスト

前の例では [順序なしリストの作成を示しました](#using-inline-markdown) markdownで次の文字を使用して `*` 文字。順序付きリストは、次の文字を使用して作成できます `#` 文字。ただし、 `hashEnumerators` オプションが指定されている場合：

```latex
\usepackage[hashEnumerators]{markdown}
```

次の例で示すように、ネストされたリストを作成することもできます：

```latex
\documentclass{article}
\usepackage[hashEnumerators]{markdown}
\begin{document}
\begin{markdown}
以下は、ネストされたリストを含む番号付きリストです：

#. まず、次の材料を用意します：

      * ニンジン
      * セロリ
      * レンズ豆

#. 水を沸かします。

#. すべてを鍋に入れ、次のアルゴリズムに従います：

        木べらを見つける
        鍋のふたを外す
        かき混ぜる
        鍋にふたをする
        木べらを鍋の取っ手の上に危なっかしく載せる
        10分待つ
        最初の手順に戻る（または完了したらバーナーを消す）

    木べらにぶつからないでください。落ちてしまいます。
\end{markdown}
\end{document}
```

[この例を Overleaf で開く。](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Creating+a+nested+list+in+markdown\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5BhashEnumerators%5D%7Bmarkdown%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bmarkdown%7D%0AHere+is+a+numbered+list+that+contains+a+nested+list%3A%0A%0A%23.+First%2C+get+these+ingredients%3A%0A%0A++++++%2A+carrots%0A++++++%2A+celery%0A++++++%2A+lentils%0A%0A%23.+Boil+some+water.%0A%0A%23.+Dump+everything+in+the+pot+and+follow+this+algorithm%3A%0A%0A++++++++find+wooden+spoon%0A++++++++uncover+pot%0A++++++++stir%0A++++++++cover+pot%0A++++++++balance+wooden+spoon+precariously+on+pot+handle%0A++++++++wait+10+minutes%0A++++++++goto+first+step+%28or+shut+off+burner+when+done%29%0A%0A++++Do+not+bump+wooden+spoon+or+it+will+fall.%0A%5Cend%7Bmarkdown%7D%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます:

![LaTeX markdownパッケージを使用した番号付きリストの作成](/files/57484966bb90a13d81bb13d6a7e509303aaf85aa)

### markdown内にLaTeXを含める

次を有効にすると `hybrid` オプションを使用すれば、Markdown内にLaTeXコードを混在させることができます！

```latex
\documentclass{article}
\usepackage[hybrid]{markdown}
\begin{document}

\begin{markdown}
インライン数式は次のように作成できます：$\omega = d\phi / dt$。
ディスプレイ数式は次のように記述できます：

\begin{equation}
I = \int \rho R^{2} dV
\end{equation}

\end{markdown}
\end{document}
```

[この例を Overleaf で開く。](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+LaTeX+code+in+markdown\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bhybrid%5D%7Bmarkdown%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cbegin%7Bmarkdown%7D%0AInline+math+equations+can+be+created+like+this%3A+%24%5Comega+%3D+d%5Cphi+%2F+dt%24.+%0ADisplay+math+can+be+written+as%3A%0A%0A%5Cbegin%7Bequation%7D%0AI+%3D+%5Cint+%5Crho+R%5E%7B2%7D+dV%0A%5Cend%7Bequation%7D%0A%0A%5Cend%7Bmarkdown%7D%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます:

![markdownでのLaTeXコードの使用](/files/9e82771f8f0e80960a2a9eb849c72349bdf3fc82)

### 画像を含める

* **注**：次の例では、グラフィックファイル（`example-image.pdf`）を使用しています。これは次によって提供されています `mwe` パッケージ。これらのグラフィックファイルはTeX Liveによって配布されており、Overleafのサーバーに保存されているため、以下の例のように画像プレースホルダーとして利用できます。

markdownでは、次の形式のマークアップを記述することで画像を含めることができます：

```latex
![代替テキスト](ファイル名 "画像キャプション")
```

おそらく、パラメーター名の `代替テキスト`, `ファイル名` や `"画像キャプション"` が何をするかを説明しているでしょう。以下に、それらを示す例を示します：

```latex
\documentclass{article}
\usepackage[hybrid]{markdown}
% mweパッケージはサンプル画像を提供します。これを読み込むことは
% それらの画像はLaTeXの検索パスにあるため、必須ではありません。
% ここでは、この例を明確にするために読み込みます。
\usepackage{mwe}
\begin{document}
\begin{markdown}
この例では、グラフィックファイルをインポートする方法を示します。ここでは、
`mwe`パッケージが提供するサンプル画像を使用しています。

% 画像の表示サイズを変更する必要がある場合は\setkeys{Gin}を使用します

\setkeys{Gin}{width=.5\linewidth}
![これは画像を説明するための代替テキストです。](example-image.jpg "\texttt{mwe}パッケージが提供するサンプル画像。")
\end{markdown}
\end{document}
```

[この例をOverleafで開きます。](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+images+in+markdown\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bhybrid%5D%7Bmarkdown%7D%0A%25+The+mwe+package+provides+example+images.+Loading+it+is%0A%25+not+essential+because+those+images+are+in+LaTeX%27s+search+path.+%0A%25+Here%2C+we+load+it+for+clarity+in+this+example.%0A%5Cusepackage%7Bmwe%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bmarkdown%7D%0AThis+example+shows+how+to+import+a+graphics+file.+Here+we+are+using+an%0Aexample+image+provided+by+the+%60mwe%60+package.%0A%0A%25+Use+%5Csetkeys%7BGin%7D+if+you+need+to+change+an+image%27s+display+size%0A%0A%5Csetkeys%7BGin%7D%7Bwidth%3D.5%5Clinewidth%7D%0A%21%5BThis+is+alt+text+to+describe+my+image.%5D%28example-image.jpg+%22An+example+image+provided+by+the+%5Ctexttt%7Bmwe%7D+package.%22%29%0A%5Cend%7Bmarkdown%7D%0A%5Cend%7Bdocument%7D)

この例では次の出力が生成されます:

![markdownで画像をインポートする方法](/files/1daccf52ff50cf99bf457618539fab16b7860c9c)

#### 画像の幅に関する注記

ほとんどのパッケージと同様に、 `markdown` は、次を含む他のパッケージを読み込みます [`keyval`](https://ctan.org/pkg/keyval?lang=en) や [`graphicx`](https://ctan.org/pkg/graphicx?lang=en)。これにより、それらが提供するコマンドと機能を利用できます。ここでは、画像の幅は次を使用して設定されます `\setkeys` コマンド。このコマンドは次によって提供されます `keyvals`. `Gin` は、次によって定義されるキーの「ファミリー」です `graphicx` パッケージについて説明します。

* **注**：LaTeXコマンドである、ここでの `\setkeys`が使用されるため *の内部で* その `markdown` 環境では、 `hybrid` markdownパッケージのオプションが必要です。

## さらに読む

Overleafでは、markdownの使用に関する他の記事も公開しています：

* [OverleafでMarkdownを書く方法](/latex/ja/xiang-xi-ji-shi/30-how-to-write-in-markdown-on-overleaf.md)
* [Styleを使ったMarkdownからLaTeXへ](/latex/ja/xiang-xi-ji-shi/32-markdown-into-latex-with-style.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/ja/narejjibsu/166-writing-markdown-in-latex-documents.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
