TikZ 좌표의 합계로 나누기

TikZ 좌표의 합계로 나누기

수학적으로 계산된 좌표를 합으로 나눈 항이 포함된 좌표를 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].

관련 정보