LyXの通常の順序付けマクロ

LyXの通常の順序付けマクロ

通常の演算子の順序付けのマクロを定義したいこの質問では

このマクロに対して LyX によって生成された LaTeX コードは次のとおりです。

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

しかし、私がそれを呼び出すと:

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

エラーが発生します:

...ven by $\norder{\hat{a}\hat{a}^{\dagger}} $ エラー メッセージの一番上の行の末尾にある制御シーケンスは \def されていません。

なぜエラーが発生するのかわかりません。ドキュメントには他にもマクロがありますが、それらは問題なく動作します。amsmathまた、amssimbLyX の「Math Options」から読み込まれます (マクロ内でコマンドを使用できることも確認しました\mathbb)。問題は\vcentcolonコマンドにあるようですが、原因や修正方法がわかりません。ありがとうございます!

begin{document}PS. これはLyX によって生成された LaTeX ソース内の以前のものです。

\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}

関連情報