Wie definiere ich Normtrennzeichen?

Dec 11 2020

Ich möchte die folgende Gleichung in LaTeX schreiben:

Hier ist mein Code:

\begin{equation}
       R =  \left\Vert\norm\overrightarrow{q_1c}\right\Vert=\left\Vert\norm\overrightarrow{q_2c}\right\Vert
\end{equation}

Obwohl das Ergebnis meiner Erwartung entspricht, erreiche ich den Fehler "Undefinierte Kontrollsequenz":

Könnten Sie mir helfen, dieses Problem zu beheben? Danke im Voraus.

Antworten

9 Mico Dec 11 2020 at 10:54

Sie wurden darüber informiert, dass \normes sich um eine "undefinierte Kontrollsequenz" handelt. In einem Kommentar erwähnen Sie außerdem, dass Sie die Pakete amsmathund laden amssymb. (Nebenbei: Da das amssymbPaket das amsfontsPaket automatisch lädt , müssen Sie das amsfontsPaket nicht explizit laden .)

Sie haben zwei Hauptoptionen:

  1. Entfernen Sie die beiden \normAnweisungen aus dem Code. Und wenn Sie schon dabei sind, entfernen Sie auch die Direktiven \leftund die \rightGrößenanweisungen, da sie hier nichts anderes tun, als Code-Unordnung zu erzeugen.

    \documentclass{article} % or some other suitable document class
    \usepackage{amsmath,amssymb}
    \usepackage{old-arrows} % optional (for smaller arrowheads) 
    
    \begin{document}
    \begin{equation}
        R = \Vert\overrightarrow{q_1c}\Vert = \Vert\overrightarrow{q_2c}\Vert
    \end{equation}
    \end{document}
    
  2. Entfernen Sie die \left\Vertund \right\VertRichtlinien und definieren ein Makro aufgerufen \norm. Ich möchte vorschlagen, dass Sie das mathtoolsPaket - eine Obermenge des amsmathPakets - laden, damit das \DeclarePairedDelimiterMakro definiert wird \norm.

    \documentclass{article} % or some other suitable document class
    \usepackage{mathtools,amssymb}
    \DeclarePairedDelimiter{\norm}{\lVert}{\rVert} % define a "\norm" macro
    \usepackage{old-arrows} % optional (for smaller arrowheads) 
    
    \begin{document}
    \begin{equation}
        R = \norm{\overrightarrow{q_1c}} = \norm{\overrightarrow{q_2c}}
    \end{equation}
    \end{document}
    

Bei beiden Ansätzen erhalten Sie die folgende Ausgabe:

Von den beiden Ansätzen ist der zweite definitiv mehr "LaTeX-y", da der Code (hier \norm{...}:) die Bedeutung Ihrer Eingabe hervorhebt . Dies entspricht besser der Designphilosophie von LaTeX, so weit wie möglich zwischen übergeordneten Bedeutungen und untergeordneten Satzaspekten des Codes zu unterscheiden.