我想轻松地排版我的文档,但不包含所有参考资料(原因是我需要一个没有脚注的文档版本来计算没有脚注的字数)。我使用 biblatex 创建脚注。所以我在序言中加入了以下几行,这些行在常规使用时被注释掉,但当我想要没有脚注的文档时就不会被注释掉。
\def\autocite(#1)(#2)(#3){}
\def\autocites(#1)(#2)(#3){}
\providecommand{\pno}{\relax}
\providecommand{\psqq}{\relax}
问题涉及前两行。由于\autocite(s)
需要参数,我根据答案重新定义了它这里。但这会导致每次引用都出现以下错误:
\autocites 的使用与其定义不符。
答案1
如果你定义这样的宏:
\def\autocite(#1)(#2)(#3){}
它必须后面跟着(
等。它们不是可选的。此技术在链接答案中有效,因为括号不是可选的。
如果要替换这些宏,则需要使用相同的可选参数和强制参数来定义它们。该\autocites
宏似乎有很多可能的可选参数!您可以使用该xparse
包轻松定义这样的宏。
答案2
坦白说,我不知道如何做宏。所以,这就是我想到的方法。我\autocite
按照 Martin 的建议,使用xparse
包重新定义了。谢谢你的指点!然后,使用\DeclareMultiCiteCommand
BibLatex 内置的,我映射\autocites
到了\autocite
。代码如下:
\usepackage{xparse}
\DeclareDocumentCommand\autocite{oom}{}
\DeclareMultiCiteCommand{\footcites}[\autocite]{\relax}{}
\let\pno\relax
\let\psqq\relax
请注意,需要\footcites
用您用于引用的内容替换。所以现在我可以打开和关闭引用/脚注。
答案3
命令以另一种语法定义和使用,例如:
\autocite[ prenote ][ postnote ]{ key }
你必须重新定义这个。