\@ifnextchar は、マクロの定義の中で、そのマクロの直後に置かれているものを
判別するコマンドです。例えば \test というマクロが
\def\test{\@ifnextchar A{:uppercase a:}{:something else:}}
と定義されている場合、
\test A
という形で \test を使うと「:uppercase a:」と表示され、
\test B
という形であれば「:something else:」と表示されます。
“\@ifnextchar [”という形で、マクロにオプション引数が指定されているか
どうかを判別するのが典型的な使い方です。
\@tempcnta は、スクラッチ・ユースのために用意されている
カウント・レジスター(整数変数)です。
\@tempcnta=2\relax
のようにして代入します。
(LaTeX のカウンターとは違うので、\setcounter は使えません)
\parshape は、段落の形状を指定するコマンドです。
\parshape n i1 l1 i2 l2 i3 l3 ... in ln
という形で指定します。ここで、n は行数、ik は k 行目の
インデント幅、lk は k 行目の行長を指定します。
n+1 行目以降のインデント幅・行長は、n 行目と同じになります。
例えば、
\parshape 4 10mm 60mm 20mm 50mm 30mm 40mm 40mm 30mm
\noindent いろはにほへとちりぬるをわかよたれそつねならむ
うゐのおくやまけふこえてあさきゆめみしゑひもせすん
いろはにほへとちりぬるをわかよたれそつねならむ
うゐのおくやまけふこえてあさきゆめみしゑひもせすん
のように使います。
マクロ作成に手を染められるなら、手始めに藤田眞作さんの
『LaTeX2e まくろの八衢』あたりを読まれるとよいかと思います。
下記の URL から PDF で入手できます。
http://xymtex.com/