我在將 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
如果你想將 math 轉換為mathml
with 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>