
Existe uma maneira de substituir automaticamente as abreviações padrão IEEE usando biblatex + biber
(uma vez fornecida uma lista das abreviações de alguma forma)?
Por exemplo:
"Registro de Conferência Conferência Internacional IEEE sobre Comunicação"
Deve se tornar
"Conf. Rec. 1995 IEEE Int. Conf. Commun."
Responder1
Não gosto muito do estilo IEEE, mas acho que entendi sua configuração geral e vou tentar.
Suponho que você esteja usando o estilo biblatex
de ieee
, mas o carregamento IEEEabrv.bib
é fornecido por IEEEtran
(embora eu não tenha encontrado lá o "Conference Record IEEE International Conference on Communication", então uso aqui uma entrada de IEEEexample.bib
).
Vejo duas maneiras de substituir as abreviações padrão IEEE fornecidas em IEEEabrv.bib
. A primeira é você criar um segundo arquivo de strings de abreviaturas e carregá-lodepois IEEEabrv.bib
. A segunda é usar biblatex
's \DeclareSourcemap
para alterar os dados da sua entrada.
O primeiro seria assim:
\documentclass{article}
\usepackage[style = ieee]{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{IEEEexample:article_typical,
author = "S. Zhang and C. Zhu and J. K. O. Sin and P. K. T. Mok",
title = "A Novel Ultrathin Elevated Channel Low-temperature
Poly-{Si} {TFT}",
journal = IEEE_J_EDL,
volume = "20",
month = nov,
year = "1999",
pages = "569-571"
}
\end{filecontents*}
\addbibresource{IEEEabrv.bib}
\addbibresource{myIEEEabrv.bib}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
Onde myIEEEabrv.bib
contém as redefinições das strings abreviadas que você deseja. Neste caso, algo como:
@STRING{IEEE_J_EDL = "{IEEE} Elec. Dev. Lett."}
(A string definida em IEEEabrv.bib
é {IEEE} Electron Device Lett.
). Observe que ele deve ser carregado depois do IEEEabrv.bib
.
Se eu interpretei mal sua pergunta e o que você realmente deseja é fornecer alguns títulos de periódicos abreviados de sua preferência, esse método também oferece uma abordagem sensata. Você pode criar um arquivo abbrev.bib
, definir as strings desejadas e adicioná-lo com \addbibresource
. Então no seu .bib
arquivo de referências você usa a stringnome(ou seja, sem colchetes, como no exemplo acima) no campo journaltitle
/ journal
. Você poderia ter então:
@string{IEEEIntConfCom = "Conf. Rec. 1995 {IEEE} Int. Conf. Commun."}
e então você usaria em seu bibfile:
journaltitle = IEEEIntConfCom,
Normalmente, essa abordagem implica também ter um segundo arquivo onde as strings completas são definidas, digamos full.bib
. Nele você teria:
@string{IEEEIntConfCom = "Conference Record {IEEE} International Conference on Communication"}
Com ele, tudo o que você precisa fazer para mudar de periódicos abreviados para títulos completos de periódicos é substituí-los \addbibresource{abbrev.bib}
por \addbibresource{full.bib}
em seu .tex
arquivo principal.
A segunda abordagem, conforme mencionado, seria usar \DeclareSourcemap
:
\documentclass{article}
\usepackage[style = ieee]{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{IEEEexample:article_typical,
author = "S. Zhang and C. Zhu and J. K. O. Sin and P. K. T. Mok",
title = "A Novel Ultrathin Elevated Channel Low-temperature
Poly-{Si} {TFT}",
journal = IEEE_J_EDL,
volume = "20",
month = nov,
year = "1999",
pages = "569-571"
}
\end{filecontents*}
\addbibresource{IEEEabrv.bib}
\addbibresource{\jobname.bib}
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldsource=journal,
match={{IEEE} Electron Device Lett.},
replace={{IEEE} Elec. Dev. Lett.}]
}
}
}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
Observe que match
é para a forma abreviada padrão definida IEEEabrv.bib
e não para o nome da string.
Obs.: Tive alguns problemas com IEEEabrv.bib
a codificação do '. Então para que isso funcionasse, precisei salvá-lo em UTF-8 para rodar. Mas suponho que, uma vez que você parece já estar usando essas abreviações, você de alguma forma conseguiu lidar com isso.