Como colocar A sob B com açúcar sintático?

Como colocar A sob B com açúcar sintático?

Digamos que eu adoraria ter um comando que colocasse texto Aabaixo de text B. Contudo, não quero escrever meus argumentos de comando na \commandname{A,B}moda. Em vez disso, eu adoraria escrever algo como escrever um código como este: \put A \under BEssas construções são possíveis com comandos TeX e como criá-las?

Responder1

Sim, você pode, mas não deveria:

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

Você pode chamá-lo assim

\put A\under B

ou

\put A\under {BC}

Não há como evitar colchetes se o segundo argumento consistir em mais de um token.

Então você logo se arrependerá de ter feito isso, porque descobrirá que esse \putjá é um comando do LaTeX e que você o está redefinindo. Se você está falando sobre Plain TeX, não há problema.

Observe que se você ligar

\put A \under B

então #1ficará Acom um espaço à direita, que pode ser significativo ou não, dependendo de vários fatores.

Você pode ler sobredelimitadoargumentos de macro no TeX por tópico ( texdoc texbytopicno seu sistema ouesse link) ou no TeXbook.

informação relacionada