需要在 tikz 中缩放才能获得实际的 1:1 比例

需要在 tikz 中缩放才能获得实际的 1:1 比例

出于某种原因,当我尝试输出一个打印时真正按 1:1 比例显示的 PDF 时,我需要添加一些奇怪的缩放比例。例如,下面的代码给出了一个毫米网格,当打印并用尺子测量时,它实际上是正确的。为什么我需要这些奇怪的缩放比例?

\documentclass[class=article,border=0pt]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[xscale=1.0465, yscale = 1.039]
% size (in mm) x:-10 to 110 
%       y:0 to 240
\pgfmathtruncatemacro{\xm}{-10};
\pgfmathtruncatemacro{\xs}{\xm +1};
\pgfmathtruncatemacro{\xM}{110};
\pgfmathtruncatemacro{\ym}{0};
\pgfmathtruncatemacro{\ys}{\ym +1};
\pgfmathtruncatemacro{\yM}{240};
\foreach \i in {\xm,\xs,...,\xM} {
    \draw[gray,very thin] (\i/10,\ym/10) -- (\i/10,\yM/10);
    }
\foreach \i in {\ym,\ys,...,\yM} {
    \draw[gray,very thin] (\xm/10,\i/10) -- (\xM/10,\i/10);
    }
\end{tikzpicture}
\end{document}

答案1

对于评论来说这太长了。

如果你尝试编译这个

\pdfminorversion=0
\pdfcompresslevel=0
\documentclass{minimal}
\usepackage{tikz}
\begin{document}
\tikz{
    \fill(0,0)rectangle(5in,5in);
    \fill[white](.5in,.5in)rectangle(4.5in,4.5in);
}
\end{document}

看看 PDF 文件,你会看到

0.0 0.0 m 
0.0 360.00462 l 
360.00462 360.00462 l 
360.00462 0.0 l 
h 
360.00462 360.00462 m 
f 

这基本上意味着

move to (0,0)
draw a line to (0,360)
draw a line to (360,360)
draw a line to (360,0)
draw a line to the starting point, i.e. (0,0)
move to (360,360)
fill the preceding path

这里的360意思是 360 bp,或者 360 个 PostScript 点,也就是确切地5 英寸或确切地12.7厘米。

360.00462bp大于 360 bpx 1630 纳米。这小于红光波长的三倍。因此它不应该产生任何可见的差异。

如果我是你,我会试着打印这个正方形,看看它是否是一个精确的正方形。如果不是,就起诉打印机公司。

相关内容