当我删除第二个 时\item
,编译正常。但是,对于第二个\item
,我得到了ERROR: Missing $ inserted
并且数学呈现不正确:
\documentclass[12pt]{article}
\newcommand \frob[2] {\langle #1,#2 \rangle_F}
\begin{document}
\begin{itemize}
\item What I want: $
\langle A,B \rangle_F
\geq
\langle C,D \rangle_F
$.
\item What I get: $
\frob{A,B}
\geq
\frob{A,B}
$.
\end{itemize}
\end{document}
将不胜感激任何关于此问题的帮助!
答案1
你定义了\frob
采取二参数
\newcommand{\frob}[2]
然而你只是路过而已一当你像这样使用它时的论点
\frob{A,B}
这是因为参数指定为代币或使用大括号 {
... }
,不是以逗号分隔的元素列表。
由于您在传递时打印的是相同的内容,因此以下内容可能会更简单:
\documentclass{article}
\newcommand{\frob}[1]{\langle #1 \rangle_F}
\begin{document}
\begin{itemize}
\item
What I want: $
\langle A,B \rangle_F
\geq
\langle C,D \rangle_F
$.
\item
What I get: $
\frob{A,B}
\geq
\frob{A,B}
$.
\end{itemize}
\end{document}
如果你真的想传递两个参数,那么你的定义应该是
\newcommand{\frob}[2]{\langle #1, #2 \rangle_F}
您可以通过 使用它\frob{A}{B}
。