Как определить разделители норм?

Dec 11 2020

Я хотел бы написать в LaTeX следующее уравнение:

Вот мой код:

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

Хотя результат, как я ожидал, я обнаружил ошибку «Неопределенная последовательность управления»:

Не могли бы вы помочь мне решить эту проблему. Заранее спасибо.

Ответы

9 Mico Dec 11 2020 at 10:54

Вам сообщили, что \normэто «неопределенная последовательность управления». Кроме того , Вы уже, в комментариях, что вы загрузите amsmathи amssymbпакеты. (Кроме того: поскольку amssymbпакет загружает amsfontsпакет автоматически, вам не нужно загружать amsfontsпакет явно.)

У вас есть два основных варианта:

  1. Удалите \normиз кода две директивы. И пока вы это делаете, удалите также директивы \leftи \rightsizing, поскольку они здесь ничего не делают, кроме создания беспорядка в коде.

    \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. Удалите \left\Vertи \right\Vertдирективы и определить макрос с именем \norm. Я хотел бы предложить вам загрузить mathtoolsпакет - надмножество amsmathпакета - для определения его \DeclarePairedDelimiterмакроса \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}
    

При использовании обоих подходов вы получите следующий результат:

Из двух подходов второй определенно больше «LaTeX-y», поскольку код (здесь \norm{...}:) подчеркивает значение того, что вы вводите. Это лучше соответствует философии дизайна LaTeX, заключающейся в том, чтобы как можно больше различать высокоуровневые аспекты и аспекты набора текста нижнего уровня.