はてなブログとの戦い(TeX編)
TeXはなるべく共通の書き方が良い
先人の知恵を拝借しながら戦ってました。。
一歩前進したやり方ができたのでメモ
問題視しているものは例えばKaTeXレンダリング前に^2が<sup>2</sup>に変換されてしまうことでこれが影響を与えているので、阻止するJavaScriptを追加
「設定→詳細設定→
要素にメタデータを追加」で以下を追記して実験可能※他に影響を与える可能性があるので注意して自己責任で追記ください
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.10/dist/katex.min.css" integrity="sha384-wcIxkf4k558AjM3Yz3BBFQUbk/zgIYC2R0QpeeYb+TwlBVMrlgLqwRjRtGZiK7ww" crossorigin="anonymous">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.10/dist/katex.min.js" integrity="sha384-hIoBPJpTUs74ddyc4bFZSM1TVlQDA60VBbJS0oA934VSz82sBx1X7kSx2ATBDIyd" crossorigin="anonymous"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.10/dist/contrib/auto-render.min.js" integrity="sha384-43gviWU0YVjaDtb/GhzOouOXtZMP/7XUzwPTstBeZFe/+rCMvRwr4yROQP43s0Xk" crossorigin="anonymous"></script>
<script>
function replaceInDollars(text) {
// ここを変更して置き換える内容を調整する
return text.replace(/\$\$(.*?)\$\$/gs, function(match, p1) {
// console.log('match:' + match + '; p1:' + p1);
p1 = p1.replace(/<\/sup>/gs, '');
p1 = p1.replace(/<sup>/gs, '^');
p1 = p1.replace(/\\ /gs, '\\\\');
p1 = p1.replace(/\\\[/gs, '\\\\[');
return '$$' + p1 + '$$';
});
}
document.addEventListener('DOMContentLoaded', (event) => {
// レンダリング前に記事内を修正する
const contentList = document.getElementsByClassName('entry-content');
for (let element of contentList) {
element.innerHTML = replaceInDollars(element.innerHTML);
};
// KaTeXで数式をレンダリング
renderMathInElement(document.body, {
// customised options
delimiters: [
{left: '$$', right: '$$', display: true},
{left: '$', right: '$', display: false},
{left: '\\(', right: '\\)', display: false},
{left: '\\[', right: '\\]', display: true}
],
throwOnError: false
});
});
</script>
KaTeX部分は執筆当時のバージョンのため、最新情報などは以下公式ページを参照ください ※Installationのページ
部分分数分解(Partial fraction decomposition)
こんなやつ
以下の公式がある
$$ \frac{px + q}{(x + a)(x - b)} = \frac{A}{x + a} + \frac{B}{x - b} $$
これを覚えてしまえば楽
計算過程で使う場面は結構出てくる印象
例示
$$ \begin{aligned}\frac{2x + 1}{1 - x2} &= \frac{2x + 1}{(1 + x)(1 - x)}\ &= \frac{A}{1 + x} + \frac{B}{1 - x}\end{aligned} \[1.5em]両辺に(1+x)(1-x)をかける\[1.5em] \begin{aligned}2x + 1 &= A(1 - x) + B(1 + x)\end{aligned} \[1.5em] 片方ずつ0にするイメージで \[1.5em] \begin{aligned}\text{For } x = 1,\ \quad 2B &= 3\ B &= \frac{3}{2}\end{aligned} \[1em] \begin{aligned}\text{For } x = -1,\ \quad 2A &= -1\ A &= -\frac{1}{2}\end{aligned} \[1.5em] \begin{aligned}\therefore \frac{2x + 1}{1 - x2} &= \frac{-\frac{1}{2}}{1 + x} + \frac{\frac{3}{2}}{1 - x}\ &= -\frac{1}{2(1 + x)} + \frac{3}{2(1 - x)}\end{aligned} $$
参考
ChatGPTの音声チャットの便利さ
ChatGPTの音声チャット
例えばiPhoneであればアプリに次の画像のようなアイコンが表示されているのでこれを押すと音声チャットが始まります。

実施したイメージは以下ですがものすごく便利です。

何が便利かというと家事をやりながらとかながら作業で捗るんですよね。
料理の準備をしながら、洗濯物を干しながら、片付けながら・・・寝付けない時にも良い感じです。
引き続き音声チャットの使い方を模索していきたいです。
Apple Pencil代替比較
はじめに
- Apple Pencil代替商品で最近良いものを見つけたのでシェア
- お財布に優しいかつ使い勝手が良い
- 少し差分があるので比較表を記載
見つけたもの
- ナカバヤシ(Nakabayashi) Digio2 iPad専用 充電式タッチペン アップルペンシル Apple Pencil ホワイト
- 匠彩 iPad用【ショートカットボタン付】スタイラスペン タッチペン アップルペンシル apple pencil互換iPadペンシル 第1世代 第2世代 白
観点別比較表
| 観点 | ナカバヤシ | 匠彩 |
|---|---|---|
| シンプルさ | ◯ | - |
| 接続方法 | 電源ONのみ | 電源ONに加えショートカット利用は要Bluetooth接続 |
| ショートカット付き | - | アプリによって挙動が違うが側面のボタンのクリックで取り消し、ダブルクリックでペンと消しゴムの切り替え |
| 電源切り替えの方法 | ペンの頭を押し込んで切り替える | ペンの側面のボタンを長押しして切り替える |
| 電池の持ち | Good | GoodだがBluetoothがあるため少し短いかも?※未検証 |
| 磁力の強さ | 普通? | 比較的しっかりくっつく気がする |
| お値段 | Good | Good |
| 書き心地 | Good | Good |
| 軽さ | Good | Good |
まとめ
- Apple Pencil高いよ!って人はこの2つの代替商品がおすすめ!
- 他にも色々販売されているのでもっといいものがあるかも
- 過去に磁力で電源切り替え、タップ(押し込むのではなく触れる)で電源切り替えの商品を購入したことがあるが微妙なストレスがかかった
- したがって今回ご紹介させていただいたクリック感がある商品がおすすめ!
VSCodeのMarkdownにおける脚注(footnote)について
わからなかったので調べました。
結論: Markdown Preview Enhanced extension1を使いましょうということです。
Markdown GuideのVS Codeの整理2がわかりやすかったです。
以下のような表現となります。
- 脚注を挿入するポイント
[^1]
- 最下部の脚注の中身(XXXにURLや補足事項を記載する3)
[^1]:XXX
例えば脚注に関する文章は当該記事ではこのように記載しております。
結論: Markdown Preview Enhanced extension[^1]を使いましょうということです。 Markdown GuideのVS Codeの整理[^2]がわかりやすかったです。 - 最下部の脚注の中身(XXXにURLや補足事項を記載する[^3])
Kaggleで頼りになるpdb(jupyter notebookのデバッグ手法)
はてなブログの数式を正規表現でなんとかする
はてなブログの数式を正規表現でなんとかする
notionなどで数式含めて整理した記事を投稿するときにやっかいなのが独特の数式阻害w
$x = 1$
$$ x = 1 $$
$で囲んだ数式ががうまく表示されないことがあります。
いろいろな対策がありますが・・・ここでは正規表現一発置換を選択しました。
やり方
正規表現の検索パターン
(\${1,2}(\n|.)+?\${1,2})
置き換え
$1
※visual studio codeにて動作確認
うまく置き換えができると数式部分のみが以下のようなかたちになると思います。
[]$x = 1$[]
[]$$ x = 1 $$[]
ひとまずこれで9割は正しく表示できる状態になる気がします。
[]で囲むことがなんであったか忘れてしまったのですが 確かはてなキーワードを無効化させる記述方法だったかな・・・