Atalho para comando sem colchetes

Atalho para comando sem colchetes

Quero criar um atalho para

\textsubscriptARGS

Sendo ARGSqualquer número.

Quero digitar algo como 123\a33332e ter a mesma saída que123\textsubscript{33332}

Tentei com \defe \newcommandsem sucesso Obrigado!

Eu tentei \def\aa #1#2#3{\textsubscript{#1#2#3}} e funciona, mas somente se houver 3 argumentos, você sabe como definir os argumentos como opcionais ou incluir todos os caracteres antes de um espaço como um argumento?

Responder1

Isso tem todos os tipos de erros escritos sobre ele:

insira a descrição da imagem aqui

\documentclass{article}

\usepackage{xspace}
\def\aa#1 {\textsubscript{#1}\xspace}

\begin{document}

Here is some 123\aa4 text together with
        some 123\aa45 text together with
        some 123\aa456 text together with
        some 123\aa4567 text together with
        some 123\aa45678 text together with
        some 123\aa456789 text together with
        some 123\textsubscript{4567890}.

\end{document}

Por que?

  • \aajá está definido (como a letra sueca å).

  • Não há consistência no uso de \aano final de uma frase, já que \defo parâmetro textrequerum espaço como delimitador final para seu argumento. Condicionar em a .seria bom, mas o que acontece com ,, ou !, ou ?, ou ...

  • VerDesvantagens dexspace.

Responder2

Se você quiser apenas números inteiros, vocêpoderfaça o seguinte:

\documentclass{article}
\usepackage{xspace}

\newcommand{\wrongwaytodosubscripts}{%
  \afterassignment\wwtdss\count255=
}
\def\wwtdss{\textsubscript{\the\count255}\xspace}

\begin{document}

123\wrongwaytodosubscripts123 followed by whatever.

123\wrongwaytodosubscripts123.

\end{document}

Se eu recomendo fazer isso deve ficar claro pelo nome da macro que escolhi.

insira a descrição da imagem aqui

Não faça assim!É propenso a erros e tem várias limitações.

informação relacionada