
我想知道如何A
使用另一個新命令B
(有一個參數x
)作為 的參數來定義一個新命令A
。
這是一個簡單的例子:
\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}