Saltar al contenido

Usar versalitas en la bibliografía para autores institucionales

Posteriormente a indagar en varios repositorios y páginas al terminar hemos dado con la respuesta que te mostraremos pronto.

Solución:

Si todas sus citas que requieren una institución de pequeña capitalización tienen la misma etiqueta, entonces debería ser posible.

Sin embargo, en su MWE, las dos entradas no comparten un keywordasí que agregué la palabra clave instauth para comprobar

Lo que hacemos es muy simple: en cada comando de cita, y antes de cada entrada de bibliografía, verificamos si la entrada tiene la palabra clave instauthsi es así, el formato del apellido está configurado para producir acrónimos a través de biblatex‘s mkbibacro macro (tenga en cuenta que para que esto funcione “[t]El acrónimo debe escribirse en mayúsculas.”, p. 89, el biblatex documentación).

AtEveryCitekey%
  ifkeywordinstauth
    renewcommand*mkbibnamelast[1]mkbibacro#1
    %

AtEveryBibitem%
  ifkeywordinstauth
    renewcommand*mkbibnamelast[1]mkbibacro#1
    %

Una redefinición alternativa es la más corta

renewcommand*mkbibnamelast[1]%
  ifkeywordinstauth
    mkbibacro#1
    #1

donde esta el condicional en el interior la directiva de formato. Entonces no hay necesidad de enganchar el cambio en grupos donde ifkeyword se define, como era necesario anteriormente.

Incluso podemos hacer la detección de instauth automático hasta cierto punto. Con

DeclareSourcemap
  maps[datatype=bibtex]
    map[overwrite=true]
      step[fieldsource=author, match=regexp^.+?$, final]
      step[fieldset=keywords, append, fieldvalue=,instauth]
    
  

todos author campos que contienen un string entre llaves dobles se clasifican como instauth. Esto podría colapsar en algunos casos de esquina, al igual que muchas soluciones automáticas.

MWE

documentclass[a4paper]article
usepackage[american]babel
usepackagecsquotes
usepackagefilecontents
usepackage[backend=biber, style=apa, date=year, natbib=true, sorting=nyt, sortcites=true]biblatex
DeclareLanguageMappingamericanamerican-apa
addbibresourcejobname.bib
addbibresourcebiblatex-examples.bib

beginfilecontents*jobname.bib
@onlinenos_weeralarm_2009,
title = Weeralarm en verkeeralarm ingetrokken,
url = http://nos.nl/l/124074,
titleaddon = NOS.nl,
author = NOS, %THIS AUTHOR MUST BE PRINTED IN SC
urldate = 2014-02-12,
date = 2009-12-20,
keywords = gladheid, ijs, ongeluk, openbaar vervoer, schiphol, sneeuw

@reportns_volle_2013,
location = Utrecht,
title = Internal document title,
institution = NS,
type = Internal Document,
author = NS, % THIS AUTHOR MUST BE PRINTED IN SC
date = 2013,
keywords = internal,

endfilecontents*

DeclareSourcemap
  maps[datatype=bibtex]
    map[overwrite=true]
      step[fieldsource=author, match=regexp^.+?$, final]
      step[fieldset=keywords, append, fieldvalue=,instauth]
    
  


renewcommand*mkbibnamelast[1]%
  ifkeywordinstauth
    mkbibacro#1
    #1


begindocument
This is some text with a double reference citenos_weeralarm_2009, ns_volle_2013, wilde, cicero.


printbibliography[notkeyword=internal]
printbibliography[title=Internal Documents, keyword=internal]
enddocument

ingrese la descripción de la imagen aquí

Reseñas y calificaciones del tutorial

Acuérdate de que tienes autorización de explicar si tropezaste tu enigma a tiempo.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *