
通常の演算子の順序付けのマクロを定義したいこの質問では。
このマクロに対して 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
また、amssimb
LyX の「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}