将 PDF 转换为 SVG 后,数学标签会翻倍

将 PDF 转换为 SVG 后,数学标签会翻倍

我有一个用 PSTricks 编写的图表,如下所示。

\documentclass[pstricks,border=1cm,12pt,dvipsnames]{standalone}

\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{A}{B}{C}{O}
\rput[c](3,2.5){$\angle x y z = 30^\circ$}
\end{pspicture}
\end{document}

PDF 输出和 PNG 输出都很好,如下所示。

在此处输入图片描述

但是,如果我使用以下命令将 PDF 转换为 SVG,

inkscape -z -f "test.pdf" -l "test.svg"

我得到了如下奇怪的输出。

在此处输入图片描述

有几点我想修正:

  • 缺失的字体
  • 缺失的点
  • 缺失的数学标签
  • 不必要的“b”类符号
  • 数学标签增加一倍。

答案1

dvisvgm只要您加载相关的字体包,从 dvi 到 svg 的转换就可以正常工作:

    \documentclass[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{A}{B}{C}{O}
    \rput[c](3,2.5){$\angle x y z = 30^\circ$}
    \end{pspicture}

    \end{document} 

Opera 中生成的 .svg 文件的屏幕截图:

在此处输入图片描述

答案2

用于xelatexpdf:

\documentclass[pstricks,border=1cm,12pt,dvipsnames]{standalone}
\usepackage{kpfonts}
\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{A}{B}{C}{O}
    \rput[c](3,2.5){$\angle x y z = 30^\circ$}
    \end{pspicture}
\end{document}

在此处输入图片描述

相关内容