![biblatex: autocite と fullcite のカスタム動作](https://rvso.com/image/420028/biblatex%3A%20autocite%20%E3%81%A8%20fullcite%20%E3%81%AE%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E5%8B%95%E4%BD%9C.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 に設定するだけです。 これはいつでも簡単に実行できますが、関連するコマンドにフックするための適切な方法が必要です。
次の例では、 と を全体的に false に設定していますdoi
が、およびeptint
では参考文献内で true に設定しています。\fullcite
\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}