> 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/xiang-xi-ji-shi/30-how-to-write-in-markdown-on-overleaf.md).

# OverleafでMarkdownを書く方法

**公開後の更新** （2017年5月13日追加）：私たちは、の著者／メンテナであるVít Novotnýに感謝しています `markdown` パッケージについて、元の記事に関する役立つフィードバックをお寄せいただいたことに感謝します。彼の助言と提案を反映し、それらを取り入れたこの更新版を公開できることをうれしく思います。

### えっ、何？

[Markdown](https://kirkstrobeck.github.io/whatismarkdown.com/) は、軽量マークアップ言語です（わかりますか？😉）。プレーンテキストで何かを、いくつかの *非常に* シンプルなルールに従って記述し、その後、HTMLなどの整形済み出力に変換できます。その単純さゆえに、ソフトウェア開発者やプログラマーの間で非常に人気があります（ちなみに、ノート取りにもぴったりです！）。

たとえば、簡単な買い物リストを書くには：

```
# 買い物リスト
近々の[sales](http://acme-marg.com)でできるだけたくさん買うのを*忘れずに*！
## 食品
- ベイクドビーンズ
- スパゲッティ
## 文房具
- 便箋
- 鉛筆
```

すると、次のようなツールを使ってHTML出力として得られます： [pandoc](http://pandoc.org/):

```html
<h1 id="grocerylist">買い物リスト</h1>
<p><em>忘れずに</em>、近々の<a href="http://acme-marg.com">セール</a>でできるだけたくさん買いましょう！</p>
<h2 id="food">食品</h2>
<ul>
<li>ベイクドビーンズ</li>
<li>スパゲッティ</li>
</ul>
<h2 id="stationery">文房具</h2>
<ul>
<li>便箋</li>
<li>鉛筆</li>
</ul>
```

すっきり簡単！Markdownの他の構文は [こちら](https://daringfireball.net/projects/markdown/syntax).

### では、これは私にとって何を意味するのでしょうか？

多くのLaTeXユーザーは、美しく組版されたLaTeX文書に満足していますが、Markdownユーザーに少し嫉妬してしまうのも無理はありません。というのも、LaTeXのマークアップは *パッケージを使う必要はありません。* ときどきかなり冗長になるからです。そう、リスト、あなたのことを見ています *あなた*...

朗報です。素晴らしい新しい [`markdown` LaTeXパッケージ](https://ctan.org/pkg/markdown) LaTeX文書の中でMarkdownの構文（つまり、より簡単な入力）を書けるようにし、それでも美しく組版されたPDFを得られるのです！必要なのは `markdown` 文書にそのパッケージを読み込み、Markdownの内容を次のもので囲むことだけです： `markdown` 環境を使用しなければならないことに注意してください:

```latex
\documentclass{article}
\usepackage{markdown}
\begin{document}
\begin{markdown}
# 買い物リスト

近々の[sales](http://acme-marg.com)でできるだけたくさん買うのを*忘れずに*！

## 食品

- ベイクドビーンズ
- スパゲッティ

## 文房具

- 便箋
- 鉛筆
\end{markdown}
\end{document}
```

あるいは、Markdownの内容を次の中に置きたい場合は： `*.md` ファイル：

```latex
\documentclass{article}
\usepackage{markdown}
\begin{document}
\markdownInput{example.md}
\end{document}
```

いいですね！これなら、開発者タイプの人たちはかなり喜ぶはずです。なぜなら、これで自分たちの `.md` ドキュメントをそのままコピーできるからです！

### Markdownを書いても、まだLaTeXコマンドは使えますか？

はい、Markdownの内容の中でもまだLaTeXコマンドを使えます！ただ `hybrid` のオプションを `markdown`:

```latex
\usepackage[hybrid]{markdown}
...
- 便箋（表紙に大きく$E=mc^2$とあるタイプ）
```

### '#'や'\_'（アンダースコア）のようなリテラル文字はどう使えばよいですか？

#### '#' を入力するには

'#' 文字は入力できません *の中では `markdown` 環境*。さらに `\#` も使えません。次のようなコマンドを定義する必要があります： `\newcommand{\texthash}{\#}`、そして `\texthash` あなたの `markdown` 環境です。アンダースコアについても同様で、特に同じ行に複数ある場合、たとえば `$y = m_1 + n_2$`。場合によっては、現在の `markdown` 環境を終了し、問題のある行を通常のLaTeXモードで書いてから、別の `markdown` 環境内で。

#### '\_'（アンダースコア）と'\`'（バックティック）を入力する

**更新** （2017年5月13日追加）：以降 `markdown` バージョン2.5では `underscores = false` や `codeSpans = false` を設定して、アンダースコアとバックティックを無効にできます。これにより、ハイブリッドモードでエスケープなしに数式の下付き文字や引用符を書けるようになります。強調にはアスタリスクがあるので、本当に失われるのはインラインコード例だけです。ヒントをありがとう、Vít！

#### 避けるべき環境...

バックティックでインラインのそのまま記述を、あるいは4スペースで行をインデントしてそのまま記述ブロックを書くことはできますが、次は使わないでください `lstlisting` も `minted` LaTeX環境を `markdown` 環境内で。とにかくやめてください。

#### Markdown環境でHTMLを使う

そしていいえ、LaTeXの `markdown` 環境内でHTMLは使えません（通常のMarkdownではよくやることですが）。ごめんなさい。

**更新** （2017年5月13日追加）：以降 `markdown` v2.3では、次の `html` オプションがあります。Markdownの内容にHTMLタグが含まれていても、そのまま表示せず、ただしタグの内容を実際に整形するわけでもありません。つまり、 `<strong>Hello!</strong>` は通常の太さでHello!と表示されるだけです。ただし、次のようなHTML実体参照は `&copy;` ©としてレンダリングされます。これを指摘してくれたVítに感謝します。

### 推奨されるMarkdownパッケージのオプション

便利な `markdown` パッケージオプションの一例は次のとおりです：

```latex
\usepackage[footnotes,definitionLists,hashEnumerators,smartEllipses,hybrid]{markdown}
```

これらのオプションにより次が使えるようになります

* 脚注のMarkdown構文（たとえば `[^1]`);
* 定義リストや `#` 番号付きリストの
* 「正しい」省略記号（…）が使えます。

こちらに [完全な例があります](https://www.overleaf.com/latex/examples/using-markdown-in-latex-documents/whdrnpcpnwrm) Overleafギャラリーに、そしてこちらに [もう一つの例があります](https://www.overleaf.com/articles/how-to-write-using-rich-text-format-and-markdown-in-latex-and-overleaf/dbqrxvftzskw).

### ハイパーリンクと脚注：どうやって？

Overleafの例では、ハイパーリンクは脚注になっています。これをhyperrefのハイパーリンクにするにはどうすればよいですか？

`markdown` はカスタマイズ可能なので、さまざまな要素をどのようにレンダリングするかを定義できます。これらをプリアンブルに追加すれば、そのとおりに動作します：

```latex
\markdownSetup{renderers={
  link = {\href{#2}{#1}}
}}
```

**更新** （2017年5月13日追加）： `rendererPrototypes` は初期版で使われていました。通常のユーザーには次を使うことをおすすめします `renderers` 自分の定義には `rendererPrototypes` があり、パッケージ作成者がデフォルトを提供するためのものだからです。これを変更すると `rendererPrototypes`、別のパッケージに設定を上書きされるリスクがあります。これを指摘してくれたVítに感謝します！

### 画像の挿入（2022年11月8日更新）

* **注**：次の例では、グラフィックファイル（`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` xr

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

#### フロート配置指定子の変更（上級）

図の挿入用Markdown構文ではフロート配置指定子を直接指定できませんが、図のレンダリング方法を再定義することで調整できます：

```latex
\markdownSetup{renderers={
  image = {\begin{figure}[hbt!]
    \centering
    \includegraphics{#3}%
    \ifx\empty#4\empty\else
    \caption{#4}%
    \fi
    \end{figure}}
}}
```

詳しくは次を参照してください [Markdownのドキュメント](https://mirror.apps.cam.ac.uk/pub/tex-archive/macros/generic/markdown/markdown.html).

### LaTeXでMarkdownを使って表を作成できますか？😀

残念ながら、できません。表は [MultiMarkdown](http://fletcherpenney.net/multimarkdown/) のみでサポートされており、LaTeXの `markdown` パッケージは現時点ではそれに対応していません。

**更新** （2017年5月13日追加）：Vítのヒントに基づき、次を使うことが可能です `contentBlocks` 構文拡張をバージョン2.4以降で使うか、次を調整して `inputFencedCode` レンダラーを使えば、CSV形式のテキストを素早く表に変換できます。

### Markdownパッケージの追加の便利機能...？

先ほど述べたように、これはノート取りに便利な方法で、いくつかの良いLaTeX文書クラスやパッケージ設定と組み合わせると、講義そのものの終わりに美しいノートを作れます。たとえば、次と組み合わせて使えます [Tufteクラス](https://www.overleaf.com/gallery/tagged/tufte):

```latex
\documentclass{tufte-handout}
\usepackage[footnotes,definitionLists,hashEnumerators,smartEllipses, hybrid]{markdown}
\begin{document}
\markdownInput{PHY303-lecture-12Nov2016.md}
\end{document}
```

リストを書くのがずっと便利になる短くてシンプルな構文のおかげで、今では次のような *とても手早い* 書き方が [Beamerプレゼンテーション](https://www.overleaf.com/latex/examples/writing-beamer-slides-with-markdown/dnrwnjrpjjhw) や [ポスター](https://www.overleaf.com/latex/examples/writing-beamer-slides-with-markdown/dnrwnjrpjjhw)!

楽しんでください！


---

# 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/xiang-xi-ji-shi/30-how-to-write-in-markdown-on-overleaf.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.
