TikZ座標での合計による除算

TikZ座標での合計による除算

和で割った項を含む数学的に計算された座標をTiに入力したいZ.

たとえば、次のような構文のものを使用したいと思います。\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)PS:新しい構文よりも古い構文の方が好きですcircle[rađius=2cm]

関連情報