GhostでもMathJaxでLaTeXのようにきれいな数式を表現する

GhostでもMathJaxでLaTeXのようにきれいな数式を表現する
Photo by Bozhin Karaivanov / Unsplash

本ブログではCMSにGhostを使っている。

たまぁに、数式を使う記事を書きたくなるが、GhostではLaTeXで記述したってうまいことしてくれるMarkdownはない。

どうやらウェブサイトでLaTeXのような気レインは数式を表示するのにはMathJaxというJavaScriptによる描画エンジンを使えばいいらしい。

導入が無茶苦茶簡単だったわりに、いざ使うときにつまずいたのはここだけの話。

お話の前に

Ghostではすべてのページにコードを挿入する機能がDashboardにある。

今回はその機能を使わない

数式を使う記事なんて限られているので、使う記事にだけスニペットを挿入して運用していく方向性でいく。

「いやいや俺の書く記事に数式が出てこないものなんてない!LaTeXで数式を書きまくる!」って人はDashboardのCode Injectionに以下のスニペットを突っ込めばいい。

MathJaxを導入する

Getting Startedからドキュメントを開く。

MathJax
Beautiful math in all browsers.

Web IntegrationからStart Nowボタンをクリックすると導入の手順を教えてくれる。

現時点ではMathJax version 4が2024年にでた最新版だそう。セキュリティとかそういうのを重視てくれた良い感じのバージョンっぽいので、MathJax version 4を使います。

<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@4/tex-mml-chtml.js"></script>

書きたい記事のPost settingsからCode Injectionを開き、Headerにコードをペタッと貼り付ければ「MathJaxのエンジン」は導入できる。

設定を書き込む

LaTeXに慣れている人なら気づいたと思うが、設定もお忘れなくということだ。具体的には、$がよくつかわれるものだからLaTeXの文脈で使われているかどうか判断できないからデフォでインライン数式が無効化されてる。

とりあえず私が以前使ったテンプレートを共有するが、自分なりにカスタマイズをAIに頼むなりして使うといいだろう。

<script>
window.MathJax = {
  tex: {
    inlineMath: [['$', '$'], ['\\(', '\\)']],
    displayMath: [['$$', '$$'], ['\\[', '\\]']],
    // TeX エンジンの完全初期化
    packages: {'[+]': ['base', 'newcommand', 'configmacros']},
    processEscapes: true,
    processEnvironments: true
  },
  startup: {
    typeset: true  // 初期組版を有効化
  }
};
</script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@4/tex-mml-chtml.js"></script>

使い方

ディスプレイ数式は$$数式$$と書けばOKで、インライン数式は$数式$と書けばいい。

Previewで数式を確認できますよ。

入力中は脳内でLaTeX数式を書き上げる必要がありますが、そんなものはお手の物ですよね?

どんな感じの記事になるかを確認したければ僕の記事を見てどーぞ。

LogicoolのStreamCamがいいなって話
LogicoolのWebカメラの一つ、StreamCamをコロナによるオンラインミーティング以降からずっと使ってきている。結局当時はカメラオフの場面が多く、さほど使うことがなかったが、大学生となりカメラをオンにしたミーティングに参加する機会が多くなった。 StreamCamStreamCamを購入。1080p 60 FPS、高性能オートフォーカスと露出、縦方向ビデオ / ポートレート方向、汎用マウント、USB-C、デュアルマイクなどが特徴ですLogitech きっかけは使っているラップトップのちょっとした不具合(キーボードバックライトが点灯しなくなった)を修理する際、メーカーのミスで画面を割ってしまい、ディスプレイの交換修理になった。出張修理ということで、メーカー委託の業者が修理してくれたのだが、ディスプレイ交換の際、内臓Webカメラを指でべったり触ってしまったらしく、カメラの保護フィルムの粘着層に指紋がついてしまったようで、使い物にならないほど白ぼけてしまった。 とはいえ別にオンライン授業で高画質な映像を届ける機会などないし、複数回にわたる修理で呆れていたので、特に何もせずその

MathJaxを使って数式を書いたよ

Read more

Realforceのアップデートで文鎮化して焦った話

Realforceのアップデートで文鎮化して焦った話

