我使用以下命令数学工具手册,第 29 页,以及巨大的论文模板来自 Matthias Pospiech。
\newcommand\MTkillspecial[1]{% helper macro
\bgroup
\catcode‘\&=9
\let\\\relax%
\scantokens{#1}%
\egroup
}
\DeclarePairedDelimiter\brkts()
\reDeclarePairedDelimiterInnerWrapper\brkts{star}{
\mathopen{#1\vphantom{\MTkillspecial{#2}}\kern-\nulldelimiterspace\right.}
#2
\mathclose{\left.\kern-\nulldelimiterspace\vphantom{\MTkillspecial{#2}}#3}
}
在独立文档中,该命令运行良好,但在论文模板中,带星号的版本会导致以下错误:
! Missing number, treated as zero.
<to be read again>
\protect
l.115 $\brkts*{a}
$
? error: cannot find startxref
warning: trying to repair broken xref
warning: repairing PDF document
warning: object missing 'endobj' token
有什么想法可能导致这种情况吗?我不想把所有东西一分为二。
答案1
您的代码有误。使用
\newcommand\MTkillspecial[1]{% helper macro
\bgroup
\catcode`\&=9
\let\\\relax%
\scantokens{#1}%
\egroup
}
它是`
(ascii 字符)而‘
不是某些 unicode 字符。