|
BibLatex: DeclareFieldFormat bzw. DeclareNameFormat |
|
rocketscience |

Forum-Fortgeschrittener
|
 |
Beiträge: 51
|
 |
|
 |
Anmeldedatum: 15.11.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.02.2011, 18:13
Titel: BibLatex: DeclareFieldFormat bzw. DeclareNameFormat
|
 |
|
 |
|
Hallo BibLatex-User und Entwickler,
ich stehe an dem Feintuning meins Literaturverzeichnisses und habe zwei Probleme:
1. Um Interviews einzubinden nutze ich einen neuen Entry-Type, der jedoch als Misc von BibLatex übersetzt wird und zusätzlich das Feld "authortype" beinhaltet, um eine Funktion (bspw. Geschäftsführer) bei einem Intervieweintrag aufzunehmen. Hier bin ich mit dem Ergebnis (siehe Minimalbeispiel) zufrieden, einzig das fett gedruckte Feld stört sowohl in den Fußnoten als auch im Verzeichnis.
Ich habe hier versucht mit dem Befehl etwas zu erreichen, leider ohne Erfolg und ohne Fehlermeldung.
2. Das Format der Namen im Literaturverzeichnis ist im Augenblick wie folgt: Name, Vorname, Vorname Name und Vorname Name... Ich würde das gern entsprechend DIN 1505 ändern und zwar in Name, Vorname, Name, Vorname, Name, Vorname...
Ich nutze in meinen Fußnoten den Befehl Code • Öffne in Overleaf | \DeclareNameFormat{default}{%
\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}%
\usebibmacro{name:andothers}} | , der auch Wirkung zeigt (er wird über einen eigenen Fußnotenstil "myverbose-ibid" eingebunden). Nun möchte ich das selbe, jedoch ohne gekürzten Vornamen auch im Literaturverzeichnis realisieren, habe entsprechend versuch das ganze im authoryear-Stil unterzubringen, leider ohne Erfolg.
Minimalbeispiel:
Code • Öffne in Overleaf |
\begin{filecontents*}{MeineBib.bib}
@interview {Beispiel2010a,
Author = {Max Muster},
Title = {Interview zum Muster},
Authortype = {Test Authortype},
Address = {Musterstadt},
Date = {2011-01-21}}
@ARTICLE {Beispiel2010b,
author = {Max Muster and Max Mustermann},
title = {goLaTeX Wiki-Beispiel},
journal = {LaTeX Journal},
year = {2010},
pages = {1-3},
timestamp = {2010.03.21},
url = {http://www.golatex.de/wiki/index.php?title=Minimalbeispiel}}
@ARTICLE {Beispiel2010c,
author = {Max Mustermann},
title = {goLaTeX Wiki-Beispiel},
journal = {LaTeX Journal},
year = {2010},
pages = {1-3},
timestamp = {2010.03.21},
url = {http://www.golatex.de/wiki/index.php?title=Minimalbeispiel}}
\end{filecontents*}
%% Dokumentenklasse
\documentclass[ % Standardpaket KOMA-Klasse Report
fontsize=12pt, % Schriftgröße
DIV=14,
headinclude=true, % der Teil des Satzspiegels wird
footinclude=false,
paper=a4, % Papierformat
oneside, % einseitiges Dokument
parskip=full, % Abstand zwischen Absätzen
headings=normal, % Größe der Überschriften verkleinern
toc=nobib,
final % Status des Dokuments (final/draft)
]{scrreprt}
%%Pakete
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{setspace}
\usepackage[ngerman]{babel} % Sprachpaket Babel (Deutsch)
\usepackage{graphicx} % Grafiken
\usepackage[german=quotes]{csquotes} % Anfuehrungszeichen
\usepackage[tocindentauto,tocflat]{tocstyle} % Design des Inhaltsverzeichnisses
\usepackage{blindtext}
\usepackage[ % Standardpaket fuer Kopf-und Fusszeilen
headsepline, % Trennlinie unter Kopf-und Fusszeile
plainheadsepline, % auch auf Plain-Seiten
ilines % Trennlinie linksbündig ausrichten
]{scrpage2}
\usepackage[ % BibLatex
citestyle=verbose-ibid,
bibstyle=authoryear,
labelyear=true,
hyperref=true,
abbreviate=true,
isbn=false,
url=false,
doi=false,
dashed=false,
ibidtracker=true,
pagetracker=true,
maxnames=2,
]{biblatex}
\bibliography{MeineBib}
\defbibheading{bibliography}{% % Ueberschrift Lieraturverzeichnis
\chapter*{Literaturverzeichnis}}
%%%%%%%%%%%%%%%%%%%% ENDE FORMATIERUNG %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\pagenumbering{Roman}
\usetocstyle{classic} % Klassische Verzeichnisse
\tableofcontents % Inhaltverzeichnis
\chapter{Kapitel 1}
\blindtext\footnote{\cite[Vgl.][]{Beispiel2010a}}
\blindtext\footnote{\cites[Vgl.][]{Beispiel2010c}[3]{Beispiel2010b}}
\begin{figure}[ht]
\centering
\begin{tabular}{@{}p{6cm}@ {}}
\rule{6cm}{4cm}\\
\footnotesize\textbf{Quelle:} \citeauthor[][3]{Beispiel2010a}
\end{tabular}
\caption{Bildunterschrift in Anlehung an \citeauthor{Beispiel2010a}}
\end{figure}
\printbibliography
\end{document}
|
Ich bedanke mich schon jetzt für Eure Unterstützung!
Grüße
|
|
|
domwass |

TeX-Entwickler
|
 |
Beiträge: 621
|
 |
|
 |
Anmeldedatum: 26.08.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: MacTeX 2011 / LyX 2.0.3 / TeXShop 2.4.3
|
 |
|
|
 |
|
Verfasst am: 02.02.2011, 12:51
Titel:
|
 |
Du müsstest eigentlich eine Warnung bekommen: Zitat: | Package biblatex Warning: Bibliography string 'Test Authortype' undefined
(biblatex) at entry 'Beispiel2010a' on input line 87. |
Das ist auch der Grund, warum das Feld fett ausgegeben wird (als Hinweis
darauf, dass etwas nicht stimmt). authortype erwartet einen vordefinierten
Bibliography String wie »editor«, »compiler« oder ähnliches, die in der lbx-
Datei definiert sein müssen. Du kannst natürlich eigene Bibliography Strings
definieren (mit \NewBibliographyString und \DefineBibliographyStrings).
Gruß,
Dominik.-
_________________
goLaTeX-Knigge | Minimalbeispiel | FAQs etc.
biblatex-Doku auf Deutsch
biblatex-Stile | »Bibliographien erstellen mit biblatex« (DTK-Artikel)
|
|
|
rocketscience |

Forum-Fortgeschrittener
|
 |
Beiträge: 51
|
 |
|
 |
Anmeldedatum: 15.11.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.02.2011, 13:11
Titel:
|
 |
Hallo Dominik,
danke für den Tipp, ich habe folgendes in meine modifizierte verbode-ibid eigentragen (bzw. hinzugefügt)
Code • Öffne in Overleaf |
\NewBibliographyString{authortype}
\DefineBibliographyStrings{ngerman}{
sequens = {f},
sequentes = {ff},
andothers = {{et\,al\adddot}},
editor = {(Hrsg.)},
editors = {(Hrsg.)},
authortype = {Funktion:},
}
|
Leider brachte das keinen Erfolg, ich bekomme aus irgendeinem Grund beim kompillieren auch nicht deine angegebene Fehlermeldung (Editor bei mir ist TextMate).
EDIT: Fehlermeldung taucht doch versteckt in der Log auf:
Zitat: |
ackage biblatex Warning: Bibliography string 'Test Authortype' undefined
(biblatex) at entry 'Beispiel2010a' on input line 100.
|
Eine generelle Frage von mir an dieser Stelle, ist die myverbose-ibid.cbx überhaupt der richtige Ort oder ändern sich damit nur die Fußnoten (so hab ich das bisher verstanden)?
Grüße
|
|
|
domwass |

TeX-Entwickler
|
 |
Beiträge: 621
|
 |
|
 |
Anmeldedatum: 26.08.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: MacTeX 2011 / LyX 2.0.3 / TeXShop 2.4.3
|
 |
|
|
 |
|
Verfasst am: 02.02.2011, 16:44
Titel:
|
 |
|
 |
|
Schwebt dir so etwas vor?
Code • Öffne in Overleaf | \documentclass{scrreprt}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@interview {Beispiel2010a,
Author = {Max Muster},
Title = {Interview zum Muster},
Authortype = {interviewer},
Address = {Musterstadt},
Date = {2011-01-21}}
\end{filecontents*}
\usepackage[ansinew]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[german=quotes]{csquotes}
\usepackage[
citestyle=verbose-ibid,
bibstyle=authoryear,
labelyear=true,
hyperref=true,
abbreviate=true,
isbn=false,
url=false,
doi=false,
dashed=false,
ibidtracker=true,
pagetracker=true,
maxnames=2,
]{biblatex}
\bibliography{\jobname}
\renewbibmacro*{authorstrg}{%
\iffieldundef{authortype}
{}
{\ifboolexpr{
test {\ifnumgreater{\value{author}}{1}}
or
test {\ifandothers{author}}
}
{\printtext{Funktion:\addspace}\bibstring{\thefield{authortype}s }}
{\printtext{Funktion:\addspace}\bibstring{\thefield{authortype}}}}}
\NewBibliographyString{interviewer}
\NewBibliographyString{interviewers}
\DefineBibliographyStrings{ngerman}{
interviewer = {Interviewer},
interviewers = {Interviewer},
}
\begin{document}
\footnote{\cite[Vgl.][]{Beispiel2010a}}
\printbibliography
\end{document} |
Gruß,
Dominik.-
_________________
goLaTeX-Knigge | Minimalbeispiel | FAQs etc.
biblatex-Doku auf Deutsch
biblatex-Stile | »Bibliographien erstellen mit biblatex« (DTK-Artikel)
|
|
|
rocketscience |

Forum-Fortgeschrittener
|
 |
Beiträge: 51
|
 |
|
 |
Anmeldedatum: 15.11.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.02.2011, 17:02
Titel:
|
 |
|
 |
|
Das sieht schon gut aus, mein Vorhaben ist folgendes:
Ich möchte ein Verzeichnis meiner Interviewpartner als Unterverzeichnis im Quellenverzeichnis haben.
Nun habe ich mir gedacht, einfach in meiner Literaturdatenbank einen neuen Entry Type zu definieren, der interview heißt und dort folgende Parameter zu vergeben:
Zitat: |
Author = {Name des Interviewpartners},
Title = {Titel des Interviews},
Authortype = {Funktion des Interviepartners (bspw. Geschäftsführer)},
Address = {Ort des Interviews},
Date = {Datum des Interviews}}
|
Auf das Feld "authortype" bin ich durch die BibLatex Doku gekommen, passte ganz gut, um folgende Struktur für die Einträge im Verzeichnis zu generieren:
Name, Vorname; Funktion des Interviewpartners; Titel des Interviews; Datum des Interviews; Ort des Interviews
Nun habe ich bspw. Funktionen der Interviewpartner, die nicht immer gleich sind (Sales Manager Amerika, Sales Manager Afrika, etc.)
Wenn ich deine Lösung richtig verstehe, dann muss ich über den Code
Code • Öffne in Overleaf |
\NewBibliographyString{interviewer}
\NewBibliographyString{interviewers}
\DefineBibliographyStrings{ngerman}{
interviewer = {Interviewer},
interviewers = {Interviewer},
}
|
pro Funktion der Interviewpartner neue Strings definieren.
Ich hatte mir gedacht, dass ich mit "authortyp" in meiner Literaturdatenbank beliebige Funktionen definieren kann und diese dann einfach hinter dem Name ausgegeben werden.
Bin ich mit meinem Vorhaben von Anfang an einen falschen Weg gegangen, oder sollte ich für interview evt. einen eigenen Entry-Typ definieren, damit BibLatex diesen nicht als "misc" interpretiert?! Ich hab allerding noch keine eigenen Typen definiert, bin daher etwas unbeholfen an dieser Stelle.
Grüße aus HH
|
|
|
domwass |

TeX-Entwickler
|
 |
Beiträge: 621
|
 |
|
 |
Anmeldedatum: 26.08.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: MacTeX 2011 / LyX 2.0.3 / TeXShop 2.4.3
|
 |
|
|
 |
|
Verfasst am: 03.02.2011, 10:11
Titel:
|
 |
|
 |
|
Ruffy2k hat Folgendes geschrieben: | Wenn ich deine Lösung richtig verstehe, dann muss ich über den Code
Code • Öffne in Overleaf |
\NewBibliographyString{interviewer}
\NewBibliographyString{interviewers}
\DefineBibliographyStrings{ngerman}{
interviewer = {Interviewer},
interviewers = {Interviewer},
}
|
pro Funktion der Interviewpartner neue Strings definieren. |
Ja, z.B. salesmanageram, salesmanageraf usw. Um das zu vereinfachen,
kannst du dir natürlich einen Befehl \SalesManager erstellen und dann mit
Code • Öffne in Overleaf |
\NewBibliographyString{salesmanageram}
\NewBibliographyString{salesmanageraf}
\DefineBibliographyStrings{ngerman}{
salesmanageram = {\SalesManager{} America},
salesmanageraf = {\SalesManager{} Africa},
}
|
entsprechend einstellen.
Zitat: | Ich hatte mir gedacht, dass ich mit "authortyp" in meiner Literaturdatenbank beliebige Funktionen definieren kann und diese dann einfach hinter dem Name ausgegeben werden. |
Wie gesagt, das, was im Feld »authortype« angegeben ist, muss ein
definierter bibliography string sein.
Zitat: | Bin ich mit meinem Vorhaben von Anfang an einen falschen Weg gegangen, oder sollte ich für interview evt. einen eigenen Entry-Typ definieren, damit BibLatex diesen nicht als "misc" interpretiert?! Ich hab allerding noch keine eigenen Typen definiert, bin daher etwas unbeholfen an dieser Stelle. |
Man kann nicht einfach beliebige eigene Typen definieren, denn sie müssen
in der bst-Datei von biblatex vorhanden sein. Aus diesem Grund gibt es die
Typen @customa, @customb, … @customf, die man für solche Fälle
heranziehen kann.
Gruß,
Dominik.-
_________________
goLaTeX-Knigge | Minimalbeispiel | FAQs etc.
biblatex-Doku auf Deutsch
biblatex-Stile | »Bibliographien erstellen mit biblatex« (DTK-Artikel)
|
|
|
rocketscience |

Forum-Fortgeschrittener
|
 |
Beiträge: 51
|
 |
|
 |
Anmeldedatum: 15.11.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.02.2011, 10:37
Titel:
|
 |
Hallo Dominik,
vielen Dank für deine Antwort.
Ich verstehe im Augenblick (noch) nicht den Vorteil eines definierten Befehls \SalesManager, der würde mir doch eigentlich "nur" einen vorher definierten Wert ausgeben:
oder verstehe ich deinen Vorschlag falsch?
Um meinem Vorhaben eine "Jobbezeichnung" hinter dem Namen in Klammern anzugeben näher zu kommen, weißt du, ob es ein anderes Feld in BibLatex gibt, welches hinter dem Namen stehen könnte und einfach nur den Inhalt ausgibt, wie bspw. das Feld "title" es tut?
Grüße
|
|
|
PL |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.02.2011, 15:06
Titel:
|
 |
|
 |
|
Wie wäre es hiermit:
Code • Öffne in Overleaf |
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage[style=verbose]{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@customa {interview1,
author = {Schmidt, Heinz},
title = {Titel des Interviews},
authortype = {director},
location = {Buxtehude},
date = {2010-05-21},
}
@customa {interview2,
author = {Doe, John},
title = {Titel des Interviews},
authortype = {Sales Manager},
location = {Buxtehude},
date = {2010-05-22},
}
\end{filecontents*}
\bibliography{\jobname}
\DeclareBibliographyDriver{customa}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit\newblock
\usebibmacro{location+date}%
\newunit\newblock
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\usebibmacro{finentry}}
\renewbibmacro*{authorstrg}{%
\iffieldundef{authortype}
{}
{\printtext{%
\ifbibxstring{\thefield{authortype}}
{\ifboolexpr{
test {\ifnumgreater{\value{author}}{1}}
or
test {\ifandothers{author}}
}
{\bibstring{\thefield{authortype}s }}
{\bibstring{\thefield{authortype}}}}
{\thefield{authortype}}}}}
\NewBibliographyString{director,directors}
\DefineBibliographyStrings{ngerman}{
director = {Gesch\"aftsf\"uhrer},
directors = {Gesch\"aftsf\"uhrer},
}
\begin{document}
\nocite{*}
\printbibheading[title={Quellen}]
\printbibliography[type=customa,heading=subbibliography,title={Interviews}]
\end{document}
|
Wichtig:
1. Ich habe den "authorstrg"-Makro so erweitert, dass die "bibliography strings" optional sind. Du kannst als "authortype" also entweder einen Schlüssel angeben (Bsp. interview1) oder normalen Text (Bsp. interview2).
2. Wenn du Biber statt BibTeX verwendest, kannst du auch neue Eintragstypen einführen, also z.B. "customa" durch "interview" ersetzen.
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
Options and Permissions
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum nicht posten Du kannst Dateien in diesem Forum herunterladen
|
|