표준 구분 기호를 어떻게 정의합니까?

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}

예상대로 결과가 나오지만 "Undefined control Sequence"오류가 발생합니다.

이 문제를 해결하도록 도와 주시겠습니까? 미리 감사드립니다.

답변

9 Mico Dec 11 2020 at 10:54

\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}
    

두 가지 접근 방식 모두 다음과 같은 출력을 얻을 수 있습니다.

두 가지 접근 방식 중 두 번째는 코드 (여기 :)가 입력하는 내용 \norm{...}의미 를 강조하므로 확실히 "LaTeX-y" 입니다. 이것은 코드의 상위 레벨 의미와 하위 레벨 조판 측면을 가능한 한 많이 구별하는 LaTeX의 디자인 철학에 더 잘 부합합니다.