Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Biblatex, Capitalization of Titles

  1. #1
    Registrierter Benutzer
    Registriert seit
    02.06.2010
    Beiträge
    39

    Smile Biblatex, Capitalization of Titles

    Hallo,

    ich habe folgendes Problem. Ich benutze mit mehreren Usern die gleichen Bibtex Datenbank, und verwalte diese mit dem Programm JabRef. Es sind vornehmlich englische "Article" in der Datenbank.

    Nun wollen verschiedene User (verwenden Biblatex) unterschiedliche Zitierstile verwenden. Z.b. möchte einer der User, dass die Worte der Titel der "Article" alle mit einem Großbuchstaben beginnen. So ist es in verschiedenen wissenschaftlichen Zeitungen üblich. Andere möchten, dass jeweils nur der erste Buchstabe des gesamten Titels groß geschrieben wird.

    Meine Frage nun: Wie müssen die Einträge in der Datenbank formatiert sein, damit beide Usergruppen über Befehle ihres Latex/Lyx-Dokuments die gewünschte Zitationsweise erhalten? Weiter frage ich mich, welche Befehle, dass wohl sein könnten?

    Vielleicht hat jemand von euch einen Hinweis.

  2. #2
    Registrierter Benutzer
    Registriert seit
    17.05.2008
    Ort
    Bremen
    Beiträge
    479
    Ohne genau zu wissen ob das so funktioniert oder nicht:

    Es gibt in BibLaTeX das Makro \MakeSentenceCase*{Text}, das Text im Sentence-Stil der benutzten Sprache setzt. Man könnte jetzt evtl in der Bib-Datei alle Titel folgendermaßen aufbauen:

    Code:
    \MakeSentenceCase*{This is a Title with Exactly one {Proper Name} in it}
    Bei normaler Benutzung wird nur alles, was in den geschweiften Klammern steht so gelassen wie es ist. Ergibt: "This is a title with exactly one Proper Name in it".

    Für die Leute, die alles groß haben wollen, müsste man dann in der TEX Datei das Makro umdefinieren, und da weiß ich nich genau, wie das elegant geht. Ich weiß gar nicht, ob es in LaTeX ein Kommando á la "lass alles wie es ist" gibt. Falls man das irgendwie hinkriegt, dass \MakeSentenceCase*{} mit einer kleiner Umdefinition ignoriert wird, sollte diese Methode funktionieren.

    Aber vielleicht hat ja jemand noch 'ne viel bessere Idee.

  3. #3
    Registrierter Benutzer
    Registriert seit
    31.01.2006
    Beiträge
    82
    Du kannst die Formatierung bestimmter Felder über \DeclareFieldFormat beeinflussen. In deinem Fall müsste das, ohne Gewähr und in der Annahme, das das obige Makro funktioniert, dann etwa so aussehen:

    Code:
    \DeclareFieldFormat[article]{title}{\MakeSentenceCase{#1}}
    Damit müsste das erste Wort mit Großbuchstaben, die andere klein erscheinen.
    Bin mir gerade nicht sicher, ob man auch titlecase nehmen kann, jedenfalls lohnt ein Blick unter http://tex.stackexchange.com/questio...biblatex-biber

  4. #4
    Registrierter Benutzer
    Registriert seit
    17.05.2008
    Ort
    Bremen
    Beiträge
    479
    Zitat Zitat von sensemann Beitrag anzeigen
    Du kannst die Formatierung bestimmter Felder über \DeclareFieldFormat beeinflussen. In deinem Fall müsste das, ohne Gewähr und in der Annahme, das das obige Makro funktioniert, dann etwa so aussehen:

    Code:
    \DeclareFieldFormat[article]{title}{\MakeSentenceCase{#1}}
    Damit müsste das erste Wort mit Großbuchstaben, die andere klein erscheinen.
    Bin mir gerade nicht sicher, ob man auch titlecase nehmen kann, jedenfalls lohnt ein Blick unter http://tex.stackexchange.com/questio...biblatex-biber
    Diese Lösung ist natürlich noch eleganter. Dann musst du nur noch daran denken, alle Titel-Wörter die trotzdem groß geschrieben bleiben müssen (weil Eigenname) in geschweifte Klammern zu setzen. Für das Bsp. oben hieße das, dass alle deine Titeleinträge in der Bib-Datei folgendem Schema folgen müssen.

    Code:
    This is a Title with Exactly one {Proper Name} in it
    Wer großgeschriebene Titel haben will lässt alles wie es ist. Wer sentence case braucht nimmt die Codezeile von sensemann mit in die Tex-Datei auf.

  5. #5
    Registrierter Benutzer
    Registriert seit
    03.01.2006
    Beiträge
    60
    Guten Tag,

    bei mir funktioniert der Befehl
    Code:
    \DeclareFieldFormat[article]{title}{\MakeSentenceCase{#1}}
    leider nicht. Es funktioniert nur, wenn ich anstatt "title" im entsprechenden Feld "titlecase" einfüge. Dann habe ich aber das Problem, dass nicht nur der Titel der Referenz im Sentence Case ausgegeben wird, sondern auch das Journal. (Dieses Problem wurde auch hier diskutiert: https://tex.stackexchange.com/questi...s-in-biblatex; ich verstehe aber nicht die Lösung, die dort vorgeschlagen wird.)

    Ich verwende MiKTeX 2.9, Biblatex 3.4, Biber 2.5.

    Leider bekomme ich bei Nutzung von "title" nur eine nichtssagende Fehlermeldung. Hat jemand eine Idee, warum das bei mir nicht funktioniert?

    Minimalbeispiel:
    Code:
    \documentclass[paper=A4,BCOR=8mm,DIV=10,headsepline, twoside=on]{scrbook}
    \usepackage{scrlayer-scrpage}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[english]{babel}
    
    \usepackage[backend=biber, natbib=true, minbibnames=30, maxbibnames=99, mincitenames=1, maxcitenames=2, style=numeric, eprint=false, isbn=false, url=false, doi=false, date=year, giveninits=true, language=autobib, defernumbers=true]{biblatex} % bibliography
    \addbibresource{testref.bib}
    
    \DeclareFieldFormat[article]{title}{\MakeSentenceCase{#1}}
    
    
    \begin{document}
    \nocite{*}
    
    
    \printbibheading[heading=bibintoc]
    \printbibliography[heading=subbibliography, title={General references}, resetnumbers=false]
    
    \end{document}
    Meine testref.bib Datei sieht so aus:
    Code:
    @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},
      issn     = {0278-0046},
      doi      = {10.1109/TIE.2009.2030213},
    }
    Im Übrigen verstehe ich nicht, warum nicht automatisch Sentence Case für die Artikel im Literaturverzeichnis verwendet wird. In der Biblatex-Dokumentation steht nämlich folgendes:
    By default, converting to sentence case is enabled for the following language identifiers:
    american, british, canadian, english, australian, newzealand as well as the
    aliases USenglish and UKenglish. Use \DeclareCaseLangs to extend or change this
    list.
    Schönen Gruß,

    Sebastian
    Geändert von Deacon (08-04-2018 um 17:50 Uhr)

Stichworte

Lesezeichen

Berechtigungen

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