Formatação de bibliografia

Formatação de bibliografia

Tenho uma dúvida em relação à bibliografia. Não sou um profissional de LaTeX. Não importa para mim no momento se tenho que usar bibliografia incorporada ou bobtex. A questão é: como posso realizar a formatação necessária. Aqui está um exemplo de membro da bibliografia:

[1] Doe J.: How to format bibliography?. JohnDoe limited, Warsaw, 2015.

Como você pode ver, o nome do autor é colocado, depois vem um ponto e dois pontos. O título deve estar em itálico. Depois, depois de comas editora, cidade e ano. Eu apreciaria toda ajuda em relação a isso!

Responder1

Para conseguir o que você queria, você pode modificar outphys.bstarquivo da seguinte forma:

Primeiro, você deve substituir

FUNCTION {output.nonnull}
{ 's :=
  output.state mid.sentence =
    { ", " * write$ }
    { output.state after.quote =
    { " " * write$ }
    { output.state after.block =
        { add.period$ write$
          newline$
          "\newblock " write$
        }
        { output.state before.all =
        'write$
        { output.state after.quoted.block =
            { write$
              newline$
              "\newblock " write$
            }
            { add.period$ " " * write$ }
          if$
        }
          if$
        }
      if$
    }
      if$
      mid.sentence 'output.state :=
    }
  if$
  s
}

por (isso substituirá a vírgula após o último autor por dois pontos):

FUNCTION {output.nonnull}
{ 's :=
  output.state mid.sentence =
    { ": " * write$ } % Modified
     { output.state after.quote =
    { " " * write$ }  % between Title and journal
    { output.state after.block =
        { add.period$ write$   
          newline$
          "\newblock " write$
        }
        { output.state before.all =
        'write$
        { output.state after.quoted.block =
            { write$
              newline$
              "\newblock " write$
            }
            { add.period$ " " * write$ }
          if$
        }
          if$
        }
      if$
    }
      if$
      mid.sentence 'output.state :=
    }
  if$
  s
}

E você também deve substituir o código:

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

por (Isso mudará o formato do nome para {jj.~}{vv~}{ll}{ f}, onde: jjrepresenta o sufixo, por exemplo, Sr, vvpara von part, llpara sobrenome e fpara a primeira letra do nome):

FUNCTION {format.names}
{ 's :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr "{jj.~}{vv~}{ll}{ f}" format.name$ 't :=
      nameptr #1 >
    { namesleft #1 >
        { ", " * t * }
        { numnames #2 >
        { "," * } % { "," * }
        'skip$
          if$
          t "others" =
        { " {\em et~al.}" * }
        { string.and * t * } 
          if$

        }
      if$
    }
    't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
} 

Para fazer o título de um artigo italice retirar as aspas que o cercam é necessário substituir o código:

FUNCTION {format.title}
{ title empty$
    { "" }
    { "``" title "t" change.case$ * ",''" * }
  if$
}

FUNCTION {format.title.p}
{ title empty$
    { "" }
    { "``" title "t" change.case$ * ".''" * }
  if$
}

pelo código:

FUNCTION {format.title}
{ title empty$
    { "" }
    { "" title emphasize "t" change.case$ * "." * } % Modified
  if$
}

FUNCTION {format.title.p}
{ title empty$
    { "" }
    { "``" title "t" change.case$ * " ''." * } 
  if$
}

Para evitar que o "nome do diário" seja substituído, italicvocê deve substituí-lo

FUNCTION {format.journal}
{ journal missing$   
    { "" }
    {journal emphasize " " *
     format.volume *
     format.number *
     format.date.paren *
     format.pages.nopp *
      }
    if$
}

por

FUNCTION {format.journal}
{ journal missing$   
    { "" }
     {journal " " *  % Modified
     format.volume *
     format.number *
     format.date.paren *
     format.pages.nopp *
      }
    if$
    }

AMWE:

  \documentclass{article}
   \begin{filecontents*}{test.bib}
     @book{Albuquerque2015,
       address = {Cham},
       author = {Albuquerque, Ulysses Paulino},
       doi = {10.1007/978-3-319-06517-5},
       isbn = {978-3-319-06516-8},
       pages = {67},
       publisher = {Springer International Publishing},
       title = {{Speaking in Public About Science}},
       year = {2015}
       }
     @article{B,
      author = {AuthorA, A. and AuthorB, B. and AuthorC, C.},
      journal = {Journal of Physics},
      pages = {1233},
      title = {{Title of the paper}},
      volume = {567},
      year = {2016}
        }
  \end{filecontents*}
  \begin{document}

   ~\nocite{*}

 %Bibleography

 \bibliographystyle{utphys}
 \bibliography{test}
 \end{document}

Dá:

insira a descrição da imagem aqui

Atualizar:Para que haja um ponto após os nomes abreviados e para excluir andantes do sobrenome, você FUNCTION {format.names}deve ser substituído por:

 FUNCTION {format.names}
    { 's :=
      #1 'nameptr :=
      s num.names$ 'numnames :=
      numnames 'namesleft :=
        { namesleft #0 > }
        { s nameptr "{jj.~}{vv~}{ll}{ f.}" format.name$ 't :=
          nameptr #1 >
        { namesleft #1 >
            { ", " * t * }
            { numnames #2 >
            { ", " * } % { "," * }
            'skip$
              if$
              t "others" =
            { " {\em et~al.}" * }
            { t * } 
              if$

            }
          if$
        }
        't
          if$
          nameptr #1 + 'nameptr :=
          namesleft #1 - 'namesleft :=
        }
      while$
    }

Isso dá para o meu MWE acima: insira a descrição da imagem aqui

informação relacionada