Макрос нормального порядка в LyX

Макрос нормального порядка в LyX

Я хочу определить макрос для обычного порядка операторов, как это сделанов этом вопросе.

Код LaTeX, созданный LyX для этого макроса, выглядит следующим образом:

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

Однако, когда я его вызываю:

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

выдает ошибку:

...ven by $\norder{\hat{a}\hat{a}^{\dagger}} $ Управляющая последовательность в конце верхней строки вашего сообщения об ошибке никогда не была \def'ed.

Я не понимаю, почему возникает ошибка. У меня в документе есть еще макросы, и они отлично работают. amsmathи amssimbзагружаются через "Math Options" LyX (и я проверил, что могу использовать такие команды, как \mathbbвнутри макросов). Похоже, проблема в \vcentcolonкоманде, но я не вижу, почему и как это исправить. Спасибо!

P.S. Это то, что у меня было begin{document}в исходнике LaTeX, сгенерированном 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}

решение1

Команда \ventcolonне определена. Загрузите пакет mathtools; вы можете загрузить его вместо amsmath. Более того, заключите содержимое двоеточий в \mathrelкоманду, чтобы улучшить интервал.

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

введите описание изображения здесь

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

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