Cómo usar comas y puntos de manera efectiva en estilo referencia/bibtex

Cómo usar comas y puntos de manera efectiva en estilo referencia/bibtex

Me gustaría utilizar el estilo de referencia del artículo como tal:

Autor,Diario Volumenpágs.23-34 (año). Enlace web

Por ejemplo:

AN Ohio, BR Gerrad y M. Forsyth,Nat. Madre. 24págs. 345-456 (2002). Referencia cruzada

Ayúdenme a cambiar el estilo del formato bibtex (.bst) para poder usar comas y puntos de manera efectiva.


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


FUNCTION {fin.entry}
 { write$
  newline$
}

FUNCTION {format.authors}
{ author empty$
    { "," }
    { author format.names }
    if$
}

FUNCTION {format.date}
{ year empty$
    'year 
    {" ("   year * ")." * }
  if$
}

FUNCTION {format.vol.num.pages}
{ volume field.or.null boldface
  number empty$
    'skip$
    { "(" number * ")" * *
      volume empty$
    { "there's a number but no volume in " cite$ * warning$ }
    'skip$
      if$
    }
  if$
  pages empty$
    'skip$
    { duplicate$ empty$
    { pop$ format.pages }
    { ", pp. " * pages n.dashify * }
      if$
    }
  if$
}

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$
}

FUNCTION {article}
{ output.bibitem
  format.authors "author" output.check
  new.block
  ", " * write$ 
  format.title "title" output.check
  new.block
  crossref missing$
    { journal emphasize "journal" output.check
      format.vol.num.pages output
      format.date "year" output.check
    }
    { format.article.crossref output.nonnull
      format.pages output
    }
  if$
  new.block
  note output
  new.block
  howpublished output 
  fin.entry
}

Utilicé acs.bst y en las secciones donde hice cambios... copié y pegué arriba. Los cambios se pueden verificar comparando estas secciones con el archivo acs.bst original. Me dio control total en coma y punto.

información relacionada