TikZ/TeX: Минимальная ширина линии/максимальное разрешение

TikZ/TeX: Минимальная ширина линии/максимальное разрешение

Я хотел бы использовать TikZ для конструктивной работы, а именно для программированияФаблаблазерный резак. Это изящное устройство получает 2D-чертеж (в формате PDF) и режет вдоль всеголинии роста волосв PDF. АХарлинопределяется как путь толщиной 0,01 пт.

Однако, если я попробую это с TikZ иpdflatex

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

и открываю полученный PDF в Adobe Illustrator, он показывает мне толщину линии 0,0179 pt – слишком толсто. Кажется, я достиг пределов TeX.


Редактировать:0,0179 пт имели двойной эффект. Во-первых, я использовал ptтам, где на самом деле должен был использовать 0.01bp, так как буквенная единица на самом деле является тем, что все остальные называют пунктами. (См.Какие возможные измерения/размеры/единицы измерения понимает LaTeX?). Во-вторых, анализируемые мной PDF-файлы не были получены напрямую из pdflatex, а были обработаны MacOS, что привело к странной ширине линий. Спасибо, Пол!

Остается общий вопрос о минимальной ширине линии и максимальном разрешении TeX.


Какую минимальную ширину линии я могу получить с помощью TeX и TiKZ?

И что это такое же, как максимальное разрешение для размещения объектов?

(Для технических чертежей иногда приходится опускаться до уровня мкм, где 1 мкм = 0,002845 пт.)

решение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 Вт

Первое вхождение — это ширина линии по умолчанию (=~ .4pt) TikZ.

Второе вхождение — это ширина линии, используемая нарисованным прямоугольником. Вы правы: это не , 0.01а 0.00995.

Если вы используете line width=0.01004ptв своем документе, то получите 0.01в PDF-файле ровно (0,01004/72,27*72=.0100024906600249063...).

(посмотри наКакие возможные измерения/размеры/единицы измерения понимает LaTeX?, особенно ptи bpединицы...)

Редактировать:

Минимальная ненулевая ширина линии, создаваемая TikZ, составляет 0.00003pt( 0.00002 wв PDF).

Примечание:Нулевая ширина строки имеет особое значение в PDF (как и в PostScript).

Извлечь изPDF32000-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}

Связанный контент