我想为启用了 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
我会获得以下信息:
答案3
引自官方地点,
为了避免这些问题,请使用选项 -n 或 --no-fonts 调用 dvisvgm。它会用几乎所有 SVG 渲染器都支持的路径替换字体元素。
附上一张纸条,
但是,由于 SVG 文件中不再存在字体字符,因此无法在浏览器中选择绘制的文本。
对我来说,这不是什么大问题。