TikZ:文字の位置を調整する方法円の半径を示す矢印や文字(R,r)が、円自体の境界線や、中心を結ぶ補助線などと重なって見づらくなってしまうのは、TikZでの作図ときによくあります。
これらを綺麗に避けて、重ならない位置に指定する方法は主に3つのアプローチです。
方法1:矢印の「角度」を変えて、空いているスペースに逃がす(一番簡単)
提供したコードの 135 や 45 という数字は、中心から見た「角度(度数法)」を表しています。これを他の線が存在しない空きスペースの角度に変更するのが最も簡単です。
コード スニペット
% 角度を他の線がない方向に変更する例\draw[->, cyan, font=\scriptsize] (O1) -- ++(210:3) node[midway, below left] {$R$};\draw[->, orange, font=\scriptsize] (O2) -- ++(-45:1) node[midway, below right] {$r$};※角度を変えたら、node の位置も above left から below left のように矢印の外側になるよう調整します。
方法2:文字(R,r)を「矢印の途中」ではなく「円の外側(終点)」に置く
node[midway] を使うと矢印の線の真横に文字が来るため、円の内部がごちゃつきやすいです。 矢印の終点(=円周のすぐ外側)に文字を配置すると、すっきりと見やすくなります。
midway の代わりに at end(または単に省略して終点の直後に node を置く)を使い、少し外側に文字を押し出します。
コード スニペット
% 矢印の先端(円周の上)の外側に文字を浮かせる例\draw[->, cyan, font=\scriptsize] (O1) -- ++(135:3) node[above left] {$R$};\draw[->, orange, font=\scriptsize] (O2) -- ++(45:1) node[above right] {$r$};方法3:pin(引き出し線)機能を使って、外側に引き出す(論文風で最も綺麗)
円の内部に矢印を引くのではなく、円周の特定の場所から「引き出し線」を伸ばして、外側にラベルを配置するTikZの標準機能です。幾何学の教科書などでよく使われるプロの技法です。
中心から引くのではなく、円のパスの特定の角度(例: (O1).135 = 大円の135度の位置の円周)を起点にします。
コード スニペット
% 円周から外側にピンを立ててラベルを貼る方法\draw[cyan] (O1) circle (3); % 円の描画\fill[cyan] (O1).135 circle (1pt); % 円周上の点(ポッチ)\node[pin={[pin xshift=-0.5cm, pin distance=0.5cm]135:$R$}] at (O1).135 {};\draw[orange] (O2) circle (1);\fill[orange] (O2).45 circle (1pt);\node[pin={[pin xshift=0.3cm, pin distance=0.4cm]45:$r$}] at (O2).45 {};今回の minipage の図であれば、「方法2(文字を先端の外側に逃がす)」がコードの書き換えも少なく、最も綺麗に収まると思います。
具体的には、TikZ部分の半径の記述を以下のように書き換えてみてください。
コード スニペット
% 改良版:文字が絶対に線と重ならない指定\draw[->, cyan, font=\scriptsize] (O1) -- ++(140:3) node[above left, yshift=-2pt] {$R$};\draw[->, orange, font=\scriptsize] (O2) -- ++(40:1) node[above right, xshift=-2pt] {$r$};わずかに角度を調整し、さらに yshift や xshift で微調整を入れることで、驚くほど読みやすくなります!