由 dot2tex 创建的 tex 代码中的度量单位非法

由 dot2tex 创建的 tex 代码中的度量单位非法

我正在使用dot2tex将一些代码转换graphviz为 LaTeX (PSTricks) 绘图。但是,我收到以下错误

! Illegal unit of measure (pt inserted).
<to be read again>
l.21 ...newidth=1bp](0bp,0bp)(1.2057e+05bp,1028bp)

附件是 mwe。

\begin{document}
\pagestyle{empty}
\enlargethispage{100cm}
\begin{pspicture}[linewidth=1bp](0bp,0bp)(1.2057e+05bp,1028bp)
  \pstVerb{2 setlinejoin} % set line join style to 'mitre'
\psset{linecolor=black}
  \psbezier[linestyle=dotted](89357bp,342.83bp)(89368bp,340.2bp)(89510bp,307.69bp)(89521bp,305.16bp)
}
\end{pspicture}
\end{document}

答案1

(1.2057e+05bp,1028bp)必须采用 TeX 符号,但第一个不是。但是,这些值没有任何实际意义。您可以缩放这些部分,但我不清楚您真正想要显示什么:

\documentclass{minimal}
\usepackage{pstricks}
\begin{document}

\begin{pspicture}[showgrid](8,2)(12,5)
\psset{xunit=0.0001,yunit=0.01}
  \psbezier[linejoin=2,showpoints]%
    (89357,342.83)(89368,340.2)(89510,307.69)(89521,305.16)
\end{pspicture}
\end{document}

您也可以缩小值,但您也会得到没有意义的输出:

\documentclass{minimal}
\usepackage{pstricks}
\begin{document}

\psset{xunit=50,yunit=5}
\begin{pspicture}(8.9,3)(9,4)
  \psbezier[linejoin=2,showpoints]%
    (8.9357,3.4283)(8.9368,3.402)(8.9510,3.0769)(8.9521,3.0516)
\end{pspicture}
\end{document}

答案2

1.2057e+05bp意味着 1.2057*10^5bp,即120570bp,应该手动更正。但它大约有 40m!89357bp(约 30 m)对于 TeX 来说也太大了。您真的期望这样的尺寸吗?在我看来,所有x尺寸都大 100 倍。

相关内容