Я хотел бы использовать 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}