TikZ/TeX:最小線寬/最大分辨率

TikZ/TeX:最小線寬/最大分辨率

我想使用 TikZ 來做一些建設性的工作,也就是寫一個製造實驗室雷射切割機。這個漂亮的設備可以獲得二維繪圖(PDF 格式)並沿著所有內容進行切割髮際線在 PDF 中。 A哈林定義為厚度為 0.01 pt 的路徑。

但是,如果我用 TikZ 嘗試這個並且pdflatex

\begin{tikzpicture}
    \draw[line width=0.01pt] (0,0) rectangle (1cm,1cm);
\end{tikzpicture}

然後在 Adob​​e Illustrator 中開啟產生的 PDF,它顯示的線寬為 0.0179 pt – 太粗了。看來我已經達到 TeX 的極限了。


編輯:0.0179 pt 具有雙重效果。首先,我pt在我真正應該使用的地方使用了0.01bp,因為字母單位實際上就是其他人所說的點。 (看LaTeX 可以理解哪些可能的尺寸/大小/單位?)。其次,我分析的PDF不是直接來自的pdflatex,而是經過MacOS後製的,這導致了奇怪的線寬。謝謝保羅!

仍然是關於 TeX 的最小線寬和最大分辨率的一般問題。


那麼使用 TeX 和 TiKZ 可以得到的最小線寬是多少呢?

另外,這與放置物件的最大解析度相同嗎?

(對於技術圖紙,有時必須深入到 µm 級別,1 µm = 0.002845 pt)

答案1

透過以下方式編譯此文件pdflatex

\documentclass[tikz]{standalone}
\pdfcompresslevel=0
\pdfobjcompresslevel=0
\begin{document}
\begin{tikzpicture}
    \draw[line width=0.01pt] (0,0) rectangle (1cm,1cm);
\end{tikzpicture}
\end{document}

然後w在 PDF(一個簡單的文字檔案)中搜尋指令。你發現:

0.3985瓦
0.00995瓦

第一次出現是 TikZ 的預設線寬(=~ .4pt)。

第二次出現的是繪製矩形所使用的線寬。你是對的:不是0.01但是0.00995

如果您line width=0.01004pt在文件中使用,您將0.01在 PDF 文件中得到準確的結果 (0.01004/72.27*72=.0100024906600249063...)。

(看著LaTeX 可以理解哪些可能的尺寸/大小/單位?,特別是ptbp單位...)

編輯:

TikZ 產生的最小非空線寬是0.00003pt0.00002 w在 PDF 中)。

筆記:空線寬在 PDF 中具有特殊意義(如在 PostScript 中)。

摘自PDF 32000-1:2008:線寬 0 表示可以在裝置解析度下渲染的最細線:1 裝置像素寬。然而,某些設備無法再現 1 像素線,並且在高解析度設備上,它們幾乎是看不見的。由於渲染此類零寬度線的結果取決於設備,因此不應使用它們。

答案2

我完全不確定你如何確定線段的寬度,但是,除非你需要線的0.01pt寬度精確,否則 TikZ 當然允許你構造寬度極窄的線

% arara: pdflatex
% arara: pdflatex
% arara: open

\documentclass[border=10pt]{standalone}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
  \foreach \myn in {0,1,2,3,4,5,6,7,8,9}
  {
    \pgfmathsetmacro\mypt{0.01pt - 0.00\myn pt}
    \typeout{===>myn=\myn:\mypt}
    \draw[line width=\mypt pt]
       (0,\myn/400) -- (0.125,\myn/400);
  }
\end{tikzpicture}


\end{document}

相關內容