Formatierung der Bibliografie

Formatierung der Bibliografie

Ich habe eine Frage zur Bibliographie. Ich bin kein LaTeX-Profi. Ob ich eine eingebettete Bibliographie oder Bobtex verwenden muss, ist mir momentan egal. Die Frage ist, wie ich die Formatierung erreichen kann, die ich brauche. Hier ist ein Beispiel für ein Bibliographieelement:

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

Wie Sie sehen, wird der Name des Autors so platziert, dass ein Punkt und ein Doppelpunkt folgen. Der Titel sollte kursiv sein. Nach dem Komma folgen dann Verlag, Stadt und Jahr. Ich wäre für jede Hilfe diesbezüglich dankbar!

Antwort1

Um das gewünschte Ergebnis zu erzielen, können Sie dieutphys.bstDatei wie folgt:

Zuerst müssen Sie ersetzen

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
}

von (dadurch wird das Komma nach dem letzten Autor durch einen Doppelpunkt ersetzt):

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
}

Und Sie sollten auch den Code ersetzen:

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

von (Dadurch wird das Namensformat in geändert {jj.~}{vv~}{ll}{ f}, wobei: jjfür das Suffix zB Sr, vvfür von-Teil, llfür Nachnamen und ffür den ersten Buchstaben des Vornamens steht):

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

Um den Titel eines Artikels zu erstellen italicund die ihn umgebenden Anführungszeichen zu entfernen, müssen Sie den Code ersetzen:

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

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

durch den Code:

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

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

Um zu verhindern, dass der "Journalname" ersetzt wird, italicmüssen Sie

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

von

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}

Es gibt:

Bildbeschreibung hier eingeben

Aktualisieren:Um einen Punkt nach den Kurznamen zu haben und andvor dem Nachnamen zu löschen FUNCTION {format.names}, muss dieser stattdessen ersetzt werden durch:

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

Dies ergibt für mein obiges MWE: Bildbeschreibung hier eingeben

verwandte Informationen