
Ich möchte ein Makro für die normale Anordnung der Operatoren definieren.in dieser Frage.
Der von LyX für dieses Makro erzeugte LaTeX-Code lautet:
\global\long\def\norder#1{\vcentcolon#1\vcentcolon}
Wenn ich es jedoch aufrufe:
$\norder{\hat{a}\hat{a}^{\dagger}}$
es gibt einen Fehler:
...sogar durch $\norder{\hat{a}\hat{a}^{\dagger}} $ Die Steuersequenz am Ende der obersten Zeile Ihrer Fehlermeldung wurde nie \def'ed.
Ich verstehe nicht, warum der Fehler auftritt. Ich habe mehrere Makros im Dokument und sie funktionieren einwandfrei. amsmath
Sie amssimb
werden über die „Mathematikoptionen“ von LyX geladen (und ich habe überprüft, ob ich Befehle wie diese \mathbb
in Makros verwenden kann). Das Problem scheint beim \vcentcolon
Befehl zu liegen, aber ich weiß nicht, warum oder wie ich es beheben kann. Danke!
PS. Das ist, was ich vor dem begin{document}
in der von LyX generierten LaTeX-Quelle habe.
\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}
Antwort1
Der Befehl \ventcolon
wurde nicht definiert. Laden Sie das Paket mathtools
; Sie können es anstelle von laden . Um den Abstand zu verbessern, amsmath
sollten Sie außerdem die Angaben zwischen den Doppelpunkten in einen Befehl einbinden .\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}