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'ed된 적이 없습니다.

왜 오류가 발생하는지 이해할 수 없습니다. 문서에 더 많은 매크로가 있으며 완벽하게 작동합니다. LyX의 "Math Options"를 통해 로드 amsmath됩니다 amssimb(그리고 내부 매크로와 같은 명령을 사용할 수 있는지 확인했습니다 \mathbb). 문제가 \vcentcolon명령인 것 같지만 이유나 해결 방법을 알 수 없습니다. 감사합니다!

추신. 이것은 begin{document}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}

관련 정보