biblatex:autocite 和 fullcite 的自訂行為

biblatex:autocite 和 fullcite 的自訂行為

我使用 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。這可以在任何時候輕鬆完成,我們只需要一個好方法來連接相關命令。

以下全域設定doieptint為 false,但在參考書目 和 中將它們設為\fullcitetrue \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}

E. Sigfridsson 和 U. Ryde。 「從靜電勢和力矩導出原子電荷的方法比較」。參見:《計算化學期刊》19.4 (1998),第 377–395 頁。

相關內容