Estou usando Biblatex-APA/Biber com LyX e um arquivo Bibtex produzido a partir do Mendeley. Posso produzir bibliografias sem problemas, mas gostaria de alterar o estilo de referência para inproceedings/booktitle. No momento, minhas referências são:
Cole, R., Purao, S., Rossi, M. & Sein, M. (2005). Being proactive: Where action research meets design research. In Proceedings of the 26th international conference on information systems.
Do meu arquivo Bibtex:
@inproceedings{Cole2005,
author = {Cole, Robert and Purao, Sandeep and Rossi, Matti and Sein, Maung},
booktitle = {Proceedings of the 26th International Conference on Information Systems},
title = {{Being proactive: Where action research meets design research}},
year = {2005}
}
Agora quero preservar a capitalização dos meus procedimentos/título do livro para obter isto:
Cole, R., Purao, S., Rossi, M. & Sein, M. (2005). Being proactive: Where action
research meets design research. In Proceedings of the 26th International Conference
on Information Systems.
Eu experimentei o seguinte, mas não tive sucesso.
\DeclareFieldFormat[inproceedings]{booktitle}{#1}
Alguma sugestão?
Responder1
No arquivo de estilo de bibliografia apa.bbx
,
\DeclareFieldFormat[inproceedings]{booktitle}{#1}
não funciona porque o booktitle
campo está definido com \printfield[apacase]{booktitle}
, onde a apacase
diretiva de formatação é definida como
\DeclareFieldFormat{apacase}{\MakeSentenceCase*{#1}}
Para preservar a capitalização de origem do booktitle
campo no @inproceedings
tipo de entrada, você pode redefinir a booktitle
macro bibliográfica ou a apacase
diretiva no preâmbulo do documento. Um exemplo desta última abordagem é:
\DeclareFieldFormat{apacase}{%
\ifboolexpr{ test {\ifentrytype{inproceedings}}
and ( test {\ifcurrentfield{booktitle}}
or test {\ifcurrentfield{booksubtitle}} ) }
{#1}{\MakeSentenceCase*{#1}}}
Para evitar maiúsculas e minúsculas em todos os títulos, exceto os originais ( origtitle
) e complementos de título, use
\DeclareFieldFormat{apacase}{#1}
em vez de. Como biblatex-apa
depende apenas da variante com estrela, \MakeSentenceCase*
você pode evitar todas as letras maiúsculas e minúsculas adicionando \DeclareCaseLangs{}
ao preâmbulo e usando o hyphenation
campo em seu bib
arquivo.
Observe que você pode evitar proteger algumas palavras contra minúsculas por meio do subtitle
campo. Por exemplo:
title = {Being proactive},
subtitle = {Where action research meets design research},
Responder2
Pode-se preservar a capitalização específica simplesmente colocando a letra da pergunta entre chaves. Então
@inproceedings{Cole2005,
author = {Cole, Robert and Purao, Sandeep and Rossi, Matti and Sein, Maung},
booktitle = {{Proceedings} of the 26th {International} {Conference} on {Information} {Systems}},
title = {{Being proactive: Where action research meets design research}},
year = {2005}
}
fará o trabalho. Mas na maioria das vezes é muito mais fácil colocar a linha inteira entre chaves, assim como é feito com o título.
Responder3
Como estava procurando uma solução conveniente, pelo menos para mim, escrevi um pequeno script Python que analisa meu arquivo bib local produzido pelo Mendeley. Este script coloca os títulos dos livros entre duas chaves.
import re
import fileinput
library = 'path/to/file'
import re
def re_sub_verbose(pattern, replace, string):
def substitute(match):
return match.expand(replace)
result = re.sub(pattern, substitute, string)
return result
for line in fileinput.input(library, inplace=1):
print re_sub_verbose("booktitle = \{(.*)\},", "booktitle = {{\\1}},", line)