하나의 인수를 사용하여 새 명령을 다른 새 명령에 전달

하나의 인수를 사용하여 새 명령을 다른 새 명령에 전달

의 인수로 A다른 새 명령 B(하나의 인수가 있음 )을 사용하여 새 명령을 정의하는 방법이 궁금합니다 .xA

다음은 간단한 예입니다.

\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{babel}
\begin{document}
\newcommand\ket[1][usedefault, addprefix=\global, 1=1]{|#1>}
\newcommand\hc[1][usedefault, addprefix=\global, 1=2]{Hc(#1)}
\newcommand\kc[1][usedefault, addprefix=\global, 1=3]{\ket[\hc[#1]]}

$$\kc[5]$$

\end{document}

내가 원했던 결과는 인데 |Hc(5)>, 실제로는 나타났습니다 |Hc(5>). 엄청 이상해.

위의 코드에 어떤 문제가 있나요?

답변1

선택적 인수가 있는 내부 명령을 로 그룹화해야 합니다(구분하기보다는 구분해야 합니다). {...}그렇지 않으면 전체 명령이 분리되고 인수의 내용이 잘못된 순서로 조판됩니다!

메모braket: Dirac/Hilbert 상태 벡터에 대한 패키지가 있습니다 .

\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{babel}
\begin{document}
\newcommand\ket[1][usedefault, addprefix=\global, 1=1]{|#1\rangle}
\newcommand\hc[1][usedefault, addprefix=\global, 1=2]{Hc(#1)}
\newcommand\kc[1][usedefault, addprefix=\global, 1=3]{\ket[{\hc[#1]}]}

\[\kc[5]\]

\end{document}

여기에 이미지 설명을 입력하세요

관련 정보