「Typora」の版間の差分
(Notion-MW) |
(Notion-MW) |
||
(同じ利用者による、間の2版が非表示) | |||
1行目: | 1行目: | ||
TyporaはWYSIWYG方式のマークダウン編集ソフトである。 | |||
== 数式の基本 == | == 数式の基本 == | ||
TeX風数式レンダリングのJavaScriptライブラリとしては、古くからあるMathJaxと新興のKaTeXが有名だが、Markdownで主に使われるのはMathJaxで、TyporaでもMathJaxが使われている。ちなみにNotionで使われているのはKaTeX。 | |||
* インライン数式を使うには<strong>設定で有効にする必要がある</strong>。 | * インライン数式を使うには<strong>設定で有効にする必要がある</strong>。 | ||
20行目: | 20行目: | ||
最も汎用的なのが\labelとともに\tagで式の名前を指定するもので、上記の全ての設定で有効である。 | 最も汎用的なのが\labelとともに\tagで式の名前を指定するもので、上記の全ての設定で有効である。 | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="markdown">$$ | ||
$$ | |||
a=b\label{expr1}\tag{*} | a=b\label{expr1}\tag{*} | ||
$$ | $$ | ||
32行目: | 31行目: | ||
auto numberingを利用するとこの\tagの部分をわざわざ書かなくて済むようになる。「Use AMS Numbering Rules」の場合、equationなど一部の環境に自動で番号が付加される。このとき\labelは\begin{equation}と\end{equation}の間に書く必要がある。実用的にはこれが最も使いやすい? | auto numberingを利用するとこの\tagの部分をわざわざ書かなくて済むようになる。「Use AMS Numbering Rules」の場合、equationなど一部の環境に自動で番号が付加される。このとき\labelは\begin{equation}と\end{equation}の間に書く必要がある。実用的にはこれが最も使いやすい? | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="markdown">$$ | ||
$$ | |||
\begin{equation} | \begin{equation} | ||
a=b\label{expr2} | a=b\label{expr2} | ||
42行目: | 40行目: | ||
「Auto Numbering for All Math Equations」の場合はequation環境などがなくても全てのdisplay style数式ブロックに番号が付けられる。 | 「Auto Numbering for All Math Equations」の場合はequation環境などがなくても全てのdisplay style数式ブロックに番号が付けられる。 | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="markdown">$$ | ||
$$ | |||
a=b\label{expr3} | a=b\label{expr3} | ||
$$ | $$ | ||
101行目: | 98行目: | ||
== テーマ == | == テーマ == | ||
[https://support.typora.io/Add-Custom-CSS/ Add Custom CSS - Typora Support]にある通り、ユーザー独自のCSSを追加できる。「テーマフォルダを開く」とやるとフォルダが表示されるので、そこにCSSファイルを作る。<code>base.user.css</code>は全テーマ、<code>{current-theme}.user.css</code>(例えば<code>github.user.css</code>)は特定のテーマに対してカスタムCSSを適用する。 | |||
==== 行間 ==== | ==== 行間 ==== | ||
109行目: | 106行目: | ||
まず基本の行の高さは | まず基本の行の高さは | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="css">body { | ||
body { | |||
font-family: "TRIVFONT", "NazoMin", "NazoMin+", "Open Sans","Clear Sans", "Helvetica Neue", Helvetica, Arial, 'Segoe UI Emoji', sans-serif; | font-family: "TRIVFONT", "NazoMin", "NazoMin+", "Open Sans","Clear Sans", "Helvetica Neue", Helvetica, Arial, 'Segoe UI Emoji', sans-serif; | ||
color: rgb(51, 51, 51); | color: rgb(51, 51, 51); | ||
119行目: | 115行目: | ||
次に段落間は | 次に段落間は | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="css">p, | ||
p, | |||
blockquote, | blockquote, | ||
ul, | ul, | ||
130行目: | 125行目: | ||
や | や | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="css">h1, | ||
h1, | |||
h2, | h2, | ||
h3, | h3, | ||
146行目: | 140行目: | ||
となっているので、それぞれ | となっているので、それぞれ | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="css">p<strong>{ | ||
p<strong>{ | |||
margin: 0.4em 0; | margin: 0.4em 0; | ||
}</strong> | }</strong> | ||
157行目: | 150行目: | ||
margin: 0.8em 0; | margin: 0.8em 0; | ||
}</syntaxhighlight> | }</syntaxhighlight> | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="css">h1, | ||
h1, | |||
h2, | h2, | ||
h3, | h3, |
2024年1月25日 (木) 19:05時点における最新版
TyporaはWYSIWYG方式のマークダウン編集ソフトである。
数式の基本
TeX風数式レンダリングのJavaScriptライブラリとしては、古くからあるMathJaxと新興のKaTeXが有名だが、Markdownで主に使われるのはMathJaxで、TyporaでもMathJaxが使われている。ちなみにNotionで使われているのはKaTeX。
- インライン数式を使うには設定で有効にする必要がある。
- MathJaxの使い方について https://www.eng.niigata-u.ac.jp/~nomoto/download/mathjax.pdf
数式間の参照
基本的には、\labelで付けたラベルを\eqrefで参照することになる(筆者はMathJax自体にあまり詳しくないが、MathJaxがわかっていればここは簡単な話だと思う)。また有効なのはおそらくdisplay-styleの数式($$の間)のみ。詳しくはMath and Academic Functions - Typora Supportを参照。
Typoraのauto numberingに関する設定によって使える構文の範囲が異なる。設定は以下の3通りである。
- No Automatic Equation Numbering
- Use AMS Numbering Rules
- Auto Numbering for All Math Equations
最も汎用的なのが\labelとともに\tagで式の名前を指定するもので、上記の全ての設定で有効である。
$$
a=b\label{expr1}\tag{*}
$$
reference : $\eqref{expr1}$
こうすると以下のように表示される。
auto numberingを利用するとこの\tagの部分をわざわざ書かなくて済むようになる。「Use AMS Numbering Rules」の場合、equationなど一部の環境に自動で番号が付加される。このとき\labelは\begin{equation}と\end{equation}の間に書く必要がある。実用的にはこれが最も使いやすい?
$$
\begin{equation}
a=b\label{expr2}
\end{equation}
$$
reference : $\eqref{expr2}$
「Auto Numbering for All Math Equations」の場合はequation環境などがなくても全てのdisplay style数式ブロックに番号が付けられる。
$$
a=b\label{expr3}
$$
reference : $\eqref{expr3}$
ただしequation環境を使う場合は\labelを\begin{equation}と\end{equation}の間に書く必要がある模様(詳細不明)。
- eqrefで指定したラベルが存在しない場合だけでなく、ラベルは存在するものの対応するtag(あるいはauto numberingによる番号)が存在しない場合も(???)と表示される。
- Typora上ではCtrl+クリックにより参照先の数式にジャンプできる。pdfにも反映される。
ライセンス
基本的には有料(買い切り$20なので安い)だが、Linux versionまたはdev versionを使用する場合は15日より大幅に長く使えるとhttps://support.typora.io/purchase/にひっそり書いてある。
You will have a 15-day free trial before the purchase. If you use the dev version or the Linux version, you will have much longer trial time if you keep Typora updated. However, we may show a “trial button”, disable certain features or shorten trial time in the future, but most functions will be kept.
Typoraを使う層は割とLinux使ってそうなもんだがこれで本当に大丈夫なのか…?
https://twitter.com/e9g/status/1563874586487169025も参照
マクロ
例えば$\def \llbracket{[\![}\def\rrbracket{]\!]}$
とかどっかに書いておけばglobalに有効になる。反映されないときは「すべての数式を更新」を押そう。
Extension
MathJaxはextensionというものを入れることで機能を拡張できる(LaTeXのパッケージにあたる)。
The TeX/LaTeX Extension List — MathJax 3.2 documentationに列挙されている。
だいたいTyporaには既に入っている?
MathJax3で、requireというのが使えるようになって、さらにTyporaはMathJax3に対応した?https://github.com/typora/typora-issues/issues/3388 しかし既にだいたい拡張が読まれているので無関係?
要するに、コマンド調べて、打ってみて、エラーが出たなら、きっぱり諦めて無理やり\!
とか使ってマクロ自作したほうが早いような気がする。幸いマクロはglobalに効くので。
- https://github.com/typora/typora-issues/issues/2974 に書いてあるように、resourceフォルダとかをいじると色々できそうだがとりあえず無視
- メインのIssueは結局 https://github.com/typora/typora-issues/issues/100 かな?
日本語入力のバグ
数式を多く含んだ比較的長いファイルの編集時、方向キーでブロックをまたいだ移動をした直後に日本語入力をすると、最初の(正確には最初の文字が入力されてから0.1-0.3秒くらいの間に入力された全ての)文字が変換前に確定されてしまう、というバグがある。たとえば「か」(下線は変換確定前であることを表す)と打とうとすると「kあ」になる。
おそらくインライン数式(の処理によるタイムラグ?)が原因と思われ、インライン数式無しでは100KB程度の大きなファイルでも再現できなかった。しかし、インライン数式があっても量が少なければ発生しない。また量が少ないときは再起動すると治る場合もある。量が多い場合はいくら再起動しても治らないようである。
手元では、例えば「xx」という行を500行程度繰り返す(ファイルサイズとしては4~5KB程度)ようなファイルを作ると、いくら再起動してもこのバグが発生する。
回避策は現状思いつかないので、とりあえず方向キーで別ブロックに移動した際は何か適当に1文字打ってから消すことにしている。
- 日本語入力についてなど現象をわかりやすく説明するのが面倒すぎてIssue投稿はしていない。
画像
https://github.com/typora/typora-issues/issues/1059
テーマ
Add Custom CSS - Typora Supportにある通り、ユーザー独自のCSSを追加できる。「テーマフォルダを開く」とやるとフォルダが表示されるので、そこにCSSファイルを作る。base.user.css
は全テーマ、{current-theme}.user.css
(例えばgithub.user.css
)は特定のテーマに対してカスタムCSSを適用する。
行間
デフォルトだとやや行間が広すぎるように思うので変える。
まず基本の行の高さは
body {
font-family: "TRIVFONT", "NazoMin", "NazoMin+", "Open Sans","Clear Sans", "Helvetica Neue", Helvetica, Arial, 'Segoe UI Emoji', sans-serif;
color: rgb(51, 51, 51);
line-height: <strong>1.3;</strong>
}
ここで変える。(もともとは1.6)
次に段落間は
p,
blockquote,
ul,
ol,
dl,
table{
margin: 0.8em 0;
}
や
h1,
h2,
h3,
h4,
h5,
h6 {
position: relative;
margin-top: 1rem;
margin-bottom: 1rem;
font-weight: bold;
line-height: 1.4;
cursor: text;
}
となっているので、それぞれ
p<strong>{
margin: 0.4em 0;
}</strong>
blockquote,
ul,
ol,
dl,
table{
margin: 0.8em 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
position: relative;
margin-top: <strong>0.6rem</strong>;
margin-bottom: <strong>0.6rem</strong>;
font-weight: bold;
line-height: 1.4;
cursor: text;
}
と変更すると狭まる。
両側の余白
max-width
と書いてある部分を全部消せば余白もなくなる
折りたたみ(summary/detail)
サポートは不完全 https://github.com/typora/typora-issues/issues/1581
脚注
普通のMarkdownの文法による脚注の追加は可能。補完はされないようである。補完やBibTeXとの連携(?)についてはSupport academic referencing in the future? · Issue #912 · typora/typora-issuesで議論されている。