![语法包导致编译破坏 \cite 命令](https://linux22.com/image/374536/%E8%AF%AD%E6%B3%95%E5%8C%85%E5%AF%BC%E8%87%B4%E7%BC%96%E8%AF%91%E7%A0%B4%E5%9D%8F%20%5Ccite%20%E5%91%BD%E4%BB%A4.png)
添加syntax
包会导致\cite
命令中断并出现以下错误:
Argument of \@citex has an extra }.
<inserted text>
\par
l.5 ...high ceiling") \cite{resnick_lifelong_2017}
. enter code here
答案1
下划线字符被包激活syntax
,这造成了混淆\cite
。
您可以通过调用包来禁用下划线的特殊处理
\usepackage[nounderscore]{syntax}
答案2
事实证明,这是由于syntax
软件包改变了处理下划线字符的方式。引用名称中的下划线是导致错误的原因。
我终于在这里找到了答案:
https://www.ppsa.dk/article/backus-naur-form-latex
添加一行以使下划线行为恢复正常可以解决问题:
\usepackage{syntax}
\AtBeginDocument{\catcode`\_=8 }