昨日の記事「オンラインMarkdownエディタ&ビューワー」で、オンラインMarkdownエディタStackEditを紹介しましたが、StackEditの数式機能(KaTeX)がイマイチでちょっと困りました。類似のオンラインツールであるHackMDを試してみます。
- HackMD https://hackmd.io/
- 機能紹介 https://hackmd.io/s/features-jp
※ 追記あります。
※ さらに追記あります。HackMDのセンタリングに対するクレームは、僕の言いがかりでした。謝罪します。
機能と使い方は、StackEditもHackMDも似ています。なので、「オンラインMarkdownエディタ&ビューワー」を読んでいただければ、HackMDも同様に使えるでしょう。違う点は、HackMDのほうは、原則的にアカウントを作る必要があることです。
HackMDの個人プランとチーム向け公開プランは無料です。アカウントを作れば、Markdownファイルを作成できます。作ったファイルには(人間には)分かりにくいURLが付けられます(StackEditでは、そもそもMarkdownファイルはURLを持ちませんでした)。デフォルトでは、ファイルに次のアクセス権限が設定されます。
非公開にしたいなら、「閲覧可能:所有者 編集可能:所有者」に設定します。これで当該URLへのアクセスは"403 Forbidden"ではじかれます。無料版では、これ以上にきめ細やかなアクセス制御(例えば特定の人にだけアクセス許可)は出来ません。
アクセス権限を開放すれば、URLを知ってさえいれば、誰でも当該Markdownファイルにアクセス可能です。URLを知った同士なら共同執筆/共同編集が出来ます。コメントを付けることも出来ます。機密性がさほどない文書なら、この方法でコラボレーションが(有料版なら非公開な文書で非公開な共同作業も)可能です。ビデオミーティングのツール(音声だけでいいかも知れない)と併用するのも良さそう。とはいえ、リアルタイムでの共同作業がそんなに必要か? は疑問ですがね。
HackMDでは、画像のアップロード先はimgur.com〈イムガー〉になっています。HackMDのUIを使うと、imgur.comに画像がアップロードされて、その画像への参照(imgタグ相当)がMarkdownテキストに挿入されます。
ひとつ気になったのは、テキストサイズの表示がバイト数であって文字数ではない点です*1。日本語文書でバイト数表示されてもなー。これはStackEditのほうが良かった。
気になる点があるとはいえ、総じてMarkdownエディタとしての機能は洗練されており、複数人での執筆・編集もサポートされていることから、HackMDはオンライン・オーサリング環境として実用に耐えそうです*2。
ガーン、かんべんしてくれ! HackMDの数式レンダリングはまともだと思っていたら … ディスプレイ数式をセンタリングする。
$$ \newcommand{\det}{\mbox{det}}\newcommand{\vol}{\mbox{vol}}\newcommand{\fmap}{\mbox{fmap}} \:\:\:\: \det_b(f) \\ = \det( b;f;b^{-1} ) \\ = \det( ( (b/a);a) ; f ;( (b/a);a)^{-1} ) \\ = \det( (b/a);(a; f ; a^{-1}); (b/a)^{-1} ) \\ = \det( (b/a) ) \det(a; f ; a^{-1}) \det( (b/a)^{-1} ) \\ = \det( (b/a) ) \det( (b/a)^{-1} ) \det(a; f ; a^{-1}) \\ = \det( (b/a) ) \det( (b/a) )^{-1} \det_a( f ) \\ = 1\cdot \det_a( f ) \\ = \det_a(f) $$
まー、美しいレイアウト。って、んなわけねーだろ! いったい何考えてんだよ、もう。とりあえず今は、インライン数式を一行ずつ並べて回避している。なんでこんなワークアラウンドしなきゃならんのかね?(設定でなんとかできないか?)
[/追記]
HackMDが数式のセンタリングするのは正しい挙動です。僕の勝手な期待で文句を言ってしまって申し訳ないです。悪かった、許してくれ、HackMD。
[/さらに追記]