Anzeige:
Ergebnis 1 bis 3 von 3

Thema: Biblatex: MakeSentenceCase funktioniert nicht

  1. #1
    Registrierter Benutzer
    Registriert seit
    03.01.2006
    Beiträge
    62

    Biblatex: MakeSentenceCase funktioniert nicht

    Guten Tag,

    ich habe mein Anliegen schon in einem Nachbarthread gepostet, aber leider keine Antwort bekommen. Deshalb probiere ich es hier nochmals.
    Für meine wissenschaftliche Arbeit will ich im Literaturverzeichnis alle Titel von Artikeln im sogenannten "Sentence Case" ausgeben lassen, d.h. das erste Wort hat einen großen Anfangsbuchstaben, alle folgenden Wörter erscheinen durchgängig in Kleinbuchstaben. In Biblatex gibt es dafür den Befehl \MakeSentenceCase.
    Wenn ich diesen Befehl aber in der Präambel meines Dokumentes verwende, gibt mir Latex eine Fehlermeldung aus.

    Minimalbeispiel:
    Code:
    \begin{filecontents}{testbib.bib} 
    @Article{Arogeti2010,
      author   = {S. A. Arogeti and D. Wang and C. B. Low},
      title    = {Mode Identification of Hybrid Systems in the Presence of Fault},
      journal  = {IEEE Transactions on Industrial Electronics},
      year     = {2010},
      volume   = {57},
      number   = {4},
      month    = {April},
      pages    = {1452-1467}
    }   
    \end{filecontents}
    
    \documentclass{scrbook}
    \usepackage{scrlayer-scrpage}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[english]{babel}
    
    \usepackage[backend=biber]{biblatex}
    \addbibresource{testbib.bib}
    
    \DeclareFieldFormat[article]{title}{\MakeSentenceCase{#1}}
    
    \begin{document}
    \MakeSentenceCase{This Is A Test For Sentence Case.}
    
    \nocite{*}
    \printbibliography
    \end{document}
    Fehlermeldung:
    Code:
    Zeile 30    Missing \endcsname inserted. \end
    Zeile 30    Missing \endcsname inserted. \end
    Außerdem wird der Befehl ignoriert, also der Titel wie in der Bib-Datei angegeben angezeigt.
    Im Dokument selbst funktioniert der Befehl \MakeSentenceCase erstaunlicherweise. Es kann also nicht daran liegen, dass Latex den Befehl nicht kennt.
    Ich verwende Miktex 2.9, TexStudio, pdftex, Biblatex 3.4, Biber 2.5. (Habe es aber auch schon mit Biblatex 3.7 und Biber 2.7 getestet.)

    Wenn ich bei \DeclareFieldFormat das optionale Argument [article] weglasse, bekomme ich keine Fehlermeldung, aber der Sentence Case wird trotzdem ignoriert. Der Titel erscheint so, wie in der Bib-Datei angegeben.

    Könntet ihr das Minimalbeispiel mal kompilieren und gucken, ob das bei euch funktioniert oder welche Fehlermeldung bei euch erscheint? Ich wäre sehr dankbar.

    Mit freundlichen Grüßen
    Sebastian

  2. #2
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Das title-Feld ist in Wirklichkeit kein einfaches Feld, sondern erhält ein relativ kompliziertes Argument. Du musst titlecase ändern:

    \DeclareFieldFormat[article]{titlecase}{\MakeSentenceCase{#1}}

    N.B: Solche Fragen sollte man eher auf tex.sx oder golatex stellen.

  3. #3
    Registrierter Benutzer
    Registriert seit
    03.01.2006
    Beiträge
    62
    Hallo Ulrike,

    danke für deine Antwort. Der Befehl "titlecase" hilft mir leider nicht weiter, weil dann auch der Journal-Titel im Sentence Case ausgegeben wird, d.h. es erscheint "Ieee transactions on industrial electronics". Das will ich natürlich nicht so haben.

    Ich habe auf deinen Rat hin einen Faden bei golatex.de erstellt. Vielleicht können wir dort weiter diskutieren.

    Gruß
    Sebastian

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •