opções de estilo \fullcite

opções de estilo \fullcite

Eu tenho uma lista de itens do biblatex em um documento que também possui uma seção de bibliografia. Nesta parte quero listar alguns itens da bibliografia, \fullcitemas em um estilo diferente da bibliografia principal.

Posso alterar o número de autores assim:

\begingroup
\defcounter{minnames}{2}
\fullcite{key}
\endgroup

Como posso modificar ainda mais o estilo de \fullcite?

MWEB

\documentclass[en-US,de-DE]{article}

\usepackage[
  style=authoryear-ibid,
  maxnames=2,
  backend=biber,
  safeinputenc,
  isbn=false,
  doi=false,
  maxcitenames=2,
  urldate=iso8601,
  date=iso8601
]{biblatex}

\addbibresource{\jobname.bib}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@book{key,
  author = {Author, A.},
  year = {2001},
  title = {Title},
  publisher = {Publisher},
  pagetotal = {383},
  edition = {1},
  pages = {151--154},
  url = {http://www.google.com},
}
\end{filecontents}

\begin{document}
text1

\fullcite{key}

text2

\cite{key}

text3

\printbibliography[heading=bibintoc]

\end{document}

Quero remover o ano, os URLs desses itens listados \fullcitetambém e quaisquer números de página e a edição dos livros?

renderização de pdf

Responder1

Existem duas maneiras de fazer isso: você pode redefinir o \fullcitecomando para limpar os campos que não deseja ou, conforme observado nos comentários, pode usar \AtEverycitekeypara fazer a mesma coisa.

Conceitualmente, modificar \fullciteparece ser a melhor solução, já que usar \AtEveryCitekeymodifica qualquer citação, então se você quiser remover alguma informação do \fullciteque normalmente está incluída no regular \citeentão vocêdeveuse esta solução.

Se você estiver apenas removendo URL, edição e páginas, \fullcitenão haverá efeitos colaterais ruins do uso, \AtEveryCitekeypois é apenas o \fullcitecomando de citação que geraria esses campos. Mas se você quiser remover o ano também (como você mencionou nos comentários), então modificar \fullciteé a única maneira de fazer isso. Removi a \AtEveryCitekeysolução do código por esse motivo, mas coloquei-a separadamente no final.

Dependendo do tipo de informação que você precisa suprimir, pode ser necessário usar um de \clearfield, \clearlistou \clearname. No caso de publisher, ou location, por exemplo, o tipo deles é uma lista, e por isso você precisa usar \clearlistpara limpá-los. A seção 2.2.2 da biblatexdocumentação descreve cada campo e seu tipo de dados.

\documentclass[en-US,de-DE]{article}

\usepackage[
  style=authoryear-ibid,
  maxnames=2,
  backend=biber,
  safeinputenc,
  isbn=false,
  doi=false,
  maxcitenames=2,
  urldate=iso8601,
  date=iso8601
]{biblatex}

\addbibresource{\jobname.bib}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@book{key,
  author = {Author, A.},
  year = {2001},
  title = {Title},
  publisher = {Publisher},
  pagetotal = {383},
  edition = {1},
  pages = {151--154},
  url = {http://www.google.com},
}
\end{filecontents}

\DeclareCiteCommand{\fullcite}
  {\usebibmacro{prenote}}
  {\clearfield{url}%
   \clearfield{pages}%
   \clearfield{pagetotal}%
   \clearfield{edition}%
   \clearfield{labelyear}%
   \usedriver
     {\DeclareNameAlias{sortname}{default}}
     {\thefield{entrytype}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}
\begin{document}
text1
\cite{key}

\fullcite{key}

text2

\cite{key}

text3

\printbibliography[heading=bibintoc]

\end{document}

saída de código

Usando\AtEveryCitekey

Conforme observado acima, o uso \AtEveryCitekeytambém pode funcionar se não houver sobreposição entre as informações necessárias em uma citação regular e as informações suprimidas no arquivo \fullcite. Aqui está o código para usar esse método:

\AtEveryCitekey{
\clearfield{url}
   \clearfield{pages}
   \clearfield{pagetotal}
   \clearfield{edition}
   \clearfield{labelyear}
}

informação relacionada