Como dizer ao LaTeX para remover automaticamente chaves envolventes em uma string para usar com o biblatex?

Como dizer ao LaTeX para remover automaticamente chaves envolventes em uma string para usar com o biblatex?

Estou usando o biblatex junto com um gerenciador de bibliografia Referencer. Quero usar o campo url do arquivo bib para vincular à página. No entanto, o Referencer possui URLs no formato

url = {{ http://... }}

em vez do formato usual com apenas uma chave. Os campos de URL são interpretados literalmente no biblatex e por isso recebo links { http:// ... }no pdf e consequentemente não funcionam. Como toda vez que altero o arquivo bibliográfico através do Referencer as chaves reaparecem, passar pelo arquivo bib e retirar as chaves extras não é uma solução para mim. Existe uma maneira de dizer ao LaTeX para remover automaticamente os colchetes antes de passar o resultado para \href?

Responder1

Certifique-se de estar usando biblatex 2.0+ e biber 1.0+ e coloque isto em seu preâmbulo:

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map[overwrite]{
      \step[fieldsource=url,
            match=\regexp{\A\{(.+)\}\z},
            replace=$1]
    }
  }
}

Claro que o regexp pode ser ajustado ao seu gosto. Consulte a seção 4.5.2 do biblatexmanual atual.

informação relacionada