写了个 tex 公式转 image 的工具 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
matsuz
V2EX    TeX

写了个 tex 公式转 image 的工具

  •  
  •   matsuz 2017-08-14 10:42:36 +08:00 9538 次点击
    这是一个创建于 3027 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://tools.zengxs.com

    mathjax 在客户端渲染感觉效果并不好,于是自己写了一个,支持 pngsvg

    第 1 条附言    2017-08-14 14:32:35 +08:00
    中文问题挺难搞的,放弃了。
    如果需要中文还是去用 mathjax 吧。。。
    第 2 条附言    2017-08-15 10:14:34 +08:00
    使用 \mbox{} 可以渲染非 ASCII 字符
    现在服务器使用正楷体渲染中文

    当然了,尽量减少非 ASCII 字符的使用为妙
    13 条回复    2017-08-16 14:24:38 +08:00
    PeterD
        1
    PeterD  
       2017-08-14 11:19:46 +08:00
    这个好像不支持中文~

    我觉得 mathjax, texlive 渲染效果是很好的
    matsuz
        2
    matsuz  
    OP
       2017-08-14 11:22:01 +08:00
    @PeterD 呃~没考虑到中文的情况。。我再改改吧。
    不过话说公式中一般不会出现中文吧
    matsuz
        3
    matsuz  
    OP
       2017-08-14 12:18:38 +08:00
    我把后台的 tex 模板改成了这样,但是似乎还是无法在公式中使用中文,不过出现中文暂时不会报错了,但是结果不对。可能是字体的问题?

    \documentclass{article}
    \usepackage[utf8]{inputenc}

    \usepackage{CJKutf8}
    \usepackage{amsmath}
    \usepackage{amssymb}
    \usepackage{color}
    \usepackage{amsfonts}
    \usepackage{pst-plot}

    \begin{document}
    \pagestyle{empty}

    \begin{CJK}{UTF8}{gkai}
    \Large
    \begin{displaymath}
    $$
    \end{displaymath}
    \end{CJK}
    \end{document}
    manifold
        4
    manifold  
       2017-08-14 16:02:35 +08:00
    tex -> dvi -> png
    matsuz
        5
    matsuz  
    OP
       2017-08-14 16:16:26 +08:00
    @manifold 一开始确实就是这样处理的,公式发到服务器后,程序会自动把公式放到 tex 模板里,先用 texlive 转换成 dvi,然后 dvipng/dvisvgm 转换成 png/svg。

    不过感觉这样撸出来的图片效果不怎么好,现在改用 mathjax-node 在后台渲染了。

    但是这两种方式都不能正确处理非 ascii 字符。
    ipwx
        6
    ipwx  
       2017-08-14 17:32:33 +08:00
    @matsuz 你需要用 xelatex 处理中文。
    matsuz
        7
    matsuz  
    OP
       2017-08-14 22:21:49 +08:00
    @ipwx xelatex 处理中文正文没问题,但是我用来处理数学公式里的中文也会遇到问题
    我对 latex 这一套还是太陌生了。
    natforum
        8
    natforum  
       2017-08-14 23:26:33 +08:00
    1L666 中文公式
    ipwx
        9
    ipwx  
       2017-08-15 09:29:19 +08:00
    @matsuz 那大概是因为数学公式里面的 font-family 和正文是不一样的。我没试过公式用中文,你要不查一查这方面的文档?
    matsuz
        10
    matsuz  
    OP
       2017-08-15 09:35:44 +08:00
    @ipwx 我把非 ASCII 字符放到 \mbox{} 里面就正常了,不过这个还要对公式预处理一下
    我再考虑考虑怎么改吧
    matsuz
        11
    matsuz  
    OP
       2017-08-15 09:38:46 +08:00
    或者让用户自己写 \mbox{} ?
    ipwx
        12
    ipwx  
       2017-08-15 09:45:51 +08:00
    @matsuz 让用户自己写吧。。。我是想不出来为啥公式要写中文。
    blueset
        13
    blueset  
       2017-08-16 14:24:38 +08:00 via Android
    顺便介绍一个用了好几年的 https://www.codecogs.com/latex/eqneditor.php
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5613 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 03:01 PVG 11:01 LAX 19:01 JFK 22:01
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86