備忘録:TeX自作カウンター:ラベルをつけて親カウンターを含め参照したい

※本をTeXで書いている.各章に例題1.1,例題1.2…などの章番号をつけ,例題を挿入したい.
※例題の中に\toiと打つと,自動的に問1,問2などの番号が振られるようにしたい.
※例題の途中で \kai と打ったところで [解] という太字が挿入されて,そこから回答を書きたい.解答も終わったら (問題1.1終) と入れたい.
※labelをつけておき,あとで参照したい.
※なので,与えられたnewtheoremを使えないので,自分で環境を作る.

コードの例

%%%%例題の環境の設定
\newcounter{questioncounter}[chapter] %例題のカウンター:親カウンターがchapter
\newcounter{toicounter}%問のカウンター
\renewcommand{\thequestioncounter}{\arabic{chapter}.\arabic{questioncounter}}
%ここがポイント.questioncounterの表示を,章番号も含めるように再定義
%再定義しないと,questioncounterの部分だけ参照してしまう
\newenvironment{question}[1]{ %例題の環境定義
\refstepcounter{questioncounter} %例題のカウンターを1つ進める
\setcounter{toicounter}{0} %問のカウンターは,0にリセット
\par\vspace{2mm}\noindent\textbf{例題\thequestioncounter}.
\label{#1} %ラベルをコマンドの引数としてつける.
}
{(例題\thequestioncounter 終)\vspace{2mm}}
%%%%問の設定
\newcommand{\toi}{
\refstepcounter{toicounter} \textbf{問\thetoicounter :}
}
%%%%解の定義
\newcommand{\kai}{%
\vspace{1mm}\par\textbf{[解]:}
\setcounter{toicounter}{0}
}

本文の例

\begin{document}

\chapter{これは}

これは練習です.

\begin{question}{q:nash}
\toi ナッシュ均衡を求めよ.
\toi 部分ゲーム完全均衡を求めよ.
\kai
\toi ナッシュ均衡はこう.
\toi 部分ゲーム完全均衡はこう.
\end{question}

それでは,例題\ref{q:nash}をよく勉強しておきなさいよ.

\end{document}

出力

こちら