Discourse Math (\KaTeX/\MathJax) で \nicefrac をサポートする機能リクエスト

:puzzle_piece: 機能リクエスト:Discourse の数式レンダリングで \\nicefrac をサポートする

要約

Discourse の数式レンダリングで \\nicefrac{a}{b} コマンドをサポートしてください。この斜体スタイルの分数はコンパクトでインライン式に最適であり、行間隔を崩すことなく可読性を向上させます。


:test_tube: なぜ \\nicefrac なのか?

  • きれいな斜体(スラッシュ)分数 $ \\nicefrac{1}{2} $ を生成します。
  • 1/2 よりもエレガントで、\\dfrac{1}{2} よりもかさばりません。
  • 物理学、統計学、数学の文章で一般的です。

:package: 実装に関する注記

Discourse は、インストールされているプラグインに応じて、KaTeX または MathJax を介して数式をサポートしている可能性があります。この機能リクエストは、両方の実装の概要を示しています。

:white_check_mark: MathJax

MathJax は、拡張機能がロードされていれば \\nicefrac をサポートする可能性があります。

MathJax.Hub.Config({
  TeX: {
    extensions: ["AMSmath.js", "nicefrac.js"]
  }
});

これはコアの変更が不要であることを意味するかもしれません。プラグインの設定を更新して拡張機能を有効にするだけでよい可能性があります。

:wrench: KaTeX

KaTeX は \\nicefrac をネイティブにサポートしていません。以下の回避策マクロを追加できる可能性があります。

macros: {
  "\\\\nicefrac": "\\\\raisebox{.5ex}{\\\\footnotesize #1}/\\\\raisebox{-.25ex}{\\\\footnotesize #2}"
}

または、katex-extension のようなサードパーティの KaTeX 拡張機能を通じてサポートを調査する価値があるかもしれません。


:magnifying_glass_tilted_left: 再現手順

以下をレンダリングしてみてください。

$\\nicefrac{3}{4}$

KaTeX での結果:

`KaTeX parse error: Undefined control sequence: \nicefrac

MathJax での結果(拡張機能がロードされていない場合):

LaTeX Error: Command \nicefrac undefined `MathJax parse error: Undefined control sequence: \nicefrac


:white_check_mark: 期待される動作

  • $ \\nicefrac{3}{4} $ は適切な斜体分数をレンダリングします。
  • KaTeX と MathJax の両方のインストールプロバイダーで一貫して機能する可能性があります。
  • 願わくば、解析エラーやユーザーの混乱はありません。

:speech_balloon: 動機

  • \\nicefrac は LaTeX 文書や教材で広く使用されています。
  • インライン分数はテキスト内でより自然に表示されます。
  • STEM 分野の Discourse コミュニティにおける数式フォーマットを改善します。

:link: 参考文献

Discourse の数式レンダリングに対するこの小さくも価値のある改善をご検討いただきありがとうございます!