我该如何定义规范分隔符?

我该如何定义规范分隔符?

我想在 LaTeX 中写下以下等式:

在此处输入图片描述

这是我的代码:

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

虽然结果符合我的预期,但我遇到了“未定义的控制序列”错误:

在此处输入图片描述

你能帮我解决这个问题吗?提前谢谢了。

答案1

您已被告知这\norm是“未定义的控制序列”。您进一步在评论中提到,您加载了amsmathamssymb包。(附言:由于amssymb包会自动加载amsfonts包,因此您无需明确加载amsfonts包。)

您有两个主要选择:

  1. 从代码中删除这两个\norm指令。同时,请同时删除\left\right大小指令,因为它们除了造成代码混乱外,在这里没有任何作用。

    \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 的设计理念,即尽可能区分代码的高级含义和低级排版方面。

相关内容