Problema BibTex com vários nomes no campo autor apesar de usar "e"

Problema BibTex com vários nomes no campo autor apesar de usar "e"

Sou novo no StackExchange!

Eu tenho este documento:

\documentclass[a4paper,12pt,oneside,italian]{book}
\usepackage[utf8]{inputenc}
\usepackage{url}

\begin{document}

Questa è una citazione \cite{Citation}.

\bibliographystyle{plain}
\bibliography{biblio}
\end{document}

E esta bibliografia:

@misc{Citation,
author = "Daniele Vietri and Francesca Castelli",
title = "M-commerce in Italia",
howpublished = {\url{http://www.dblog.it/ecommerce/}},
year = {2012},
note = {[accesso: Marzo 2013]}
}

Por que obtenho a seguinte saída? Isso está me deixando louco...

insira a descrição da imagem aqui

Eu gostaria de ter uma vírgula no lugar de "e".

E por que a primeira letra da palavra "Itália" no título fica minúscula?

Responder1

Você está especificando

\bibliographystyle{plain}

que por sua vez especifica que as listas de nomes devem ser formatadas por este trecho de código legível:

FUNCTION {format.names}
{ 's :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
      nameptr #1 >
        { namesleft #1 >
            { ", " * t * }
            { numnames #2 >
                { "," * }
                'skip$
              if$
              t "others" =
                { " et~al." * }
                { " and " * t * }
              if$
            }
          if$
        }
        't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
}

em algum lugar no meio disso você verá que adiciona ,ou andou et aldependendo do número de nomes restantes na lista.

Você poderia mexer nisso, embora não deva alterar o arquivo padrão ou, mais facilmente, encontrar outro estilo bibtex que faça o que você deseja. (talvez use o makebstpacote para fazer um). Você precisa decidir o que deseja fazer para listas de comprimento 0,1,2,3 e mais que N para algum N.

Você a, bnão quer a and b, mas o que você quer para uma lista de três, as escolhas normais são ou a, b, and cou a, b and cmas talvez você queira a, b, c(se você quiser, basta alterar anduma cópia do item acima para ,eu acho.

Responder2

Minha resposta é baseada em umpergunta e resposta anterior, e usa em sua essência o biblatexpacote (que fornece um substituto poderoso para a dupla clássica LaTeX e bibTeX).

\documentclass[a4paper,12pt,oneside,italian]{article}
\usepackage[utf8]{inputenc}
\usepackage{biblatex}
\usepackage{hyperref}

\addbibresource{biblio}
\renewcommand*{\finalnamedelim}{\addcomma\space}

\begin{document}

Questa è una citazione \cite{Citation}.

\printbibliography

\end{document}

Coisas adicionais. Juntamente com os pacotes babele csquotesvocê deverá obter um suporte decente para as convenções italianas. Por exemplo, se você comentar a linha onde redefinimos o \finalnamedelimcomando, obterá o “e” italiano no lugar do “e” inglês. Além disso, o comando \printbibliographyimprime automaticamente um título para a bibliografia que depende do idioma, neste caso "Riferimenti bibliograci", mas você pode fornecer o argumento [heading={text}]para escolher o que precisar.

Além disso, usei o hyperrefpacote em vez do urlpacote, porque ele cria hiperlinks reais (acho que carrega o urlpacote automaticamente).

Responder3

Existe uma boa razão para querer a, bem vez de a and b(qual é o padrão)?

Nesse caso, você deve encontrar um estilo que faça isso ou criar um como David Carlise diz, embora deva haver uma boa razão para fazer isso (e não apenas "Eu simplesmente gosto desse jeito"). As coisas no LaTeX são feitas por um bom motivo, na maioria das vezes seguindo o que os padrões determinam.

Alguns comentários sobre sua entrada de peito:

  • Os autores devem ser escritos Lastname, Names, ou seja:

    author = {Vietri, Daniele and Castelli, Francesca and Mozart, Wolfgang Amadeus}

  • Dependendo do estilo, ele gerenciará os títulos de diferentes maneiras (ou seja, colocando todas as letras em maiúscula, a primeira letra de uma palavra, etc.). Você deve escrever os títulos de maneira consistente. Se você sabe que alguma palavra deve ter alguma letra maiúscula (como Itália, IEEE, etc), você pode forçá-la assim:

    title = {M-commerce in {I}talia},

informação relacionada