从 TeX Live 2007 切换到 TeX Live 2008 后出现“!尺寸太大。”

从 TeX Live 2007 切换到 TeX Live 2008 后出现“!尺寸太大。”

跑步latex,然后是dvips官方TeX Live 2007(从...获取https://ftp.tu-chemnitz.de/pub/tug/historic/systems/texlive/2007/texlive2007-live-20070212.iso.bz2) 在

\documentclass{article}
\pagestyle{empty}
\usepackage{pst-plot}
\begin{document}
\psset{xunit=.1,yunit=.00001}%
\begin{pspicture}(-10,-40000)(110,330000)
\psaxes[Dy=25000,dy=.4cm,dx=1cm,Dx=10,Ox=0,Oy=0]{->}(0,0)(100,300000)
\rput(103,-20000){foo}
\rput(-5,310000){bar}
\pscurve{-}(1,0)(10,.02)(20,.67)(30,4.78)(40,19.71)(50,59.53)(60,147.31)(70,314.20)(80,607.08)(90,1088.29)(100,1833.74)
\rput(103,1840){A}
\pscurve{-}(1,0)(10,.24)(20,6.52)(30,47.88)(40,198.09)(50,596.20)(60,1466.27)(70,3142.41)(80,6088)(90,10959.65)(100,18576.06)
\rput(103,18570){B}
\pscurve{-}(1,0)(10,.78)(20,21.5)(30,157.57)(40,665.55)(50,1984.13)(60,4881.96)(70,10556.7)(80,20454.83)(90,36712.41)(100,62259.38)
\rput(103,62259.38){C}
\pscurve{-}(1,0)(10,1.85)(20,51.32)(30,379.75)(40,1571.17)(50,4734.92)(60,11749.31)(70,25168.6)(80,48951.76)(90,88900.24)(100,150121.99)
\rput(103,150121.99){D}
\pscurve{-}(1,0)(10,3.58)(20,100.89)(30,746.43)(40,3096.72)(50,9330.72)(60,23048.21)(70,49673.34)(80,96549.38)(90,173745.94)(100,296470.03)
\rput(103,296470.03){E}
\end{pspicture}
\end{document}

得到一个漂亮的图表:

TeX Live 2007 中的输出

但是在官方的TeX Live 2008(安装自http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2008/tlnet):

! Dimension too large.
<to be read again> 
                   =
l.8 \rput
         (103,-20000){foo}
?

日志的差异表明从

This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
Babel <v3.8h>
Package: pstricks 2006/08/10 v0.32 LaTeX wrapper for `PSTricks' (RN,HV)
`PSTricks' v1.15  <2006/12/22> (tvz)
File: pstricks.tex 2006/12/22 v1.15 `PSTricks' (tvz)
pst-plot.tex  v97 patch 2, 1999/12/12
File: pst-plot.tex 2004/05/18 1.41 `pst-plot' (tvz)

TeX Live 2007

This is pdfTeXk, Version 3.1415926-1.40.9 (Web2C 7.5.7)
Babel <v3.8l>
Package: pstricks 2008/11/26 v0.40 LaTeX wrapper for `PSTricks' (RN,HV)
`PSTricks' v1.27  <2009/01/25> (tvz)
File: pstricks.tex 2009/01/25 v1.27 `PSTricks' (tvz,hv)
pst-plot.tex v1.03, 2008/11/24
File: pst-plot.tex 2008/11/24 1.03 `pst-plot' (tvz)

TeX Live 2008。对于这两年,我们都有LaTeX2e <2005/12/01>Package: pst-plot 2004/07/15 package wrapper for pst-plot.tex以及日志中提到的其余类和包的宣传版本:article v1.4f、size10.clo v1.4f、xcolor v2.11、color v1.5、dvips.def v3.0i 和 multido v1.41。

哪一部分发生了哪些变化(pdfTeXk技巧pst 图,……或部分组合TeX 直播) 导致错误消息的原因是什么?或者是否存在隐藏错误(例如,溢出、下溢或精度大幅下降)TeX Live 2007最终揭示TeX Live 2008, 正如它应该?

我们不再有原始地面数据,因此从头开始重新绘制图形将行不通。如何转换/缩放 LaTeX 文档中的数字以创建完全相同的图形(假设没有隐藏错误TeX Live 2007)或可能预期的图表(以防出现隐藏的错误TeX Live 2007)也可以与TeX Live 2008(并且希望更加现代化TeX 直播是)?

如果有人有后续链接TeX Live 2007或更早TeX Live 2008(比官方的更),请大喊:然后我可能会缩小要比较的包和文件的范围。

遵循以下想法https://tex.stackexchange.com/a/716613yunit(赫伯特?),我们从一开始就尝试乘以100,但结果看起来令人惊讶:跑步latex,然后dvipsTeX Live 2009(因为TeX Live 2008没有ylabelFactor)只是在轴上

\documentclass{article}
\pagestyle{empty}
\usepackage{pst-plot}
\begin{document}
\psset{xunit=.1,yunit=.001}%
\begin{pspicture}(-10,-400)(110,3300)
  \psaxes[Dy=250,dy=.4cm,dx=1cm,Dx=10,Ox=0,Oy=0,ylabelFactor=00%%% From TeX Live 2009 onward
  ]{->}(0,0)(100,3000)
\end{pspicture}
\end{document}

在垂直轴上产生不同的最大值(175000 而不是 250000):

在 TL 2009 中仅缩放轴

为什么?

答案1

按如下方式使用。只有环境坐标pspicture会发生变化:

%\DocumentMetadata{}%% Only if running it with lualatex TL 2020 at least!!
\documentclass{article}
\pagestyle{empty}
\usepackage{pst-plot}
\begin{document}
\psset{xunit=.1,yunit=.02}%%%
\begin{pspicture}(-10,-40)(110,330)%%%
    \psaxes[Dy=25,dy=.5cm,dx=1cm,Dx=10,Ox=0,Oy=0,ylabelFactor=\cdot10^3]{->}(0,0)(100,300)%%%
    \psset{yunit=0.001}%%% 
    \rput(103,-20000){foo}
    \rput(-5,310000){bar}
    \pscurve{-}(1,0)(10,.02)(20,.67)(30,4.78)(40,19.71)(50,59.53)(60,147.31)(70,314.20)(80,607.08)(90,1088.29)(100,1833.74)
    \rput(103,1840){A}
    \pscurve{-}(1,0)(10,.24)(20,6.52)(30,47.88)(40,198.09)(50,596.20)(60,1466.27)(70,3142.41)(80,6088)(90,10959.65)(100,18576.06)
    \rput(103,18570){B}
    \pscurve{-}(1,0)(10,.78)(20,21.5)(30,157.57)(40,665.55)(50,1984.13)(60,4881.96)(70,10556.7)(80,20454.83)(90,36712.41)(100,62259.38)
    \rput(103,62259.38){C}
    \pscurve{-}(1,0)(10,1.85)(20,51.32)(30,379.75)(40,1571.17)(50,4734.92)(60,11749.31)(70,25168.6)(80,48951.76)(90,88900.24)(100,150121.99)
    \rput(103,150121.99){D}
    \pscurve{-}(1,0)(10,3.58)(20,100.89)(30,746.43)(40,3096.72)(50,9330.72)(60,23048.21)(70,49673.34)(80,96549.38)(90,173745.94)(100,296470.03)
    \rput(103,296470.03){E}
\end{pspicture}
\end{document}

在此处输入图片描述

相关内容