Anulación de campos en un archivo BibTeX

Anulación de campos en un archivo BibTeX

Guardo todas mis referencias en un archivo BibTeX enorme, que incluye el nombre completo de la revista de cada una. Actualmente estoy preparando un manuscrito que necesita abreviar los nombres de las revistas.

Según la investigación que he realizado (incluida la lectura de preguntas relacionadas en este sitio), parece que (i) no existe una forma automática estándar de hacer esto, pero (ii) existen varias herramientas como bibery jabrefque me permitirán pre -procesar mi .bibarchivo con una especie de búsqueda y reemplazo global para los nombres de las revistas.

Sin embargo, dado que mi manuscrito solo tiene algunas referencias, sería más fácil escribir manualmente el nuevo nombre de la revista para cada entrada. ¿Hay alguna forma de hacer esto? Estoy buscando una solución rápida y sencilla solo para LaTeX que no requiera que instale nada que no forme parte de TeX Live, ya que tengo una agenda apretada. Sé que podría editar las entradas en mi archivo .bib, pero no quiero hacerlo porque me gusta mantener todas mis referencias en el mismo lugar.

En caso de que sea relevante, mantengo mi .bibarchivo usando BibDesk en una Mac, estoy usando elnatbibpaquete, y el estilo de bibliografía es apalike.

Respuesta1

Creo que sus restricciones de no instalar nada dificultan una solución simple, por lo que sugeriré la siguiente solución basada en esta respuesta.

Cómo abreviar el nombre de la revista en una cita

  1. Descargue el jabbrvpaquete desde aquí:http://www.compholio.com/latex/jabbrv/

  2. Descarga el jabbrv_apalike.bstdesde aquí:https://github.com/amunn/random-code/blob/main/jabbrv_apalike.bst(Creé este archivo basándome en los otros .bstarchivos incluidos en el paquete).

  3. Si realmente tienes prisa, agrega el jabbrv_apalike.bstarchivo a la jabbrvcarpeta y coloca tu documento TeX en esa carpeta también. (Esta es la forma más rápida de no instalar nada).

Si desea instalar las cosas correctamente, debe instalar el paquete en su texmfcarpeta local en los siguientes lugares (deberá crear las jabbrvcarpetas usted mismo). En una Mac, el <path-to-your-local-texmf>= ~/Library/texmf.

  • Meter *.bsten<path-to-your-local-texmf>/bibtex/bst/jabbrv
  • Meter jabbrv.styen<path-to-your-local-texmf>/tex/latex/jabbrv
  • Meter *.ldfen<path-to-your-local-texmf>/tex/latex/jabbrv

En su documento TeX agregue la siguiente línea a su preámbulo:

\usepackage[warnundef]{jabbrv}

Y cambia tu comando de estilo de bibliografía:

 \bibliographystyle{jabbrv_apalike}

Verifique las advertencias para ver si hay palabras que no hayan sido abreviadas y, para esas palabras, agregue líneas como las siguientes a su preámbulo:

\DefineJournalAbbreviation{long name}{abbreviation} % No period at the end

Me tomó más tiempo escribir esta respuesta que conseguir que un documento mío existente funcione con este paquete.

Respuesta2

Una forma de normalizar los nombres de las revistas (y de las editoriales) es utilizar la @Stringfunción en su .bibarchivo. Por ejemplo,

@String{j-CACM = "Communications of the ACM"}

te daría el nombre completo, mientras

@String{j-CACM = "Comm. ACM"}

se sustituiría cuando se necesitaran abreviaturas.

la entrada específica incluiría entonces

@Article{...,
  ...
  journal = j-CACM,
  ...,
}

(sin comillas). Si fuera necesario, podrían sustituirse colecciones paralelas de títulos completos o abreviaturas. esto también evita posibles problemas de escritura inconsistente de nombres en las entradas individuales.

Este enfoque, junto con mucha otra información sobre el mantenimiento de las bases de datos bibtex, fue presentado por Nelson Beebe en la conferencia Practical Tex de 2004 y dio como resultadoun extenso artículo sobre el tema.. (Nelson sabe más y tiene más experiencia con las bibliografías de Bibtex que cualquier otra persona que conozca. Sus recomendaciones son sólidas y vale la pena examinarlas).

información relacionada