![Dividindo por somas em coordenadas TikZ](https://rvso.com/image/476230/Dividindo%20por%20somas%20em%20coordenadas%20TikZ.png)
Quero inserir coordenadas calculadas matematicamente, contendo termos divididos por somas, em TikZ.
Por exemplo, eu gostaria de usar algo com uma sintaxe semelhante a esta:\def \cmd {1/(1+1)}
e então insira seu resultado em TikZ usando sintaxe semelhante a esta:\coordinate (P) at (0,\cmd);
A razão da minha pergunta é porque estou usando o \def
comando dentro de um \foreach
loop, onde o valor do comando definido muda para cada valor do \foreach
loop.
Aqui está um MWE:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\def \myFraction {3/(2+1)}
\fill[red] (0,0) circle [radius=\myFraction]; % Works!
%\fill[green] (3,\myFraction) circle [radius=1]; % Does not work. :(
\end{tikzpicture}
\end{document}
É importante que a estrutura “2+1” da fração seja mantida.
Responder1
Use colchetes ao redor \myFraction
:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\def \myFraction {3/(2+1)}
\fill[red] (0,0) circle [radius=\myFraction]; % Works!
\fill[green] (3,{\myFraction}) circle [radius=1]; % Does not work. :(
\end{tikzpicture}
\end{document}
Como alternativa, você pode definir \myFraction
com colchetes adicionais
\def \myFraction {{3/(2+1)}}
e depois use \myFraction
(sem aparelho)
\fill[green] (3,\myFraction) circle [radius=1];
Responder2
Eu usaria declare function
para definir constante(s) e calcular variável(es). Uma visão moderna considera todas as constantes, parâmetros, variáveis, funções como apenasvariáveis. O código é um pouco mais limpo.
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[declare function={a=-2;b=a+4;}]
\def\myFraction{3/(2+1)}
\fill[red] (0,0) circle(\myFraction);
\fill[green] (3,{\myFraction}) circle(1);
\fill[blue] (3,a) circle(1);
\fill[magenta] (7,a+1) circle(b);
\end{tikzpicture}
\end{document}
PS: Gosto circle(2)
mais da sintaxe antiga do que da nova sintaxe circle[rađius=2cm]
.