是否可以让 \dfrac 命令在内联模式下工作?或者是否可以强制所有数学运算都处于 diplaystyle 模式?我将 make4ht 与 mathml 结合使用。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
$\frac12$ $\dfrac22$ $\displaystyle \frac32$
\[ \frac{4}{2} \]
\end{document}
我使用命令行make4ht file.tex "mathml"
答案1
幸运的是,底层genfrac
配置中提供了有关数学样式的信息,可以使用该信息将dfrac
内容括在具有属性的元素中displaystyle="true"
:
\Preamble{xhtml}
\catcode`\:=11
\pend:def\dfrac{\Configure{genfrac}{\HCode{<mstyle \mathchoice{displaystyle="true"}{}{}{}>}}{}{}{}{}{\HCode{</mstyle>}}}
\pend:def\tfrac{\Configure{genfrac}{\HCode{<mstyle \mathchoice{displaystyle="false"}{}{}{}>}}{}{}{}{}{\HCode{</mstyle>}}}
\pend:def\dbinom{\Configure{genfrac}{\HCode{<mstyle \mathchoice{displaystyle="true"}{}{}{}>}}{}{}{}{}{\HCode{</mstyle>}}}
\pend:def\tbinom{\Configure{genfrac}{\HCode{<mstyle \mathchoice{displaystyle="false"}{}{}{}>}}{}{}{}{}{\HCode{</mstyle>}}}
\catcode`\:=12
%\Configure{$}{\Configure{@math}{display="inline"}\DviMath\@mathstyle{0}}{\EndDviMath}{}
\makeatother
\begin{document}
\EndPreamble
在这个配置中,我们添加了<mrow>
元素,然后使用\mathchoice
命令可以添加displaystyle
属性。结果如下:
如果要对所有以 分隔的内联数学使用 displaystyle $ $
,请使用此配置:
\Preamble{xhtml}
\Configure{$}{\Configure{@math}{display="inline" displaystyle="true"}\DviMath}{\EndDviMath}{}
\begin{document}
\EndPreamble
缺点是在文本中使用时它可能太大。