Realforceのアクチュエーションポイントを浅くしたくて設定ソフトであるRealforce Connectをダウンロードするために、久しぶりにRealforceのホームページにいってみたところ、ファームウェアFWのバージョンが随分とアップデートされていた。 ソフトウェア | REALFORCE | 日本製プレミアムキーボードの最高峰REALFORCE ついでにと思い、ファームウェアのアップデートをしてみた。 どうやらFWはキーボードの型番によって異なるようだが、キーボードをひっくり返して確認するのもめんどくさい。 たしかソフトから見れたよなあと思い、まずはRealforce Connectをインストール。 どうやら私の手元のキーボードはR3HC23というものらしい。 製品:R3 KEYBOARD / R3HC23 | REALFORCE | 日本製プレミアムキーボードの最高峰打つ悦び。カスタマイズ可能な第3世代キーボード、R3シリーズ。REALFORCE | 日本製プレミアムキーボードの最高峰 とりあえず、対応するFWをダウンロードページからダウンロード。 Real

By Sakashita Yasunobu
音声コーデックOpusで録画した動画ファイルはブラウザで再生するのが一番手軽かもしれない

音声コーデックOpusで録画した動画ファイルはブラウザで再生するのが一番手軽かもしれない

互換性を意識しながら設定 たまぁに画面録画をすることがあり、先日もコーデックは何にしようかと答えのない選択肢にうーんと頭を抱えていた。 いろいろな問題を解決しているおニューなコーデックを使いたいのだけれど、変なコーデックを使うと再生できないんだよねー。 とりあえず理屈ではこうやっておこうかなと一応考えが固まった。 * 動画コンテナとしてはHybrid MP4(つまり内部的にはFragmented MP4を使って、外から見れば普通のMP4として使えるので互換性もよき) * 音声コーデックはOpus。ビットレートは160 Kbpsに設定するので劣化どうこうというよりかはファイルサイズの削減が狙い。 WindowsだとOpusだめっぽい? ここで問題!動画コンテナはMP4なので当然Windows11標準のMedia Playerで開けるのだが、音声が再生されない。エラーポップアップも出てきて、再生無理といわれる。 たしかにWindowsのMedia Playerがサポートするコーデックのリストに、Opusの名はない。 Media Player のコーデック - Micr

By Sakashita Yasunobu
画面録画用にOBSの設定をいろいろ考えてみた

画面録画用にOBSの設定をいろいろ考えてみた

専業のYouTubeになるつもりなんてないのだが、それでもたまに画面を録画したいときってものがある。 定番だが、OBS Studioを使って録画している。 しかし、映像というものもなかなか進歩が速いうえに、謎の技術の詰め合わせでやたらと複雑で理解していてもすぐに忘れてしまうし、陳腐になってしまう。 一昔前まではFHDでいいと思っていたのに、いまやスマホでさえも4Kだ。実際に4Kのコンテンツを再生する場面があるかはさておき、FHD以上の解像度も検討しようかなと思ってくる。 OBS Studioの設定から、「出力」タブに移動し、「出力モード」を「詳細」に変更して、設定をいじくりまわしてみよう。 本稿の目的はこの「出力」タブの「録画」設定だけだから、他の一般的な設定は何にも触れないぞ! ちなみに僕の使い方だが画面を録画して、あとで見直す用に使う感じだ。配信ではなく録画なうえ、ゲームなどを遊びながらという感じでもない。画質・音質重視で、ファイルサイズなんかは小さくしたいけれど互換性は大事にしたいなあという感じ。 とりあえず、録画設定から 「録画設定」をいじることから始めよう。

By Sakashita Yasunobu
OBS Studioで録画したFragmented MP4をそのままnotionにアップロードしても再生できねえ!

OBS Studioで録画したFragmented MP4をそのままnotionにアップロードしても再生できねえ!

notionにOBS Studioで録画したデータをアップロードしたら再生できずにエラーが出た。 エラーが出ることもあれば、ずっとぐるぐる読み込み中ってこともある。 https://www.notion.com/ja/help/images-files-and-media 備考: お使いのブラウザやOSでこの動画/音声形式の再生がサポートされている場合は、Notionページ内から直接再生できます。 お使いのブラウザやOSで、この動画/音声形式の再生がサポートされていない場合、このコンテンツは直接再生できない可能性があります。 いずれにしてもまともに使えないので、原因は何かと考えていた。 たぶんOBS Studioで録画したときに録画フォーマットをFragmented MP4にしたのが原因。 Hybrid MP4にすることで直った。 Fragmented MP4の良さはいいなと思っているので、Hybrid MP4を使ったが、普通のMP4にしてもいいと思う。というかそれが一番余計な不具合も起きないと思う。

By Sakashita Yasunobu