(Biblatex) ¿Cómo suprimir el campo de página en el pie de página si hay una nota posterior?

(Biblatex) ¿Cómo suprimir el campo de página en el pie de página si hay una nota posterior?

Para mi tesis, estoy usando el biblatexestilo oxnotes, que es un estilo bastante similar al detallado y usa notas a pie de página.

Si uso el \footcitecomando con una nota posterior especificada, para una entrada con números de página (por ejemplo, un capítulo de libro), la nota al pie se imprimiráambosel número de página y la nota posterior. Me gustaría indicar biblatexque se suprima el número de página en una nota al pie cuando hay una nota posterior.

Actualmente, uno \footcitecomo este:

\footcite[1-5]{barkan2003}

...producirá la nota a pie de página

Barkan, 'Título',Título de la revista(2003),1-20 en 1-5.

Me gustaría suprimir las páginas (es decir, "1-20") en \footcitelos comandos donde se especifica una nota posterior, de modo que diga

Barkan, 'Título',Título de la revista(2003), 1-5.

Probé el siguiente comando, pero suprime el campo de páginas tanto en las citas como en la bibliografía.

\DeclareFieldFormat{pages}{%
    \iffieldundef{pages}{}{\iffieldundef{postnote}{}{\clearfield{pages}}}}

¿Hay alguna manera de saber biblatexsi se debe suprimir el campo de páginas?solo¿ En \footcitecomandos y no en la bibliografía?

¡Cualquier ayuda sobre una solución sería muy apreciada!

\documentclass{article}
\usepackage[style=oxnotes]{biblatex}
\RequireBibliographyStyle{oxref}

\begin{filecontents*}{document.bib}
@article{barkan2003,
  title = {Title},
  journaltitle = {Journal Title},
  date = {2003},
  pages = {1-20},
  author = {Barkan},
}
\end{filecontents*}
\addbibresource{document.bib}

\begin{document}
Text.\footcite[1-5]{barkan2003}
\end{document}

Respuesta1

biblatex-oxrefEl oxnotesestilo de citación se basa verbose.cbxy admite todas sus opciones. En particular, puede utilizar la opción citepages, que está documentada en elverboseejemplo de estilo. (En versiones anteriores, biblatex-oxrefalgunos aspectos citepageseran un poco contrarios a la intuición, pero eso se mejoró en la versión 1.1, verhttps://github.com/alex-ball/biblatex-oxref/issues/8.)

  • El oxnotes-default citepages=separatete da

    Wolfgang A. Herrmann et al., "Un carbeno carbocíclico como ligando catalizador eficaz para reacciones de acoplamiento C-C",Angélica. Química. En t. Ed.45/23 (2006), 3859–62 en 3860–1.

  • Con citepages=omitel pagescampo se omite automáticamente si la nota posterior es numérica

    Wolfgang A. Herrmann et al., "Un carbeno carbocíclico como ligando catalizador eficaz para reacciones de acoplamiento C-C",Angélica. Química. En t. Ed.45/23 (2006), 3860–1.

  • citepages=suppressomite el pagescampo incluso si la nota posterior no es numérica.

  • citepages=permit(el valor predeterminado de los verboseestilos estándar) solo mostraría ambos campos

    Wolfgang A. Herrmann et al., "Un carbeno carbocíclico como ligando catalizador eficaz para reacciones de acoplamiento C-C",Angélica. Química. En t. Ed.45/23 (2006), 3859–62, 3860–1.

Así que podrías intentarlo

\documentclass{article}

\usepackage[style=oxnotes, citepages=omit]{biblatex}

\addbibresource{biblatex-examples.bib}

\begin{document}
Text.\footcite[3860-3861]{herrmann}

\printbibliography
\end{document}

Wolfgang A. Herrmann et al., “Un carbeno carbocíclico como ligando catalizador eficaz para reacciones de acoplamiento C-C”, *Angew. Química. En t. Ed.* 45/23 (2006), 3860–1.


La \DeclareFieldFormatidea no funcionó porque \iffieldundef{pages}{}{\iffieldundef{postnote}{}{\clearfield{pages}}}no es un comando que imprima nada. Sólo indica biblatexque se elimine pagesen una situación determinada. Pero \DeclareFieldFormatdebería usarse para indicar biblatexcómo imprimir cosas, comparar con el valor predeterminado

\DeclareFieldFormat{pages}{\mkpageprefix[bookpagination]{#1}}

o el más simple

\DeclareFieldFormat{title}{\mkbibemph{#1}}

A \DeclareFieldFormatsiempre debe involucrar a #1.

En esencia, esta definición elimina el campo en el caso que desee (y no eliminaría el campo en la bibliografía, porque \iffieldundef{postnote}sería cierto allí), pero sobrescribe la definición que indica biblatexcómo imprimir el pagescampo en primer lugar, lo que significa que siempre se elimina en la salida.

Eliminar un campo solo en \DeclareFieldFormatpodría causar puntuación falsa porque biblatexcree que imprimió algo cuando no fue así.

Así que no intentaría seguir adelante con ese enfoque particular aquí.


Tenga en cuenta que el

\RequireBibliographyStyle{oxref}

no era necesario. En general, no deberías tener que usar \RequireBibliographyStyleo \RequireCitationStyleen un documento. El estilo se carga mediante biblatexla styleopción (o por separado mediante bibstyley citestyle).

información relacionada