Substituindo campos em um arquivo BibTeX

Substituindo campos em um arquivo BibTeX

Eu mantenho todas as minhas referências em um enorme arquivo BibTeX, que inclui o nome completo do diário de cada uma. Atualmente estou preparando um manuscrito que precisa que os nomes dos periódicos sejam abreviados.

Pela pesquisa que fiz (incluindo a leitura de perguntas relacionadas neste site), parece que (i) não existe uma maneira automática padrão de fazer isso, mas (ii) existem várias ferramentas, como bibere jabrefque me permitirão pré- -processar meu .bibarquivo com uma espécie de pesquisa e substituição global para os nomes dos periódicos.

No entanto, como meu manuscrito tem apenas algumas referências, seria mais fácil digitar manualmente o novo nome do periódico para cada entrada. Existe uma maneira de fazer isso? Estou procurando uma solução rápida e suja apenas em LaTeX que não exija que eu instale nada que ainda não faça parte do TeX Live, já que estou com uma agenda apertada. Eu sei que poderia simplesmente editar as entradas do meu arquivo .bib, mas não quero fazer isso porque gosto de manter todas as minhas referências no mesmo lugar.

Caso seja relevante, mantenho meu .bibarquivo usando BibDesk em um Mac, estou usando onatbibpacote, e o estilo da bibliografia é apalike.

Responder1

Acho que suas restrições de não instalar nada dificultam uma solução simples, por isso vou sugerir a seguinte solução com base nesta resposta.

Como abreviar o nome do periódico na citação

  1. Baixe o jabbrvpacote aqui:http://www.compholio.com/latex/jabbrv/

  2. Baixe jabbrv_apalike.bstaqui:https://github.com/amunn/random-code/blob/main/jabbrv_apalike.bst(Eu criei este arquivo com base nos outros .bstarquivos incluídos no pacote.)

  3. Se você estiver com muita pressa, adicione o jabbrv_apalike.bstarquivo à jabbrvpasta e coloque seu documento TeX nessa pasta também. (Esta é a maneira mais rápida de não instalar nada).

Se quiser instalar as coisas corretamente, você deve instalar o pacote em sua texmfpasta local nos seguintes locais (você mesmo precisará criar as jabbrvpastas). Em um Mac, o <path-to-your-local-texmf>= ~/Library/texmf.

  • Coloque *.bstem<path-to-your-local-texmf>/bibtex/bst/jabbrv
  • Coloque jabbrv.styem<path-to-your-local-texmf>/tex/latex/jabbrv
  • Coloque *.ldfem<path-to-your-local-texmf>/tex/latex/jabbrv

No seu documento TeX adicione a seguinte linha ao seu preâmbulo:

\usepackage[warnundef]{jabbrv}

E mude o comando de estilo da bibliografia:

 \bibliographystyle{jabbrv_apalike}

Verifique os avisos para quaisquer palavras que não foram abreviadas e, para essas palavras, adicione linhas como as seguintes ao seu preâmbulo:

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

Levei mais tempo para escrever esta resposta do que para fazer com que um documento meu existente funcionasse com este pacote.

Responder2

uma abordagem para normalizar nomes de periódicos (e editores) é usar a @Stringfunção em seu .bibarquivo. por exemplo,

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

lhe daria o nome completo, enquanto

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

seria substituído quando abreviaturas são necessárias.

a entrada específica incluiria então

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

(sem aspas). coleções paralelas de títulos completos ou abreviações poderiam então ser substituídas conforme necessário. isso também evita possíveis problemas de digitação inconsistente de nomes nas entradas individuais.

esta abordagem, juntamente com muitas outras informações sobre a manutenção de bancos de dados bibtex, foi apresentada por nelson beebe na conferência prática tex de 2004 e resultou emum extenso artigo sobre o tema. (nelson sabe mais e tem mais experiência com bibliografias bibtex do que qualquer outra pessoa que conheço. suas recomendações são sólidas e vale a pena examinar.)

informação relacionada