
수학적으로 계산된 좌표를 합으로 나눈 항이 포함된 좌표를 Ti에 입력하고 싶습니다.케이지.
예를 들어, 다음과 비슷한 구문을 사용하고 싶습니다.\def \cmd {1/(1+1)}
그 결과를 Ti에 입력합니다.케이Z는 다음과 유사한 구문을 사용합니다.\coordinate (P) at (0,\cmd);
내가 묻는 이유는 정의된 명령의 값이 루프의 각 값에 대해 변경되는 루프 \def
내에서 명령을 사용하고 있기 때문입니다 .\foreach
\foreach
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}
분수의 "2+1" 구조를 유지하는 것이 중요합니다.
답변1
주위에 중괄호를 사용하십시오 \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}
또는 \myFraction
추가 중괄호를 사용하여 정의할 수 있습니다.
\def \myFraction {{3/(2+1)}}
그런 다음 \myFraction
(중괄호없이) 사용하십시오.
\fill[green] (3,\myFraction) circle [radius=1];
답변2
declare function
상수를 정의하고 변수를 계산하는 데 사용합니다 . 현대적인 관점에서는 모든 상수, 매개변수, 변수, 함수를변수. 코드가 좀 더 깔끔해졌습니다.
\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}
circle(2)
추신: 저는 새로운 구문보다 이전 구문을 더 좋아합니다 circle[rađius=2cm]
.