Biblatex Umdefinierung Feld subtitle Thema ist als GELÖST markiert

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.


chris_

Biblatex Umdefinierung Feld subtitle

Beitrag von chris_ »

Hallo Zusammen!

Ich habe da eine Frage bezüglich der Formatierung des Feldes subtitle in biblatex.

Mein Problem: Ich möchte in der Bibliographie den Untertitel eines Buches setzen, Biblatex setzt den Untertitel aber genauso wie den Titel.
(Minimalbeispiel kann ich heute Abend liefern, bin derzeit auf Arbeit :().

Natürlich habe ich zuerst mit
\DeclareFieldFormat{subtitle}{\mkbibemph{#1}}
versucht, das Feld umzudefinieren, blieb aber Folgenlos - der Untertitel ist genauso formatiert wie der Titel (halbfett kursiv).

Ich habe in den Sourcen von biblatex auch keine Formatierung des Feldes gefunden.
Lediglich ein:
\printfield[titlecase]{subtitle}
in der Definierung des Bibmacros "title".

Wie gesagt, wollte hier schnell meine Frage hinschreiben, heute Abend kann ich ein Minimalbeispiel hier reinstellen, ich dachte nur, ich frag schonmal, vielleicht kann einer damit was anfangen, was ich meine ;-).


Danke
Chris

Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Beitrag von domwass »

Wenn ich es auf die schnelle richtig sehe, ist Dein Code richtig (ich würde grundsätzlich genauso vorgehen). Du wirst also um ein Minimalbeispiel nicht herum kommen.

Gruß,
Dominik.-

chris_

Beitrag von chris_ »

Hi Dominik,

das ist gut, dass ich vom Ansatz her nichts falsch gemacht habe ;-). Kann es mir selber nicht so recht erklären, weil es auch kein \DeclareFieldFormat in der biblatex.def gibt. Hi also mein Minimalbeispiel:

Minimalbeispiel.tex :
\documentclass{article} % Classes: scrartcl, scrreprt, scrbook

\usepackage[%
style=authortitle,%
bibtex8%
]{biblatex}

\bibliography{Minimalbeispiel}


\DeclareFieldFormat{title}{\textbf{#1}}
\DeclareFieldFormat{subtitle}{\mkbibemph{#1}}

\begin{document}


Dies ist ein Text zur Veranschaulichung.\Autocite{lit:baldi:2000}
\printbibliography
\end{document}
Minimalbeispiel.bib :
@BOOK{lit:baldi:2000,
  title = {Grundlagen der Wirtschaftsinformatik},
  subtitle= {Ein SubTitle Test},
  publisher = {Oldenbourg},
  author = {Baldi, Stefan},
  year={2000},
  address = {München}
}

Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Beitrag von domwass »

Danke für das Minimalbeispiel. Ich habe mir das Ganze mal angesehen und verstanden. Das Problem ist, dass 'title' und 'subtitle' aneinander gekoppelt sind. Das ist in dem bibmacro festgelegt, dass du auch schon in biblatex.def gefunden hast:
\newbibmacro*{title}{%
  \ifthenelse{\iffieldundef{title}\AND\iffieldundef{subtitle}}
    {}
    {\printtext[title]{%
       \printfield[titlecase]{title}%
       \setunit{\subtitlepunct}%
       \printfield[titlecase]{subtitle}}%
     \newunit}%
  \printfield{titleaddon}}
Sowohl title als auch subtitle werden hier innerhalb von \printtext{title} ausgegeben und beziehen sich damit immer auf das Feldformat 'title'. Damit lässt sich der subtitle nicht mehr einzeln ändern. Man muss also das bibmacro selbst abändern:
\renewbibmacro*{title}{%
  \ifthenelse{\iffieldundef{title}\AND\iffieldundef{subtitle}}
    {}
    {\printtext[title]{%
       \printfield[titlecase]{title}}%
     \setunit{\subtitlepunct}%
     \printfield{subtitle}%
     \newunit}%
  \printfield{titleaddon}}
Bei der Ausgabe des subtitle muss man hier darauf achten, das [titlecase] zu entfernen, da ansonsten auf dieses Feldformat zurückgegriffen wird. Jetzt kann man mit
\DeclareFieldFormat{subtitle}{\mkbibemph{#1}} 
den Untertitel seinen Wünschen anpassen.

Ich halte das Standardverhalten von biblatex in dieser Form aber als fragwürdig, da es zumindest aus der Dokumentation so nicht hervorgeht.

Gruß,
Dominik.-

chris_

Beitrag von chris_ »

Ah danke schön für die Erklärung :).

Ich glaub ich versteh den Befehl jetzt auch. Das ist doch dann so, dass irgendwo "titlecase" definiert wurde und der gibt das Feld subtitle mit der Formatierung titlecase aus, oder? ;-).


Ja ich bin gerade dabei mich einzulesen und versteh immer mehr davon ;-).

Schöne Grüße

Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Beitrag von domwass »

chris_ hat geschrieben:Ich glaub ich versteh den Befehl jetzt auch. Das ist doch dann so, dass irgendwo "titlecase" definiert wurde und der gibt das Feld subtitle mit der Formatierung titlecase aus, oder? ;-).
Nicht ganz. 'titlecase' wird zwar verwendet, aber nur als innerer Befehl, der äußere ist 'title' (der über \printtext mitgegeben wurde), und der wird eben auch verwendet. Wenn du nun 'title' auf fett und titlecase auf kursiv stellen würdest, würde beides zusammen fett und kursiv ergeben.

Das eigentliche Problem ist aber, dass sowohl 'title' als auch 'subtitle' mit Hilfe des \printtext[title] an das Format 'title' gebunden sind.

Gruß,
Dominik.-

Antworten