自己フォローです。^^;

>>>>>    NAKAJI Hiroyuki <nakaji@tutrp.tut.ac.jp> wrote:

> シェルの「test -z」のようなことを LaTeX2e でできませんか?
> というのが質問の主旨です。以下に経緯を書きます。

あっさりとできました。nidanfloat.sty に

    \if@firstcolumn
      \ifx #3\@empty \textfloatsep \else \floatsep \fi
    \else
      \ifx #4\@empty \textfloatsep \else \floatsep \fi
    \fi

とあったのをまねて、

> \newcommand{\putlist}[6]{%
  \ifx #4\@empty \else
>   \immediate\write\@titlefile{%
>     <tr>
>     <td> #1</td>
>     <td> #2</td>
>     <td>#5</td>
>     <td>#6</td>
>     <td> #3 (#4)</td>
>     </tr>
>     }
  \fi
>   \begin{picture}(178,25.2)(-29,61.8)
>     \put(22.5,17){\makebox(38,5)[cm]{\Large \bf #1}}
>     \put(89,17){\makebox(55,5)[cm]  {\large \bf #2}}
>     \put(44,6.5){\makebox(100,5)[lt]{\large #3}}
>     \put(44,8.5){\makebox(100,5)[rb]{\large \sf (#4)}}
>     \put(22.5,0){\makebox(38,5)[cm] {\large \bf #5}}
>     \put(89,0){\makebox(55,4)[cm]   {\large \bf #6}}
>   \end{picture}
>   }

としてみたらOKでした。

まとめると、

> つまり、putlist 環境で、「#4 が空でなければ \write する」ようにしたいの
> ですが、どういう方法がありますか?

「\ifx #4\@empty」が「#4 が空である」という条件判断になるので、

   \ifx #4\@empty %何もしない
   \else
      \write{...}
   \fi

とすればよいということでした。
-- 
NAKAJI Hiroyuki (中治 弘行)