\newcommand{\refalgo}[1]{algorithm~\ref{#1}}%
\newcommand{\refAlgo}[1]{Algorithm~\ref{#1}}%
\newcommand{\seealgo}[1]{(See \refAlgo{#1}.)}%
\newcommand{\seealgox}[2]{(See \refAlgo{#1} #2.)}%

\newcommand{\refpart}[1]{part~\ref{#1}}%
\newcommand{\refPart}[1]{Part~\ref{#1}}%
\newcommand{\seepart}[1]{(See \refPart{#1}.)}%
\newcommand{\seepartx}[2]{(See \refPart{#1} #2.)}%

\newcommand{\refchap}[1]{chapter~\ref{#1}}%
\newcommand{\refChap}[1]{Chapter~\ref{#1}}%
\newcommand{\seechap}[1]{(See \refChap{#1}.)}%
\newcommand{\seechapx}[2]{(See \refChap{#1} #2.)}%

\newcommand{\refapp}[1]{appendix~\ref{#1}}%
\newcommand{\refApp}[1]{Appendix~\ref{#1}}%
\newcommand{\seeapp}[1]{(See \refApp{#1}.)}%
\newcommand{\seeappx}[2]{(See \refApp{#1} #2.)}%

\newcommand{\refsec}[1]{section~\ref{#1}}%
\newcommand{\refSec}[1]{Section~\ref{#1}}%
\newcommand{\seesec}[1]{(See \refSec{#1}.)}%
\newcommand{\seesecx}[2]{(See \refSec{#1} #2.)}%

\newcommand{\reffig}[1]{figure~\ref{#1}}%
\newcommand{\refFig}[1]{Figure~\ref{#1}}%
\newcommand{\seefig}[1]{(See \refFig{#1}.)}%
\newcommand{\seefigx}[2]{(See \refFig{#1} #2.)}%

\newcommand{\refdef}[1]{definition~\ref{#1}}%
\newcommand{\refDef}[1]{Definition~\ref{#1}}%
\newcommand{\seedef}[1]{(See \refDef{#1}.)}%
\newcommand{\seedefx}[2]{(See \refDef{#1} #2.)}%

\newcommand{\reftheo}[1]{theorem~\ref{#1}}%
\newcommand{\refTheo}[1]{Theorem~\ref{#1}}%
\newcommand{\seetheo}[1]{(See \refTheo{#1}.)}%
\newcommand{\seetheox}[2]{(See \refTheo{#1} #2.)}%

\newcommand{\refexo}[1]{exercise~\ref{#1}}%
\newcommand{\refExo}[1]{Exercise~\ref{#1}}%
\newcommand{\seeexo}[1]{(See \refExo{#1}.)}%
\newcommand{\seeexox}[2]{(See \refExo{#1} #2.)}%

\newcommand{\refcode}[1]{code fragment~\ref{#1}}%
\newcommand{\refCode}[1]{Code fragment~\ref{#1}}%
\newcommand{\seecode}[1]{(See \refCode{#1}.)}%
\newcommand{\seecodex}[2]{(See \refCode{#1} #2.)}%

