opciones de estilo \fullcite

opciones de estilo \fullcite

Tengo una lista de artículos biblatex en un documento que además tiene una sección de bibliografía. En esta parte quiero enumerar algunos elementos de bibliografía \fullcitepero en un estilo diferente al de la bibliografía principal.

Puedo cambiar el número de autores de esta manera:

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

¿Cómo puedo modificar aún más el 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}

¿Quiero eliminar el año, las URL de estos elementos enumerados \fullcitetambién y los números de página y la edición de los libros?

renderizado en pdf

Respuesta1

Hay dos formas de hacer esto: puede redefinir el \fullcitecomando para borrar los campos que no desea o, como se indica en los comentarios, puede usarlo \AtEverycitekeypara hacer lo mismo.

Conceptualmente, modificar \fullciteparece ser la mejor solución, ya que el uso \AtEveryCitekeymodifica cualquier cita, por lo que si desea eliminar cualquier información \fullciteque normalmente se incluye en el documento regular, \citeentonces debedebeUtilice esta solución.

Si simplemente está eliminando la URL, la edición y las páginas, \fullciteno habrá efectos secundarios negativos al usarlo, \AtEveryCitekeyya que es solo el \fullcitecomando de cita el que generará esos campos. Pero si también desea eliminar el año (como menciona en los comentarios), modificarlo \fullcitees la única forma de hacerlo. Eliminé la \AtEveryCitekeysolución del código por este motivo, pero la coloqué por separado al final.

Dependiendo del tipo de información que necesite suprimir, es posible que necesite utilizar uno de \clearfield, \clearlisto \clearname. En el caso de publisher, o location, por ejemplo, su tipo es una lista, por lo que debes usarlos \clearlistpara borrarlos. La sección 2.2.2 de la biblatexdocumentación describe cada campo y su tipo de datos.

\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}

salida de código

Usando\AtEveryCitekey

Como se señaló anteriormente, el uso \AtEveryCitekeytambién puede funcionar si no hay superposición entre la información que necesita en una cita regular y la información que suprime en el archivo \fullcite. Aquí está el código para usar ese método:

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

información relacionada