誰がログ

歯切れが悪いのは仕様です。

Obsidianでアステリスクをそのまま表示させる(Pandocのエクスポート結果付き)

はじめに

アステリスクの記号(*)をObsidianのようなmarkdownの環境でそのままの見た目で表示させるのはどうすれば良いのかということについて書きます。結論としては特に目新しいことはないと思いますが、Pandocプラグインによるエクスポートのテストなどもやってみましたので参考になる方がいれば嬉しいです。

言語学的な背景

なぜ特にアステリスクに話を限るかというと、私の研究分野である言語学ではアステリスク(*)を専門的な記号としてよく使うからです。

たとえば下の方で実際に例としてアステリスク付きの英語の例文 "*Anybody didn't come." を使っています。これは "Anybody didn't come." という表現が非文法的 (ungrammatical) であるということを示しています。実際には容認性 (acceptability) が著しく低いということを示すのにもこの記号が使われていると思いますが、これは言語学についての記事ではありませんのでこの辺りの細かい話には立ち入りません。ちなみに、文だけでなく句や語といったもっと小さい単位に付けて使うこともあります。

ほかの分野でもアステリスクを使いたいのにmarkdownの環境ではそのままでは文字として扱われないのでちょっと困るということはあるのではないでしょうか。

markdownでの扱い

markdownではアステリスクがその直後の文字列を斜体にする装飾用の記号として機能します。これはmarkdownの非常に基本的な記法なのでObsidian以外の環境でも触れたことがある方は多いでしょう。

これを知らずにObsidianで "*Anybody didn't come." と書くと "Anybody didn't come." と表示されてしまうわけですね。一般的なタグなどと異なり右の方にアステリスクをもう1つ置かなくても(改行のところまで)斜体になってしまいます。斜体になるだけならまだ良いかもしれませんが、その有無に大きな意味があるアステリスクの記号自体が見えなくなってしまうという点が問題です。

editing modeを装飾が見た目として反映される "Live Preview" ではなく "Source mode" にすればアステリスク自体は見えるようになります。ただその場合もやはり斜体にしたくてアステリスクを使ったのか言語学上の記号として付けたのかが分かりにくいです。

解決案

いろいろ試してみて、結局解決案はこれもやはり一般的なやり方であるバックスラッシュ(\)でエスケープするというのが一番良さそうです。markdownにある程度慣れている方は当たり前の結論過ぎてがっかりかもしれませんが、ほかにもいくつか試してみたので下にまとめます。

バックスラッシュによるエスケープ

アステリスクなどの特殊な機能を持つ記号は、その直前にバックスラッシュ(\)を置くことでその効力を無効化できます。これはアステリスクだけでなくほかの記号にも有効ですし、Obsidianだけでなくmarkdownでは一般的な方法なので知っておくと便利でしょう。

私はLaTeXも使うのでバックスラッシュを簡単に入力出来るような設定にしていてこの方法が楽ということはあるかもしれません。やり方は環境によってさまざまですので調べてみてください。

アステリスクの後にスペースを入れる

アステリスクの後にスペース(半角でも全角でも)を入れるとスペースの後にある文字列は斜体にならないようです。

見た目としてはすっきりしていますし、手間も少ないです。ただスペースの存在は環境によっては判別しにくいですしコピペなどした際にスペースの存在が厄介になることもありそうです。あと、言語学だとアステリスクの後にスペースを入れるということは基本的にしないので意外と手間を増やすやり方かもしれません(論文化するときに消さなきゃならない)。

全角のアステリスクを使う

全角のアステリスクはmarkdownの記号としては解釈されないので半角のアステリスクの代わりにするということが考えられます。実際、和文の言語学関係の論文では全角のアステリスクを使っているものも見ます。ただあまり一般的ではないように思いますのでおすすめできないですね。英文中で使いたいときには書き換える必要が出てきますし。

コードとして書く

コードブロック、あるいはインラインコードの記法を使って書くとアステリスクがそのまま表示されます。ただバックスラッシュに比べると書く手間もかかりますしほかの装飾も無効化されてしまうので(バックスラッシュの場合は直後の記号のみ無効化)、あまり有効な場面が思い浮かびません。

Pandocプラグインによるエクスポート

ObsidianにはPandocプラグインがあってノートを直接さまざまな形式にエクスポートできます。

github.com

私は実際に発表資料や授業の資料の下書きをObsidianで書いてPandocプラグインでWordなどの形式にエクスポートするということをやっているので、アステリスクの扱いがどうなるのか気になって試してみました。エクスポートの形式はWord(docx)で統一しました。

何もしない場合

上に少し書いたようにObsidian上では左端だけにアステリスクを付けた場合も両端をアステリスクを囲った場合も同じような見た目になります。

アステリスクを使ったObsidianのノート

しかし、これをPandocプラグインでエクスポートすると扱いが違って、両端を囲ったもののみが斜体として装飾されています。

PandocプラグインでObsidianからWordにエクスポートした場合のアステリスク

アステリスクの対策をした場合

上で紹介したそれぞれの対策を行ったObsidian上のノートは下記のようになります。

アステリスク対策をしたObsidianのノート

これをPandocプラグインでエクスポートすると次のようになりました。コードの場合はフォントも律儀に対応されて変わっていますが、アステリスク自体はすべてきちんと表示されています。

PandocプラグインでObsidianからWordにエクスポートしたアステリスクの対策結果

おわりに

ちなみに、バックスラッシュによるエスケープを使っているとObsidianで「\*」を検索することで装飾以外の意図で使ったアステリスクのみを探すのが比較的簡単にできます。これも人によっては意外と便利かもしれません。