我使用 biblatex
\usepackage[giveninits=true, backend=bibtex, style=verbose-trad2]{biblatex}
\ExecuteBibliographyOptions[online]{eprint=true}
是否可以指示它使用选项
doi=false, eprint=false
使用命令时\autocite
,但选项
doi=true, eprint=true
使用命令\fullcite
?
答案1
biblatex
不能为不同的命令设置不同的选项\...cite...
,但是如果您知道选项背后的内部实现,通常是可以做到的。
选项doi
、eprint
、url
只是isbn
将一个开关设置bbx:<option>
为 true 或 false。这可以在任何时候轻松完成,我们只需要一个好方法来挂接到相关的命令。
以下全局地将doi
和设置eptint
为false,但在参考书目和\fullcite
和中将它们设置为true \footfullcite
。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[giveninits=true, backend=bibtex, style=verbose-trad2]{biblatex}
\ExecuteBibliographyOptions{doi=false, eprint=false}
\ExecuteBibliographyOptions[online]{eprint=true}
\AtBeginBibliography{%
\toggletrue{bbx:doi}%
\toggletrue{bbx:eprint}%
}
\DeclareCiteCommand{\fullcite}
{\usebibmacro{prenote}}
{\usedriver
{\toggletrue{bbx:doi}%
\toggletrue{bbx:eprint}%
\DeclareNameAlias{sortname}{default}}
{\thefield{entrytype}}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\footfullcite}[\mkbibfootnote]
{\usebibmacro{prenote}}
{\usedriver
{\toggletrue{bbx:doi}%
\toggletrue{bbx:eprint}%
\DeclareNameAlias{sortname}{default}}
{\thefield{entrytype}}}
{\multicitedelim}
{\usebibmacro{postnote}}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{sigfridsson}
ipsum \autocite{baez/article}
Lorem \fullcite{sigfridsson}
ipsum \fullcite{baez/article}
\printbibliography
\end{document}