
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 \fullcite
pero 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 \fullcite
también y los números de página y la edición de los libros?
Respuesta1
Hay dos formas de hacer esto: puede redefinir el \fullcite
comando para borrar los campos que no desea o, como se indica en los comentarios, puede usarlo \AtEverycitekey
para hacer lo mismo.
Conceptualmente, modificar \fullcite
parece ser la mejor solución, ya que el uso \AtEveryCitekey
modifica cualquier cita, por lo que si desea eliminar cualquier información \fullcite
que normalmente se incluye en el documento regular, \cite
entonces debedebeUtilice esta solución.
Si simplemente está eliminando la URL, la edición y las páginas, \fullcite
no habrá efectos secundarios negativos al usarlo, \AtEveryCitekey
ya que es solo el \fullcite
comando de cita el que generará esos campos. Pero si también desea eliminar el año (como menciona en los comentarios), modificarlo \fullcite
es la única forma de hacerlo. Eliminé la \AtEveryCitekey
solució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
, \clearlist
o \clearname
. En el caso de publisher
, o location
, por ejemplo, su tipo es una lista, por lo que debes usarlos \clearlist
para borrarlos. La sección 2.2.2 de la biblatex
documentació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}
Usando\AtEveryCitekey
Como se señaló anteriormente, el uso \AtEveryCitekey
tambié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}
}