ceo.styとtikzmathの衝突(?)について

ceo.styとtikzmathの衝突(?)について

- 優樹 金澤 の投稿
返信数: 2

三角形に外接する円を出力しようとして,以下のようなコードを入力した結果,「line 17 ! Argument of \B has an extra }.」というエラーが出てしまいます.ceo.styをuseしなければ,コンパイルは通りますが,それはなるべく避けたいです.どなたかお知恵を拝借出来ればと思います.よろしくお願いいたします.


\documentclass[a4paper,10pt,dvipdfmx]{jsarticle}

\usepackage{amsmath}

\usepackage{ceo}

\usepackage{tikz}

\usetikzlibrary{math,calc}

\begin{document}


\begin{tikzpicture}[scale=1]

\tikzmath{

  \a = 7; %底辺の長さ

  \b = 5; %右側の辺の長さ

  \c = 8; %左側の辺の長さ

  \A = acos((\b^2+\c^2-\a^2)/(2*\b*\c));

  \B = acos((\c^2+\a^2-\b^2)/(2*\c*\a));

  \C = acos((\a^2+\b^2-\c^2)/(2*\a*\b));

  \R = \a/(2*sin(\A));

}

\coordinate (B) at (0,0);

\coordinate (A) at (\B:\c);

\coordinate (C) at (0:\a);

\coordinate[label=above:O] (O) at (90-\A:\R);

\draw (O) circle[radius=\R];

\draw[thick] (A)--(B)--(C)--cycle;

\draw[dashed,very thin]

(B) to[bend right=20] node[fill=white,midway]{$\a$} (C)

(C) to[bend right=20] node[fill=white,midway]{$\b$} (A)

(A) to[bend right=20] node[fill=white,midway]{$\c$} (B);

\fill (O) circle[radius=2pt];

\foreach \P in{A,B,C} \draw ($(O)!11/10!(\P)$) node{\P};

\end{tikzpicture}


\end{document}

優樹 金澤 への返信

Re: ceo.styとtikzmathの衝突(?)について

- 和田 勇 の投稿
\B を \BB とか \myB では嫌ですか

@@ -10,12 +10,12 @@
  \b = 5; %右側の辺の長さ
  \c = 8; %左側の辺の長さ
  \A = acos((\b^2+\c^2-\a^2)/(2*\b*\c));
-  \B = acos((\c^2+\a^2-\b^2)/(2*\c*\a));
+  \myB = acos((\c^2+\a^2-\b^2)/(2*\c*\a));
  \C = acos((\a^2+\b^2-\c^2)/(2*\a*\b));
  \R = \a/(2*sin(\A));
}
\coordinate (B) at (0,0);
-\coordinate (A) at (\B:\c);
+\coordinate (A) at (\myB:\c);
\coordinate (C) at (0:\a);
\coordinate[label=above:O] (O) at (90-\A:\R);
\draw (O) circle[radius=\R];


もし perl を使えるなら以下の様にすれば一様に一括変更できます。
perl -i.orig -npe 's/(\\)([A-Z])/$1my$2/g;'  2022-10-03.tex.