Как поместить A под B с помощью синтаксического сахара?

Как поместить A под B с помощью синтаксического сахара?

Скажем, я хотел бы иметь команду, которая бы помещала text Aпод text B. Но я не хочу писать аргументы своей команды в \commandname{A,B}моде. Вместо этого я хотел бы написать что-то вроде этого кода: \put A \under BВозможны ли такие конструкции с командами TeX и как их создать?

решение1

Да, можно, но не следует:

\def\put#1\under#2{...something with #1 and #2...}

Вы можете назвать это так

\put A\under B

или

\put A\under {BC}

Если второй аргумент состоит из более чем одного токена, избежать скобок невозможно.

И тогда вы скоро пожалеете об этом, потому что вы обнаружите, что \putэто уже команда LaTeX и что вы ее переопределяете. Если вы говорите о Plain TeX, то проблем нет.

Обратите внимание, что если вы позвоните

\put A \under B

затем #1будет Aстоять пробел, который может иметь значение или нет в зависимости от различных факторов.

Вы можете прочитать оразграниченныймакроаргументы в TeX по темам ( texdoc texbytopicв вашей системе илиэта ссылка) или в TeXbook.

Связанный контент