我的文档中有多个网站引用。我使用 bibtex 来@misc
指定它们。
我需要在引用这些网站和所有其他引用之间不断切换,或者将它们放在脚注中。我想让这种切换尽可能轻松,所以我的想法是使用一个新命令来引用网站,比如\wcite
。我将其定义为:
\newcommand{\wcite}[1]{\cite{#1}} %normal cite
\newcommand{\wcite}[1]{\footnote{\bibtitle{#1} - \bibhowpublished{#1}}} %footnote cite
然后我会评论一下我目前没有使用的那个。这样我就可以快速地从引文切换到脚注,只需写一次网站的数据。我还可以轻松更改脚注的格式。
我明显的问题是\bibtitle
或\bibhowpublished
不存在。我找不到从 bib 条目中获取字符串值的方法。
答案1
BibLaTeX 提供了条目类型@online
作为url
字段之一。因此,您可能需要考虑使用此条目类型来存储网站。
可以使用 定义新类型的引用\DeclareCiteCommand
,因此定义打印标题和脚注中的 url 的命令的方式可能是这样的:
\DeclareCiteCommand{\wcite}
[\mkbibfootnote]
{}
{\printfield{title}--\printfield{url}}
{\addcomma\addspace}
{}
第一个参数是命令的名称(\wcite
);第二个参数是可选的,用于包装命令(在本例中是脚注,使用 BibLaTeX 提供的功能);第三个参数是预编码;第四个参数是引用的内容:可以使用打印字段的值\printfield{field name}
;第五个参数是在多个引用之间打印的代码;最后一个参数是邮政编码。
要使用howpublished
字段替换\printfield{url}
为\printfield{howpublished}
编辑
可以使用选项来防止将网站(@misc
)纳入参考书目中defenumbers
(在生成参考书目后,必须对文档进行偶数次编译)
\usepackage[defernumbers]{biblatex}
\printbibliography[nottype=misc]