% 全角数字のテーブルを定義\makeatletter
\def\@arabicz#1{%
\ifcase#1 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or 9\or 10\or
11\or 12\or 13\or 14\or 15\or 16\or 17\or 18\or 19\or 20\or
21\or 22\or 23\or 24\or 25\or 26\else\@ctrerr\fi}
\def\arabicz#1{\expandafter\@arabicz\csname c@#1\endcsname}%123 全角
\makeatother
\renewcommand{\thesection}{\arabicz{section}}
\renewcommand{\thesubsection}{\arabicz{subsection}}
\renewcommand{\thefigure}{\arabicz{figure}}
\renewcommand{\thetable}{\arabicz{table}}
\renewcommand{\theequation}{\arabicz{equation}}
% 式,図,表番号を(1.1)などに変更
\numberwithin{figure}{section}
\numberwithin{table}{section}
\numberwithin{equation}{section}
しかしながら,これでやると章番号のみが意図通り動作して1,2などの全角の番号が付き,ほかの例えば節は1,2のように全角節番号のみが現れ1.2のように章番号も並んだ形にはなりません。図番号や表の番号は1.1のように章に対応する番号のみが全角となり,図番号の部分は半角になります。
古典的(?)な方法である,マニュアルで\thefigure等のプリミティブを\renewcommandする方法ではうまくいっているのでなぜこのような動作の違いが起こるのか気になっています。理由が分かる方がいらっしゃったら教えていただけると幸いです。よろしくお願いいたします。