![biblatex:autocite 和 fullcite 的自訂行為](https://rvso.com/image/420028/biblatex%EF%BC%9Aautocite%20%E5%92%8C%20fullcite%20%E7%9A%84%E8%87%AA%E8%A8%82%E8%A1%8C%E7%82%BA.png)
我使用 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}