Usando el sistema de citas "et Int"

Usando el sistema de citas "et Int"

Estoy escribiendo una propuesta de subvención en la que la agencia financiadora especifica el siguiente estilo para ahorrar espacio en las entradas de la bibliografía:

Las publicaciones con múltiples autores podrán citarse de la siguiente manera: primer autor, segundo autor, et int, último autor.

Aparentemente esto no es algo que inventó la agencia financiadora; el estilo de cita "et Int" fue propuesto enEditor científicoen 2003 [1], por lo que obviamente ha ganado algo de fuerza desde entonces. Pero por mi vida no puedo descubrir cómo hacer esto (o si es posible hacerlo) en Biblatex. ¿He pasado por alto algo en el manual (para la versión 3.7) o tendré que implementar mi propia solución?

se que tu puedestruncarla cantidad de nombres impresos usando las opciones minbibnamesy maxbibnames, pero hasta donde yo sé, las listas de nombres truncadas siempre terminan con la cadena fija "et al." (o cualquiera que andotherssea el valor de en el estilo de bibliografía). ¿Podría ser posible modificar dinámicamente el valor de andotherspara que sea "y ent, " seguido del nombre del último autor (o editor) de cualquier elemento bibliográfico que se esté imprimiendo.

[1] Sergei A. Grando y Jeffrey D. Bernhard."Primer autor, segundo autor, et int y último autor": un sistema de citas propuesto para artículos biomédicos. Editor científico26(4):122–123, julio-agosto de 2003.

Respuesta1

Desafortunadamente, el documento no fue muy claro en los detalles reales del estilo propuesto, por lo que tendrás que vivir con mi interpretación por el momento.

Esta implementación deja fuera a los 'autores intervinientes' si son dos o más autores (parece injusto reemplazar solo un autor por 'et int.', también podríamos nombrarla completa) después del número de autor bbx:etinttruncy antes del último autor. En el ejemplo bbx:etinttruncse establece en dos como en su pregunta.

Supongo que las cosas podrían ser más fáciles si Biber soportara esto de forma nativa, pero también funciona así.

MWE

\documentclass[american]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=numeric, backend=biber, maxnames=999]{biblatex}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@inproceedings{cheshkov,
  author    = {Cheshkov, S. and Tajima, T. and Chiu, C. and Breitling, F.},
  title     = {Emittance control in Laser Wakefield Accelerator},
  booktitle = {American Institute of Physics Conference Series},
  date      = {2001-05},
  volume    = {569},
  pages     = {163-176},
}
@article{dehant,
  author = {Veronique Dehant and Bruce Banerdt and Philippe Lognonné and Matthias Grott
            and Sami Asmar and Jens Biele and Doris Breuer and François Forget 
            and Ralf Jaumann and Catherine Johnson and Martin Knapmeyer and Benoit Langlais
            and Le Feuvre, Mathieu and David Mimoun and Antoine Mocquet and Peter Read
            and Attilio Rivoldini and Oliver Romberg and Gerald Schubert and Sue Smrekar
            and Tilman Spohn and Paolo Tortora and Stephan Ulamec and Susanne Vennerstrøm},
  journal = {Planetary and Space Science},
  number  = {1},
  pages   = {123 - 145},
  title   = {Future {Mars} geophysical observatories for understanding its internal structure, rotation, and evolution},
  volume  = {68},
  year    = {2012},
}
\end{filecontents*}

\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

%\renewcommand*{\finalnamedelim}{\multinamedelim}

\NewBibliographyString{etint}
\DefineBibliographyStrings{english}{etint = {et\addabbrvspace int\adddot}}

\newcounter{bbx:etinttrunc}
\setcounter{bbx:etinttrunc}{2}
\newtoggle{bbx:showetint}
\DeclareNameFormat{given-family-etint}{%
  \ifnumequal{\value{listcount}}{1}
    {\toggletrue{bbx:showetint}}
    {}%
  \ifboolexpr{
    test {\ifnumless{\value{listcount}}{\value{bbx:etinttrunc}+1}}
    or test {\ifnumequal{\value{listcount}}{\value{liststop}}}
    or 
      ( test {\ifnumequal{\value{listcount}}{\value{bbx:etinttrunc}+1}}
        and test {\ifnumequal{\value{liststop}}{\value{bbx:etinttrunc}+2}})
    }
    {\ifgiveninits
       {\usebibmacro{name:given-family}
          {\namepartfamily}
          {\namepartgiveni}
          {\namepartprefix}
          {\namepartsuffix}}
        {\usebibmacro{name:given-family}
          {\namepartfamily}
          {\namepartgiven}
          {\namepartprefix}
          {\namepartsuffix}}}
    {\iftoggle{bbx:showetint}
       {\usebibmacro{name:delim}{\bibstring{etint}}%
        \bibstring{etint}%
        \togglefalse{bbx:showetint}}
       {}}%
  \usebibmacro{name:andothers}}

\DeclareNameAlias{sortname}{given-family-etint}
\DeclareNameAlias{author}{given-family-etint}
\DeclareNameAlias{editor}{given-family-etint}
\DeclareNameAlias{translator}{given-family-etint}

\begin{document}
\cite{aksin,worman,sigfridsson,companion,cotton,cheshkov,dehant}
\printbibliography
\end{document}

salida de ejemplo


Si debe omitir al tercer autor en un trabajo de cuatro autores, necesita un archivo un poco más simple \DeclareNameFormat{given-family-etint}.

\DeclareNameFormat{given-family-etint}{%
  \ifnumequal{\value{listcount}}{1}
    {\toggletrue{bbx:showetint}}
    {}%
  \ifboolexpr{
    test {\ifnumless{\value{listcount}}{\value{bbx:etinttrunc}+1}}
    or test {\ifnumequal{\value{listcount}}{\value{liststop}}}}
    {\ifgiveninits
       {\usebibmacro{name:given-family}
          {\namepartfamily}
          {\namepartgiveni}
          {\namepartprefix}
          {\namepartsuffix}}
        {\usebibmacro{name:given-family}
          {\namepartfamily}
          {\namepartgiven}
          {\namepartprefix}
          {\namepartsuffix}}}
    {\iftoggle{bbx:showetint}
       {\usebibmacro{name:delim}{\bibstring{etint}}%
        \bibstring{etint}%
        \togglefalse{bbx:showetint}}
       {}}%
  \usebibmacro{name:andothers}}

Respuesta2

La fecha del autor y los estilos detallados incluidos en el biblatex-archaeologypaquete brindan una preservelastauthoropción que hace exactamente lo que usted solicita. La et Intexpresión está dirigida por el \finalnameellipsiscomando allí.

información relacionada