V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
aglsv
V2EX  ›  JavaScript

有一个关于 mathJax 中根号的问题

  •  1
     
  •   aglsv · 2021-11-08 10:06:47 +08:00 · 1541 次点击
    这是一个创建于 871 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我因为需要使用到 latex 转 html ,于是就下载了 mathJax ,但是目前有一个问题,就是根号的高度是固定的,即使里面是个分数,他依旧是固定的,导致只能包裹住分式的分子,想问一问这个该怎么解决 是在这个添加 style 这块添加吗?

    e.prototype.addCharStyles = function (t, e, r, n) {
                        var o = n[3], i = void 0 !== o.f ? o.f : e;
                        t["mjx-c" + this.charSelector(r) + (i ? ".TEX-" + i : "") + "::before"] = {
                            padding: this.padding(n, 0, o.ic || 0),
                            content: null != o.c ? '"' + o.c + '"' : this.charContent(r)
                        }
    
    第 1 条附言  ·  2021-11-08 10:48:55 +08:00
    我调样式的时候发现根号大小不变是因为字号的问题,因为给外面设置了设置了 font-size 为 14px ,来让 latex 公式和文本的字号一样,就导致根号不变,我想问一下这块样式该怎么设置呢,如果根据内容高度设置根号字体大小的话在 mathjax 里该怎么添加呢
    第 2 条附言  ·  2021-11-09 16:30:38 +08:00
    最后还是没找见转 html 的解决方法,只看见个转 svg 的,没辙我就自己写了个方法专门规范这个根号的,心累,希望这方法不要影响其他的东西
    14 条回复    2021-11-10 16:13:29 +08:00
    zacharyjia
        1
    zacharyjia  
       2021-11-08 10:11:24 +08:00
    确定不是你的 latex 公式的问题吗,mathjax 官网 live demo 里的例子:
    https://sm.ms/image/2Ds9BoldZkqLNpI
    hahastudio
        2
    hahastudio  
       2021-11-08 10:12:52 +08:00
    \sqrt{\frac{v_{1}^2+2v_{2}^2}{3}}
    是不是没用 \frac
    aglsv
        3
    aglsv  
    OP
       2021-11-08 10:22:36 +08:00
    @hahastudio \sqrt{\frac{2^{2}}{\frac{1}{1} } }我这个语法没问题,完了再编辑器那块自动渲染出来也没问题,但是转成 html 渲染到页面上的话他根号的高度就是不变的那种
    aglsv
        4
    aglsv  
    OP
       2021-11-08 10:23:40 +08:00
    @zacharyjia \sqrt{\frac{2^{2}}{\frac{1}{1} } }我 latex 公式没问题,编辑器里面渲染的也是正常的,但是转 html 渲染到页面上就会有问题,这时候根号高度不变
    hahastudio
        6
    hahastudio  
       2021-11-08 11:19:53 +08:00
    @aglsv 这个就不知道了,瞎出主意,更新一下 MathJax 的版本?
    aglsv
        7
    aglsv  
    OP
       2021-11-08 11:36:32 +08:00
    @zjsxwc 这个应该不适用我这个情况,我现在只需要改变根号的大小,不需要改变内容的字号,如果里面是 123 这种,我就需要根号的字号依旧是 1em ,如果是分式这种我就需要放大。
    ```
    <mjx-c class="mjx-c221A TEX-S2"></mjx-c>
    ```
    我现在发现如果里面有分式的话他就会给 class 添加一个 TEX-S2 ,想问问这个是什么意思,我是否可以靠这个 class 来判断是否需要放大字号
    aglsv
        8
    aglsv  
    OP
       2021-11-08 11:41:07 +08:00
    @hahastudio 这个应该跟版本没啥关系了
    hahastudio
        9
    hahastudio  
       2021-11-08 11:51:24 +08:00
    AlphaRobert
        10
    AlphaRobert  
       2021-11-08 12:24:10 +08:00
    试试 displaystyle ?
    aglsv
        11
    aglsv  
    OP
       2021-11-08 13:57:39 +08:00
    @hahastudio 我看了下这个应该是配置整个公式显示用的,应该不能控制单个的节点
    aguesuka
        12
    aguesuka  
       2021-11-08 17:34:00 +08:00
    字号要求是什么, 所有公式文字一律固定高度吗
    aglsv
        13
    aglsv  
    OP
       2021-11-09 16:15:16 +08:00
    @aguesuka 要求所有文字公式的字号都一样,不然的话会导致公式比文本大
    aguesuka
        14
    aguesuka  
       2021-11-10 16:13:29 +08:00
    @aglsv 也许你应该用 latex 的 .sty 文件的语法来设置文字大小, 如果 mathJax 支持的话
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1569 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 16:59 · PVG 00:59 · LAX 09:59 · JFK 12:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.