Eu gostaria de empregar o TikZ para algum trabalho construtivo, ou seja, programar umFabLabcortador a laser. Este dispositivo bacana obtém um desenho 2D (como PDF) e corta ao longo de todoscabelosno PDF. AHarlineé definido como um caminho com espessura de 0,01 pt.
No entanto, se eu tentar isso com TikZ epdflatex
\begin{tikzpicture}
\draw[line width=0.01pt] (0,0) rectangle (1cm,1cm);
\end{tikzpicture}
e abrir o PDF resultante no Adobe Illustrator, ele mostra uma largura de linha de 0,0179 pt – muito grossa. Parece que atingi os limites do TeX.
Editar:Os 0,0179 pt foram um efeito duplo. Em primeiro lugar, usei pt
onde realmente deveria ter usado 0.01bp
, já que a unidade da letra é o que todo mundo chama de pontos. (VerQuais são as possíveis dimensões/tamanhos/unidades que o LaTeX entende?). Em segundo lugar, os PDFs que eu estava analisando não vieram diretamente do pdflatex
, mas foram pós-processados pelo MacOS, o que resulta em larguras de linha estranhas. Obrigado Paulo!
Permanece a questão genérica sobre a largura mínima da linha e a resolução máxima do TeX.
Então, qual é a largura mínima de linha que posso obter com TeX e TiKZ?
Além disso, qual é a mesma resolução máxima para colocar objetos?
(Para desenhos técnicos, às vezes é necessário descer até o nível µm, com 1 µm = 0,002845 pt)
Responder1
Compile este documento via 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}
Em seguida, pesquise w
as diretivas no PDF (um arquivo de texto simples). Você encontra:
0,3985w 0,00995w
A primeira ocorrência é a largura de linha padrão (=~ 0,4pt) do TikZ.
A segunda ocorrência é a largura da linha usada pelo retângulo desenhado. Você está certo: não é 0.01
mas 0.00995
.
Se usar line width=0.01004pt
no seu documento, você obtém exatamente 0.01
no arquivo PDF (0.01004/72.27*72=.0100024906600249063...).
(Olhe paraQuais são as possíveis dimensões/tamanhos/unidades que o LaTeX entende?, especialmente pt
e bp
unidades...)
Editar:
A largura mínima de linha não nula produzida pelo TikZ é 0.00003pt
( 0.00002 w
em PDF).
Observação:largura de linha nula tem um significado especial em PDF (como em PostScript).
Extraído dePDF32000-1:2008:Uma largura de linha de 0 deve denotar a linha mais fina que pode ser renderizada na resolução do dispositivo: 1 pixel de largura do dispositivo. No entanto, alguns dispositivos não conseguem reproduzir linhas de 1 pixel e, em dispositivos de alta resolução, elas são quase invisíveis. Como os resultados da renderização dessas linhas de largura zero dependem do dispositivo, eles não devem ser usados.
Responder2
Não tenho certeza de como você está determinando a largura do segmento de linha, mas, a menos que você precise que a linha tenha 0.01pt
largura exata, o TikZ certamente permite construir linhas com larguras extremamente estreitas
% 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}