Цитата:
Видимо, надо в \caption сделать условие по #1 (как я понимаю, сюда приходит тип флоата, в котором указан caption) и вхачить в начало первого аргумента \makecaption команду смены шрифта...
Лучше сделать это с помощью преобразования строк в команды:
\csname #1captionfont \endcsname
и определить:
\def\tablecaptionfont{\somefont}
\def\figurecaptionfont{\otherfont}.
Цитата:
1) Как реализовать "если определена глобальная переменная \@ZZZ, то выполнить \A"?
2) В какой книге наиболее просто и коротко описаны условные конструкции ТеХа?
1) В LaTeX есть \ifdefined. В plain TeX ее вроде бы нет.
2) Основной источник -- исходники LaTeX (dtx-файлы с комментариями, а не cls и ltx). Базовые конструкции описаны в TeXbook и ее переводах с неадекватным названием "Все про ТеХ".
Цитата:
И мне не очень понятно, как здесь передается аргумент команды \section... Мне, собственно говоря, надо немножко преобразовать этот аргумент перед сборкой секции (перевести все название в верхний регистр). Вставка \MakeUppercase в аргументе-стиле приводит к глюкам. =( Может, тут надо просто другую стилевую команду использовать?
Формат заголовка секции определяется командой \@sect с 8-ю аргументами, которая вызывается из \@startsection. Два последних соответствуют параметрам \section.
Сама задача решается просто. Надо добавить \uppercase в последний аргумент \def\section{...{\sectioncenterstyle\normalsize\normalfont\bf\uppercase}}.