问题

问题

我想为启用了 MathJaX 的网站上的文章创建 SVG 图表。这些图表主要在 PSTricks 中创建,如下所示。

\documentclass[pstricks,border=1cm,12pt,dvipsnames]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsfonts, amssymb}
\usepackage{pst-eucl}

\begin{document}
\begin{pspicture}[showgrid](6,6)
\pstTriangle[PointNameA=\alpha,PointNameB=\beta,PointNameC=\gamma](4,1){A}(1,3){B}(5,5){C}
\pstCircleABC[linecolor=blue]{A}{B}{C}{O}
\rput[c](3,2.5){$\angle x y z = 30^\circ$}
\end{pspicture}
\end{document} 

一旦我用dvisvgm <filename>(文件扩展名可以忽略)编译它并将其提供给 HTML 页面,如下所示,

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript" async
            src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=TeX-MML-AM_CHTML">
    </script>
</head>
<body>
    <p><img src="test.svg" /></p>
    <p>
        Angle \(\angle x y z\) and \(\alpha, \beta, \gamma\).
    </p>
</body>
</html>

我得到了如下令人失望的结果。

在此处输入图片描述

不幸的是,MathJax 使用的字体与我的 SVG 图表中使用的字体不同。

问题

哪些 LaTeX 字体适用于地球上的所有浏览器和设备,并与 MathJaX 使用的字体相匹配?

答案1

我相信大部分信息都可以从LaTeX 字体目录

  • MathJax Tex。我不确定
  • 星火

    \usepackage[T1]{fontenc}
    \usepackage{stix}
    
  • 体位数学

    \usepackage{fontspec}
    \setmainfont{Asana-Math}
    
  • Neo Euler。有许多字体使用欧拉数学,但我不知道这里的 Neo 指的是什么。具有欧拉数学的新 PX或许?
  • 环流帕格拉

    \usepackage{tgpagella}
    \usepackage[T1]{fontenc}
    
  • 环流温泉

    \usepackage{tgtermes}
    \usepackage[T1]{fontenc}
    
  • 拉丁现代

    \usepackage{lmodern}
    \usepackage[T1]{fontenc}
    

据推测,你可以从他们的存储库并将它们与fontspec和 一起使用xelatex

答案2

在这里,当我在命令行选项中正确设置了 GS lib 的路径后,它就正确显示了dvisvgm。具体请参见此页面:http://dvisvgm.bplaced.net/FAQ

对我来说,使用 macports 安装的 Ghostscript(在 Mac 上),如果我启动,dvisvgm --libgs=/opt/local/bin/gs svg.dvi svg.svg我会获得以下信息: 在此处输入图片描述

编辑:使用此 MathJax 设置: 在此处输入图片描述

答案3

引自官方地点

为了避免这些问题,请使用选项 -n 或 --no-fonts 调用 dvisvgm。它会用几乎所有 SVG 渲染器都支持的路径替换字体元素。

在此处输入图片描述

附上一张纸条,

但是,由于 SVG 文件中不再存在字体字符,因此无法在浏览器中选择绘制的文本。

对我来说,这不是什么大问题。

相关内容