I still can't figure out how to make my \titles macro do what I want.
I have tried something like
\def\title#1{\if{#1}\empty\relax\else{\centerline #1}\fi}
If I say
\title{This is the tile}
I want it to print the title, but if I say
\title{}
I want it to do absolutely nothing. The problem is that with a
0-length argument like this, it still fails the \if test, moves past
the \else, and puts in a box which seems to takes up vertical space.
Is there any logical test I can use for a 0-length argument? I've
tried a zillion other combinations with \if, \ifx, with and without
{}, but I still haven't found any that pass the test. I can't even
find any that pass a comparison test with a non-blank argument unless
I remove the parentheses, e.g. if #1 is x, then \ifx#1x is true but
\ifx{#1}x and \ifx{#1}{x} are both false. And as we saw before,
removing the parentheses defeats the whole process, because then the
test is true if #1 starts with any repeated character.
:-(
--Don Simons