Macro de ordenação normal no LyX

Macro de ordenação normal no LyX

Quero definir uma macro para a ordenação normal dos operadores conforme feitonesta questão.

O código LaTeX produzido pelo LyX para esta macro é:

\global\long\def\norder#1{\vcentcolon#1\vcentcolon}

No entanto, quando eu o invoco:

$\norder{\hat{a}\hat{a}^{\dagger}}$

dá um erro:

...ven by $\norder{\hat{a}\hat{a}^{\dagger}} $ A sequência de controle no final da linha superior da sua mensagem de erro nunca foi \def'ed.

Não entendo porque dá o erro. Tenho mais macros no documento e elas funcionam perfeitamente. amsmathe amssimbsão carregados através das "Opções matemáticas" do LyX (e verifiquei se posso usar comandos como \mathbbdentro de macros). Parece que o problema é o \vcentcoloncomando, mas não vejo por que ou como corrigi-lo. Obrigado!

PS. Isso é o que eu tenho antes begin{document}na fonte LaTeX gerada pelo LyX.

\documentclass[english]{article}
\usepackage{mathpazo}
\renewcommand{\familydefault}{\rmdefault}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{geometry}
\geometry{verbose,tmargin=3cm,lmargin=3cm,rmargin=2cm}
\usepackage{float}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{esint}
\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\usepackage{braket}
\makeatother
\usepackage{babel}

Responder1

O comando \ventcolonnão foi definido. Carregue o pacote mathtools; você pode carregá-lo em vez de amsmath. Além disso, coloque o material entre os dois pontos em um \mathrelcomando para melhorar o espaçamento.

\usepackage{mathtools}
\newcommand\norder[1]{\vcentcolon\mathrel{#1}\vcentcolon}

insira a descrição da imagem aqui

\documentclass{article}
\usepackage{mathtools}
\newcommand\norder[1]{\vcentcolon\mathrel{#1}\vcentcolon}
\begin{document}
$A \norder{\hat{a}\hat{a}^{\dagger}} B$
\end{document}

informação relacionada