Beibehaltung der gesamten Kapitalisierung in BibTeX [geschlossen]

76

Ich habe eine riesige .bib-Datei, die automatisch aus Papers for Mac generiert wird, und die gesamte Groß- und Kleinschreibung in der .bib ist bereits so, wie ich es möchte, aber es gibt keine {} Klammern in Wörtern wie RNA.

Gibt es eine Möglichkeit, BibTeX zu zwingen, die Großschreibung beizubehalten, anstatt einige Wörter in Kleinbuchstaben umzuwandeln?

Sal
quelle
31
Dies sollte nach tex.stackexchange.com verschoben und nicht geschlossen werden.
Charles Stewart

Antworten:

46

Ich stimme Killian zu, dass es das Richtige ist, {} s zu setzen, um die Kapitalisierung zu erhalten, aber ich empfehle dies nicht immer, da das Verhalten in einigen Kontexten falsch und nicht automatisierbar ist , sondern das Richtige bei Bibtex Mach Folgendes:

  1. Fügen Sie Buch- und Artikeltitel in die Groß- und Kleinschreibung ein (dh schreiben Sie alle wichtigen Wörter [ 1] groß , aber schützen Sie sie noch nicht).
  2. Schützen Sie die Hauptstädte aller Eigennamen, z From {B}rouwer to {H}ilbert.
  3. Schützen Sie die Hauptstädte aller technischen Akronyme, z The definition of {S}tandard {ML}. und
  4. Schützen Sie das Anfangswort eines Untertitels, z {W}ittgenstein's Poker: {T}he story of a ten-minute argument.

Schützen Sie keine Kleinbuchstaben: Dies verhindert, dass Bibtex die Zeichenfolge in Großbuchstaben umwandelt, was für einige obskure bibliografische Stile erforderlich ist.

Wenn Sie eine Rechtschreibprüfung verwendet haben, enthält der Inhalt der Datenbank mit etwas Glück fast das gesamte Material, das Sie für eine ordnungsgemäße Großschreibung benötigen: Informationen zur Rechtschreibprüfung, welche Wörter Großbuchstaben sind und welche werden als Eigennamen großgeschrieben. Wenn Sie Wörter programmgesteuert damit abgleichen können, können Sie Ihre Bibtex-Datenbank mit mehr als ein wenig Arbeit automatisch generieren, aber es ist möglicherweise ein zweistündiges Projekt.

Mühsam kann Bibtex nicht verwendet werden, um alle Bibliografien richtig zu machen, da verschiedene Zitierstile tatsächlich unterschiedliche Listen nicht signifikanter Wörter enthalten. In der Praxis kümmert sich jedoch kaum jemand um die Unterschiede, so dass eine Standardliste nicht großgeschriebener Wörter erstellt werden kann.

[ 1] - Bedeutende Wörter: "a", alle aus zwei Buchstaben bestehenden tatsächlichen Wörter, "the", "und", "some", alle Ein-Wort-Präpositionen und alle Ein-Wort-Pronomen wären eine akzeptable Liste von nicht signifikanten Wörtern Worte, denke ich, an fast alle Verlage.

Charles Stewart
quelle
20

Wenn Sie lieber den Bibtex-Stil ( .bst) als die Bibliographie ( .bib) bearbeiten möchten , können Sie nach Vorkommen darin suchen change.case$. Dies ist die Funktion, mit der Felder großgeschrieben oder betitelt werden, bei denen es sich nicht um Personennamen handelt.

Normalerweise sollten Sie für das Titelfeld so etwas wie finden title "t" change.case$. Da der Titel unverändert bleiben soll, ersetzen Sie ihn durch einfach title.

Damien Pollet
quelle
2
Dies ist in der Tat das Richtige, um .bst-Dateien im Allgemeinen zu entfernen. Es ist nicht klar, warum die verteilten .bst-Dateien diesen Fehler aufweisen.
vy32
3
Es gibt so viele Diskussionen darüber, aber die Neudefinition des Verhaltens in .bst ist die einfachste und eleganteste Lösung.
Hatmatrix
1
Dies ist in der Tat eine intelligentere Methode als das Hinzufügen von geschweiften Armbändern {} für jeden einzelnen vergangenen und zukünftigen Artikel. Es sollte ein einfaches Flag oder eine Option geben, um dies zu setzen.
dbdq
8

In diesem Fall sollten Sie einfach {} um jeden gesamten Titel hinzufügen, was den gleichen Effekt hat und einfach automatisch durchzuführen sein sollte.

Kilian Foth
quelle
2
Dies funktioniert, führt aber nicht immer zu dem gewünschten Verhalten: stackoverflow.com/questions/1897728/…
Charles Stewart
2

Ich bekam das gleiche Problem mit einem Titel wie:

title = {blah blah AB blah AB blah}

sich herausstellen als:

"blah blah ab blah ab blah"

Auf Vorschlag von Charles Stewart änderte ich meinen Titel in:

title = {blah blah {A}{B} blah {A}{B} blah}

Jetzt fällt mein Titel richtig aus: blah blah AB blah AB blah

Hoffe das hilft.

Jrop
quelle
1

Eine Alternative zur Verwendung von {geschweiften Klammern} ist folgende: -

  1. Überprüfen Sie Ihren Stammordner auf .bbl-Dateien, wobei .bbl Ihre BiBteX-Datenbank ist, nachdem Sie pdflatex zum ersten Mal ausgeführt haben, und führen Sie dann bibtex in Ihrer BiBteX-Datenbank file.bbl aus.

  2. Öffnen Sie diese * .bbl-Datei in einem Editor Ihrer Wahl.

  3. Die Datei würde folgendermaßen aussehen:  

    \begin{thebibliography}{10}
    
    \expandafter\ifx\csname url\endcsname
    
    \relax
    \def\url#1{\texttt{#1}}
    
    \fi
    \expandafter\ifx\csname urlprefix\endcsname
    
    \relax\def\urlprefix{URL }
    
     \fi
    
    \bibitem{label}.....
    
  4. Bearbeiten Sie diese * .bbl-Datei, um Ihre Anforderungen zu erfüllen, und führen Sie jetzt den Befehl pdflatex für Ihre .tex-Datei aus. Dies sollte Ihnen das gewünschte Ergebnis liefern.

  5. Mit dieser Methode können Sie die Bibliographie auf beliebige Weise bearbeiten. Sie können sogar Namen mit Akzentzeichen hinzufügen.

Sujay K.
quelle