私は LaTeX 文書を HTML に変換することにさまざまなレベルで成功してきましたが、遭遇した大きな問題の一つは、xparse パッケージで定義されたコマンドを含む式の変換でした。たとえば、
\DeclareDocumentCommand\derivative{ s o m g d() }
{ % Total derivative
% s: star for \flatfrac flat derivative
% o: optional n for nth derivative
% m: mandatory (x in df/dx)
% g: optional (f in df/dx)
% d: long-form d/dx(...)
\IfBooleanTF{#1}
{\let\fractype\flatfrac}
{\let\fractype\frac}
\IfNoValueTF{#4}
{
\IfNoValueTF{#5}
{\fractype{\diffd \IfNoValueTF{#2}{}{\sp{#2}}}{\diffd #3\IfNoValueTF{#2}{}{\sp{#2}}}}
{\fractype{\diffd \IfNoValueTF{#2}{}{\sp{#2}}}{\diffd #3\IfNoValueTF{#2}{}{\sp{#2}}} \argopen(#5\argclose)}
}
{\fractype{\diffd \IfNoValueTF{#2}{}{\sp{#2}} #3}{\diffd #4\IfNoValueTF{#2}{}{\sp{#2}}}}
}
\DeclareDocumentCommand\dv{}{\derivative} % Shorthand for \derivative
は導関数をタイプセットするコマンドであり、$\dv{x}{t}$
きれいにフォーマットされたdx/dt表記を生成します。この例は物理CTAN のパッケージですが、日常業務で同様のマクロをいくつか使用しています。これらのマクロを、たとえば pandoc にファイルを渡す前に標準の tex マークアップに変換する方法、または HTML 変換プロセスの一部として変換して、MathML または MathJax でレンダリングできるようにする方法はありますか?
答え1
mathml
で数式を に変換する場合はtex4ht
、オプションを指定するだけですmathml
。
htlatex filename "xhtml,mathml"
あなたの例では、結果は次のようになります:
<math
xmlns="http://www.w3.org/1998/Math/MathML"
display="inline" ><mfrac><mrow
><mi mathvariant="normal">d</mi><mi
>x</mi></mrow>
<mrow
><mi mathvariant="normal">d</mi><mi
>t</mi></mrow></mfrac> </math>