この記事は、2020/12/9 時点(Ver 1.4)での情報です。
2023年12月時点では公式で Markdown 記法に関するページが作成されています。最新の情報は以下の公式のページを参照してください。
https://mathlog.notion.site/d42d852f90884f0397b52952dbaea71e
# 見出し1
## 見出し2
### 見出し3
#### 見出し4
##### 見出し5
###### 見出し6
a
見出し5(#####)まで対応しています。見出し1が<h2>
, 見出し2が<h3>
,...という対応です。Mathlogでは1つずれています。
タイトル(下の画像)が<h1>
なので、見出しは<h2>
から始まります。
a
> 引用
> 引用
>> 多重引用
↓
引用
引用多重引用
HTMLでは<blockquote> 引用 </blockquote>
で書けます。
```
hoge
fuga
```
↓
hoge
fuga
インデントを使って書くこともできます。
hoge
fuga
↓
hoge
fuga
HTMLでは<pre><code>hoge</pre></code>
で書けます。
一部の言語でシンタックスハイライトに対応しています。
```python
def hello():
print("Hello world!")
```
↓
def hello():
print("Hello world!")
C, C++,C#, Java, Python, Ruby, Javascript, Kotlin, Swift, Rust, Go, PHP, HTML, Markdown あたりの言語には対応しています。ただ、メジャーな言語でもScala, Haskell, OCaml, Julia, Coqあたりは対応していなそうです。
おそらく
highlight.js demo
のcommonに登録されている35の言語が対応しているのかと思います。
hoge
hoge
HTMLでは<code>hoge</code>
で書けます。
---
HTMLでは<hr>
で書けます。
- リスト1
- リスト1_1
- リスト1_1_1
- リスト1_1_2
- リスト1_2
- リスト2
- リスト3
-
の代わりに+
や*
でも代用可能です。
1. 番号付きリスト1
1. 番号付きリスト1-1
1. 番号付きリスト1-2
1. 番号付きリスト2
1. 番号付きリスト3
これは*イタリック*です
これは_イタリック_です
これはイタリックです
これは_イタリック_です
これは**ボールド**です
これは__ボールド__です
これはボールド です
これは__ボールド__です
これは***イタリック&ボールド***です
これは___イタリック&ボールド___です
これは イタリック&ボールド です
これは イタリック&ボールド です
$x^2=1$の解は**$x=\pm 1$**です。
$x^2=1$の解は$x=\pm 1$です。
(数式にも使えます。太字にはならないけど色がつきます。)
~~取り消し線~~
取り消し線
~~$x^2=1$の解は**$x=0$**です。~~
$x^2=1$の解は$x=0$です。
(数式は取り消せません。)
Mathjaxのencloseパッケージを使うと取り消せます。
$\require{enclose}$
~~$\enclose{horizontalstrike}{x^2=1}$の解は**$\enclose{horizontalstrike}{x=0}$**です。~~
$\require{enclose}$ [Mathlog](https://mathlog.info/)
[タイトル付きリンク](https://mathlog.info/ "タイトル")
![photo](https://cdn.pixabay.com/photo/2020/09/20/07/24/iceland-5586225_1280.jpg)
photo
=100
などでサイズ指定ができます(おそらくMathlogの独自記法)
![photo](https://cdn.pixabay.com/photo/2020/09/20/07/24/iceland-5586225_1280.jpg =100)
![photo](https://cdn.pixabay.com/photo/2020/09/20/07/24/iceland-5586225_1280.jpg =200)
photo
photo
Mathlogのように![photo](https://cdn.pixabay.com/photo/2020/09/20/07/24/iceland-5586225_1280.jpg =100)
とは書けないけど、HackMDでは![photo](https://cdn.pixabay.com/photo/2020/09/20/07/24/iceland-5586225_1280.jpg =100x200)
みたいにサイズ指定ができます。(参考:
https://hackmd.io/s/features-jp
)
逆にMathlogでは=100x200
のようなサイズ指定はできないです。
【2020/12/29追記】
HackMDでも以下のように横のみのサイズ指定が可能みたいです。![photo](https://cdn.pixabay.com/photo/2020/09/20/07/24/iceland-5586225_1280.jpg =100x)
Mathlogのとは、=100x
のx
をつけるかどうかの違いしかないです。
| $x$ | $x^2$ |
|---|---|
| 1 | 1 |
| 2 | 4 |
| 3 | 9 |
$x$ | $x^2$ |
---|---|
1 | 1 |
2 | 4 |
3 | 9 |
2行目の-
の数は1個以上なら何個でも大丈夫です。
| $x$ | $x^2$ |
|---:|---:|
| 1 | 1 |
| 2 | 4 |
| 3 | 9 |
$x$ | $x^2$ |
---|---|
1 | 1 |
2 | 4 |
3 | 9 |
| $x$ | $x^2$ |
|:---|:---|
| 1 | 1 |
| 2 | 4 |
| 3 | 9 |
$x$ | $x^2$ |
---|---|
1 | 1 |
2 | 4 |
3 | 9 |
| $x$ | $x^2$ |
|:---:|:---:|
| 1 | 1 |
| 2 | 4 |
| 3 | 9 |
$x$ | $x^2$ |
---|---|
1 | 1 |
2 | 4 |
3 | 9 |
Supported TeX/LaTeX commands — MathJax 3.1 documentation
にある表の2列目(パッケージ)が空白、base
、ams
であるコマンドは使用できます(他にも利用できるのはあります)。
Mathlogではphysics
パッケージに対応していないので、2列目がphysics
である\sech
などのコマンドはMathlogでは対応していません。
ams
: そこそこ一般的なもの。\binom{n}{k}
$\binom{n}{k}$とか\varGamma
$\varGamma$とかamscd
: 可換図式とかが書けるみたいbbox
: 数式に背景色とか境界線とかがつけられる。\bbox[red]{x+y}
: $\bbox[red]{x+y}$boldsymbol
: イタリック太字が使える。\boldsymbol{x}
$\boldsymbol{x}$cancel
: 数式に取り消し線がつけられる: \cancel{1=2}
$\cancel{1=2}$, \xcancel{1=2}
$\xcancel{1=2}$color
: 数式に色がつけられる。{\color{red} x} + {\color{blue} y}
${\color{red} x} + {\color{blue} y}$html
: 数式にハイパーリンクがつけられるなど。\href{http://mathlog.info}{\log} x
$\href{http://mathlog.info}{\log} x$newcommand
: \newcommand
とかが使える。require
: ロードされていないパッケージをロードする?\require{enclose} \enclose{circle}{x}
$\require{enclose} \enclose{circle}{x}$ (enclose
はデフォルトでは使えない)
\require{physics} \sech x
も試してみたけどこれはうまく行かなかった。unicode
: \unicode{65}
$\unicode{65}$, \unicode[.55,0.05]{x22D6}
: $\unicode[.55,0.05]{x22D6}$verb
: 入力通り出力する。\verb|\sqrt{x}|
: $\verb|\sqrt{x}|$physics
braket
mhchem
enclose
extpfeil
action
bussproofs
Mathlogで使っているMathJaxのバージョンは3.1ではなく、2.7みたいです。
なので、コマンド一覧のページとしては、上で提示した
Supported TeX/LaTeX commands — MathJax 3.1 documentation
よりも
MathJax TeX and LaTeX Support — MathJax 2.7 documentation
を見たほうが安全そうです。
上記の「対応していないパッケージリスト」のうち
mhchem
enclose
extpfeil
action
については\require{mhchem}
のように\require
を使えば使えます。
しかし、
physics
bracket
bussproofs
についてはMathJax2.7にはないパッケージなので、\require
を使っても使えません。
ドルマーク1つで囲う数式をインライン数式、ドルマーク2つで囲う数式をディスプレイ数式と言います。
<!--訳合ってドルマークを全角で書いてますが、半角にする必要があります。-->
方程式$x^2=1$の解は$x=\pm 1$です。
方程式$$x^2=1$$の解は$$x=\pm 1$$です
方程式$x^2=1$の解は$x=\pm 1$です。
方程式$$x^2=1$$の解は$$x=\pm 1$$です
Mathlogで方程式$$x^2=1$$の解は
と書くと、
方程式
$\displaystyle{
x^2=1
}$
の解は
と翻訳されます。Mathlogでは、ドルマーク2つで囲う数式はドルマーク1つで囲む数式+displaystyle+改行で作られています(ディスプレイ数式なのに中央によらないのはそういう理由があるみたいです。)
ちなみにMathlogのエディタで、ドルマークを半角にして
a
と入力すると、
<!--半角で書くとこうなります。-->
方程式$x^2=1$の解は$x=\pm 1$です。
方程式$$x^2=1$$の解は$$x=\pm 1$$です
と表示されます。このことから方程式$$x^2=1$$の解は
が
方程式
$\displaystyle{
x^2=1
}$
の解は
と翻訳されていることがわかります。
\tag{1}
のように書くと数式番号が出てきます。\label
と\ref
も使えます。
方程式$$x^2=1\tag{1}$$の解は$$x=\pm 1\tag{2}\label{hoge}$$です。式(\ref{hoge})から...
方程式$$x^2=1\tag{1}$$の解は$$x=\pm 1\tag{2}\label{hoge}$$です。式(\ref{hoge})から...
\bm{x}
は対応していないですが、\boldsymbol{x}
と書くと$\boldsymbol{x}$と表示されます。
マクロの登録画面では\DeclareMathOperator
に対応していないので
\DeclareMathOperator{\sinc}{sinc}
と書く代わりに
\newcommand{\sinc}{\operatorname{sinc}}
と書く必要があります。
こう書くと
a
こうなります。
\begin{align}
x+y&=3\\
z&= 2
\end{align}
つまり、ドルマークで囲わなくても直接\begin, \endが書けます(ドルマークを自動で補完してくれるので)。
\begin{align} x+y&=3\\ z&= 2 \end{align}
可換図式とかが書けるらしいです。詳しくは mathlog公式Twitterのツイート を参照。
\begin{xy}
\xymatrix {
U \ar@/_/[ddr]_y \ar@{.>}[dr]|{\langle x,y \rangle} \ar@/^/[drr]^x \\
& X \times_Z Y \ar[d]^q \ar[r]_p & X \ar[d]_f \\
& Y \ar[r]^g & Z
}
\end{xy}
この図のコードは
XyJax - = Xy-pic extension for MathJax
より。
<!--
と-->
で囲むとコメントアウトができます。MarkdownもHTMLもコメントアウトできます。
<!--
## コメントアウトされたコンテンツ
コメントアウトされています。
-->
MathlogでHTMLを書くとき、改行をすると<br>
が挿入されるので注意です。HTMLを1行で書くようにすると<br>
が挿入されないです。
例えば、改行して
<div class="border">
<ul>
<li>リスト1</li>
<li>リスト2</li>
</ul>
</div>
と書くと、
とだだっ広く表示されてしまいます。次のように改行をせずに1行で
<div class="border"><ul><li>リスト1</li><li>リスト2</li></ul></div>
と書けば、
と想定通りに表示されます。
markdownには折りたたみの機能はないですが、HTMLのdetailsタグを使うと折りたたみができます。
<details><summary>折りたたみ</summary><p>中身
**x**
$x^2$
hoge
fuga
piyo</p></details>
中身
x
$x^2$
hoge
fuga
piyo
pタグが無いと折りたたみの外と中で行間などが違ってきてしまいます(この記事の公開時はpタグなしで書いてました。2020/12/29に気づいて追記しました。)
<details><summary>折りたたみ(pタグなし)</summary>中身
**x**
$x^2$
hoge
fuga
piyo</details>
上記の場合は大丈夫でしたが、detailsの中だとあんまりMarkdownが使えないので注意です。例えば箇条書きが使えないです。
<details><summary>detailsの中では例えば箇条書きが使えないです。</summary>
- リスト1
- リスト2
- リスト2-1
</details>
仕方ないので代わりにHTMLを使います。
<details><summary>HTMLを使った</summary><ul><li>リスト1</li><li>リスト2</li></ul></details>
Qiitaでは、折りたたんだ部分にMarkdownを使いたい場合、Markdownを<div>
で囲むと使えるらしいですが、Mathlogではできないです。(参考:
Markdown記法 チートシート - Qiita
)
<div class="border">
$x^2$
**強調**
[Mathlog](https://mathlog.info/)
![photo](https://cdn.pixabay.com/photo/2020/09/20/07/24/iceland-5586225_1280.jpg =100)
</div>
<div class="border">
- リスト1
- リスト2
- リスト2-1
> 引用
| $ x $ | $ x^2 $ |
|---|---|
| 1 | 1 |
| 2 | 4 |
| 3 | 9 |
</div>
インライン要素に翻訳されるMarkdown文法はHTMLタグの中で使えて、ブロック要素に翻訳されるMarkdown文法はHTMLタグの中では使えないという感じでしょうか?
&&&
hoge
&&&
hoge
わけあってHTMLで書かないといけない場合は、
<div class="box normal"><p>hoge</p></div>
で書けます(F12を押せばHTMLのコードが調べられます。)
hoge
Mathlogのエディタの形式を押せばいろんな囲みのコードが生成できます。
a
以下、形式の中から定理を選択したときのもの。
&&&thm 定理名(任意)
定理内容
&&&
定理内容
<details><summary>折りたたみ</summary><div>&&&
$x^2=1$の解は$x=\pm 1$
&&&
</details>
これだとうまく行かないです(&&&
の前後に空行を挟んでもうまく行かないです)。囲み枠の部分をHTMLにして
<details><summary>折りたたみ</summary><div class="box normal"><p>$x^2=1$の解は$x=\pm 1$</p></div></details>
と書くとうまくいきます。
$x^2=1$の解は$x=\pm 1$
例えば、「証明」形式の中に「囲み枠」形式を入れたい場合、次のように書いてもうまくいきません。
&&&prf 証明手法(任意)
ほげ
&&&
内容
&&&
&&&
一般に形式の中に形式は書けないです。内側の形式をHTMLで書く必要があります。
&&&prf 証明手法(任意)
ほげ
<div class="box normal"><p>内容</p></div>
&&&
ほげ
内容
何もしなくても目次は自動で追加されるらしいです。(画像は、記事の新規作成時のプレビュー側に表示されるもの)
とは言っても、目次が生成されていない記事もあるので、目次が生成される条件がありそうです。見出しの#(h2)があることが条件でしょうか。#(h2)の見出しを使わずに##(h3)の見出しから始める場合だと目次は生成されないみたいです。
また、プレビューの時点では目次は生成されず、投稿したあとの実際の記事でないと目次は生成されません。
(目次が自動で生成されるのを知らず、どうすれば目次が生成されるのかでめちゃくちゃ悩んでハマってしまいました。)