test rendering of equations of latex in Hugo
式子能正常渲染,但需要在两个地方的下标处添加额外转义字符 \
,
也就是:\mathbb{E}\_{xxx}
和p\_{model}
,其他地方却不需要 \hat{p}_{data}
$$ \mathbb{E}_{x \sim \hat{p}_{data}} {\text{log}\ p_{model} {(x^i; \theta})} $$
是因为 \mathbb{}
导致的吗?看起来不是:
$$
E_{x \sim \hat{p}_{data}} {\text{log}\ p_{model} {(x^i; \theta})}
$$
是因为 \text{}
导致的吗?看起来不是 (\text{log}
-> \log
):
$$
\mathbb{E}_{x \sim \hat{p}_{data}}{\log p_{model} {(x^i; \theta})}
$$
如果 \mathbb{}_
渲染不出来,那它渲染失败是怎么样的 (下式\mathbb{}_
中的_
不见了):
$$ \mathbb{E}{x \sim \hat{p}{data}}{\text{log}\ p_{model} {(x^i; \theta})} $$
为什么 p_{model}
也渲染不出来, 而非要添加转意字符 p\_{model}
呢?
$$ \mathbb{E}_{x \sim \hat{p}{data}}{\text{log}\ p{model} {(x^i; \theta})} $$
$$ E_{x \sim \hat{p}{data}}{\text{log}\ p{model} {(x^i; \theta})} $$
$$ \mathbb{E}{x \sim \hat{p}_{data}}{\text{log}\ p{model} {(x^i; \theta})} $$
或许是嵌套下标这儿出的问题 (\hat{p}_{data}
-> \hat{p}\_{data}
)?:
$$
E_{x \sim \hat{p}_{data}}{\text{log}\ p_{model} {(x^i; \theta})}
$$
Bingo?? No bingo:
只在嵌套下标的地方添加转义字符:
$$ \tag{5.59} \theta_{ML} = \underset{\theta}{\operatorname{argmax}} \mathbb{E}{x \sim \hat{p}_{data}}{\log p{model} {(x^i; \theta})} $$
只在p_{model}
下标的地方添加转义字符:
$$ \tag{5.59} \theta_{ML} = \underset{\theta}{\operatorname{argmax}} \mathbb{E}{x \sim \hat{p}{data}}{\log p_{model} {(x^i; \theta})} $$
只在\mathbb{}
下标的地方添加转义字符:
$$ \tag{5.59} \theta_{ML} = \underset{\theta}{\operatorname{argmax}} \mathbb{E}_{x \sim \hat{p}{data}}{\log p{model} {(x^i; \theta})} $$
简而言之,找不到明确的语法规则来解释这个问题。可能是hugo在使用mathjax解析时出了问题,也有可能是mathjax自己的问题。
Hugo的markdown文档里的数学公式块,如果不确定,就在下标那里前置一个`\`。
同样的问题也出现在多行公式组里进行转行时,使用 `\\\\\`,而不是通常的 `\\\`
惹出这么许多不明所以的问题, 最初就是下面这个公式 (就是我所认知的、通常表达下标的普通方式,
讽刺的是:不把它们放在 $$
数学公式块里,我还必须添加转义字符,否则渲染不出这个效果😂):
\tag{5.59} \theta_{ML} = \underset{\theta}{\operatorname{argmax}} \mathbb{E}_{x \sim \hat{p}_{data}}{\log p_{model} {(x^i; \theta})}
数学公式块里表达下标的语法,无端端要添加一个前置转义字符,这就是我所没有料到的。想必应该是Hugo没有做好关于转义字符的上下文解析问题,且先将就着吧。