Estou tentando exibir uma régua de 0 a 1 usando 3 números decimais. Então, eu gostaria que a régua fosse parecida com isto:
0,000 0,001 0,002 0,003 ..... 0,010 0,011
E assim por diante.
Como isso demoraria muito para caber em uma página, pretendo dividi-lo em várias páginas e uso esse trecho de código para a primeira página
\begin{tikzpicture}[line cap=round,line join=round,>=triangle 45,x=1.0cm,y=1.0cm]
\draw[ultra thick,color=black] (0,0) -- (26,0);
\foreach \x[evaluate=\x as \text using \x*0.001] in {0,1,2,3,...,40}{
\draw[shift={(\x*0.65,0)},color=black] (0pt,2pt) -- (0pt,-2pt) node[yshift = -20pt,rotate = 270] {
\pgfmathparse{\x*0.001}\pgfmathprintnumberto[precision=1] {\pgfmathresult}{\pgfmathresult} \pgfmathresult };
}
\end{tikzpicture}
Depois de executar este código, recebo a seguinte saída
É possível obter o número não na forma padrão, mas mostrado no exemplo escrito?
É possível tornar o loop mais simples e não usar avaliar e apenas fazer algo como:
\draw[shift={(\x*0.65,0)},color=black] (0pt,2pt) -- (0pt,-2pt) node[yshift = -20pt,rotate = 270] { \x*0.001 };
}
Obrigado
Responder1
Não entendo muito bem por que você tem essas \pgfmathparse
coisas quando já está usando o evaluate
. Basta usar \pgfmathprintnumber[fixed,precision=3]{\text}
no node
texto. fixed
desativa a notação científica. Use \pgfmathprintnumber[fixed,fixed zerofill,precision=3]{\text}
para obter 0.000
em vez de 0.0
.
Você não pode usar \x*0.001
texto diretamente no nó, pois ele não é analisado como um número, é apenas texto. Você poderia dizer node[...]{\pgfmathparse{\x*0.001}\pgfmathprintnumber[fixed,precision=3]{\pgfmathresult}};
, mas eu diria que evaluate
é mais limpo.
\documentclass[border=4mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[line cap=round]
\draw[ultra thick,color=black] (0,0) -- (26,0);
\foreach \x[evaluate=\x as \text using \x*0.001] in {0,...,40}{
\draw (\x*0.65,2pt) -- ++(0,-4pt)
node[below=3pt,anchor=west,align=left,rotate = 270]
{\pgfmathprintnumber[fixed,fixed zerofill,precision=3]{\text}};
}
\end{tikzpicture}
\end{document}