![biblatex: пользовательское поведение для автоцитирования и полного цитирования](https://rvso.com/image/420028/biblatex%3A%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%BE%D0%B5%20%D0%BF%D0%BE%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B4%D0%BB%D1%8F%20%D0%B0%D0%B2%D1%82%D0%BE%D1%86%D0%B8%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%B8%20%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D0%B3%D0%BE%20%D1%86%D0%B8%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F.png)
Я использую библатекс с
\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, но устанавливает их в значение 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}