Fração dentro de \xrightarrow está dando erro

Fração dentro de \xrightarrow está dando erro

Se eu escrever:

    $\xrightarrow{\makebox[4cm]{\frac{m}{n}}}$

Estou recebendo um erro:

    Missing $ inserted \end{frame}
    Extra}, or forgotten $ \end{frame}

Mas substituindo \frac{m}{n} por apenas 1 (para verificação), ou seja

    $\xrightarrow{\makebox[4cm]{1}}$

está funcionando conforme o esperado. Qualquer ajuda?

Responder1

A razão porque

$\xrightarrow{\makebox[4cm]{\frac{m}{n}}}$

lança uma mensagem de erro enquanto

$\xrightarrow{\makebox[4cm]{1}}$

O que não acontece é que o conteúdo do argumento obrigatório de \makeboxé avaliado em modo de texto por padrão. 1é um objeto de modo texto válido, enquanto \fracnão é.

Para evitar receber a mensagem de erro, você precisa escrever

$\xrightarrow{\makebox[4cm]{$\frac{m}{n}$}}$

Termo aditivo: Como apontado por @daleif (o mantenedor do mathtoolspacote) em um comentário, você também poderia resolver o problema carregando o mathtoolspacote e emitindo a instrução

$\xrightarrow{\makemathbox[4cm]{\frac{m}{n}}}$

Como o nome da macro sugere, o conteúdo do argumento de \makemathboxé tratado como itens do modo matemático.

informação relacionada