我正在使用Mathjax中的Extpfeil extension在我的html页面中生成箭头。特别是我正在使用:
\Newextarrow{\cs}{lspace,rspace}{unicode-char}
这适用于某些箭头(for example, see answer by Davide),但正如文档所述:
请注意,MathJax知道如何只拉伸有限数量的 字符,所以你可能不会以这种方式获得一个有弹性的角色。
不幸的是,我真的需要使用这些不受支持的字符之一(特别是0x21CC),如果我可以让它伸展,那将是非常好的。有没有办法我可以手动指定拉伸箭头的数量?对于背景,我正在尝试制作这样的化学反应图:
溢流和下溢变量可能只有几个字符,因此拉伸是必要的。
答案 0 :(得分:4)
MathJax拉伸角色的能力取决于它使用的字体中是否有适当的字形。 MathJax TeX字体(通常基于Web的字体)没有必要的字形来拉伸U + 21CC;但是,STIX字体可以,而从版本2.3开始,MathJax包含STIX字体的Web版本。因此,如果您正在创作自己的页面并且可以指定字体,则可以使用U + 21CC进行拉伸。但是,如果您使用的是StackExchange等无法控制字体的网站,则仅限于使用的字体。
为此,请添加
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
"HTML-CSS": {
preferredFont: "STIX",
availableFonts: ["STIX"],
webFont: "STIX-Web"
},
SVG: {
font: "STIX-Web"
},
TeX: {
extensions: ["extpfeil.js"]
}
});
</script>
在加载MathJax.js
的脚本之前。然后在页面正文中使用
<div style="display:none">
$$\Newextarrow{\rightleftharpoons}{5,5}{0x21CC}$$
</div>
定义箭头(在使用之前的某个地方。然后使用
\rightleftharpoons[xyz]{abcdefg}
将“abcdefg”放在箭头上方,将“xyz”放在它下面,然后拉伸。看起来底层文本的垂直位置不是很好(有点太低),但是箭头伸展了!
以下是一个例子: