biblatex: Groß- und Kleinschreibung in inproceedings/booktitle beibehalten

biblatex: Groß- und Kleinschreibung in inproceedings/booktitle beibehalten

Ich verwende Biblatex-APA/Biber mit LyX und einer Bibtex-Datei, die aus Mendeley erstellt wurde. Ich kann problemlos Bibliographien erstellen, möchte aber den Referenzstil für inproceedings/booktitle ändern. Im Moment sehen meine Referenzen so aus:

Cole, R., Purao, S., Rossi, M. & Sein, M. (2005). Being proactive: Where action research meets design research. In Proceedings of the 26th international conference on information systems.

Aus meiner Bibtex-Datei:

@inproceedings{Cole2005,
   author = {Cole, Robert and Purao, Sandeep and Rossi, Matti and Sein, Maung},
   booktitle = {Proceedings of the 26th International Conference on Information Systems},
   title = {{Being proactive: Where action research meets design research}},
   year = {2005}
}

Jetzt möchte ich die Groß- und Kleinschreibung für meine Inproceedings/Buchtitel beibehalten, um Folgendes zu erhalten:

Cole, R., Purao, S., Rossi, M. & Sein, M. (2005). Being proactive: Where action
research meets design research. In Proceedings of the 26th International Conference
on Information Systems.

Ich habe mit Folgendem experimentiert, aber ohne Erfolg.

\DeclareFieldFormat[inproceedings]{booktitle}{#1}

Irgendwelche Vorschläge?

Antwort1

Aus der Bibliographie-Stil-Datei apa.bbx,

\DeclareFieldFormat[inproceedings]{booktitle}{#1}

funktioniert nicht, da das booktitleFeld mit gesetzt ist \printfield[apacase]{booktitle}, wobei die apacaseFormatierungsanweisung wie folgt definiert ist:

\DeclareFieldFormat{apacase}{\MakeSentenceCase*{#1}}

Um die Groß- und Kleinschreibung des Quelltexts für das booktitleFeld im @inproceedingsEintragstyp beizubehalten, können Sie das booktitleBibliographiemakro oder die apacaseDirektive in Ihrer Dokumentpräambel neu definieren. Ein Beispiel für den letzteren Ansatz ist:

\DeclareFieldFormat{apacase}{%
  \ifboolexpr{ test {\ifentrytype{inproceedings}}
    and ( test {\ifcurrentfield{booktitle}}
          or test {\ifcurrentfield{booksubtitle}} ) }
    {#1}{\MakeSentenceCase*{#1}}}

Um Groß- und Kleinschreibung in allen Titeln außer dem Originaltitel ( origtitle) und Titelzusätzen zu vermeiden, verwenden Sie

\DeclareFieldFormat{apacase}{#1}

stattdessen. Da biblatex-apanur auf der mit Sternchen versehenen Variante basiert, \MakeSentenceCase*können Sie die Groß- und Kleinschreibung von Sätzen vermeiden, indem Sie sie der Präambel hinzufügen und das Feld in Ihrer Datei \DeclareCaseLangs{}verwenden .hyphenationbib

Beachten Sie, dass Sie über das Feld verhindern können, dass bestimmte Wörter in Kleinbuchstaben geschrieben werden subtitle. Beispiel:

   title = {Being proactive},
   subtitle = {Where action research meets design research},

Antwort2

Man kann die Groß- und Kleinschreibung beibehalten, indem man den Buchstaben der Frage einfach in geschweifte Klammern setzt.

@inproceedings{Cole2005,
   author = {Cole, Robert and Purao, Sandeep and Rossi, Matti and Sein, Maung},
   booktitle = {{Proceedings} of the 26th {International} {Conference} on {Information} {Systems}},
   title = {{Being proactive: Where action research meets design research}},
   year = {2005}
}

erledigt die Aufgabe. Aber meistens ist es viel einfacher, die ganze Zeile in geschweifte Klammern zu setzen, so wie es mit dem Titel gemacht wird.

Antwort3

Da ich nach einer zumindest für mich bequemen Lösung suchte, schrieb ich ein kleines Python-Skript, das meine von Mendeley erstellte lokale Bib-Datei analysiert. Dieses Skript setzt Buchtitel in zwei geschweifte Klammern.

import re
import fileinput

library = 'path/to/file'

import re

def re_sub_verbose(pattern, replace, string):
  def substitute(match):
    return match.expand(replace)

  result = re.sub(pattern, substitute, string)

  return result

for line in fileinput.input(library, inplace=1):
    print re_sub_verbose("booktitle = \{(.*)\},", "booktitle = {{\\1}},", line)

verwandte Informationen