PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : interview in biblatex



paulderfinne
11-04-2013, 06:15
Laut Vorgabe des Instituts muss ich Interviews wie folgt im Literturverzeichnis angeben:



Adorno, T. W. (im Gespräch mit) H. Becker (1990). Erziehung zur Entbarbarisierung. In T. W. Adorno, Erziehung zur Mündigkeit (12. Aufl., S.120-131). Frankfurt a.M.: Suhrkamp.


Hat jemand eine Idee wie ich das verwirklichen kann?

Meine Präambel sieht bisher so aus:




\documentclass[12pt,a4paper,german]{scrartcl}
\usepackage[german]{babel}
\setkomafont{section}{\large}
\usepackage[utf8]{inputenc}
bibstyle=authoryear,backend=biber,maxnames=2]{biblatex}
\usepackage[
bibstyle=authortitle,
citestyle=authoryear-icomp,
maxcitenames=3,
mincitenames=1,
maxbibnames=1000,
backend=biber
]{biblatex}
\DefineBibliographyStrings{german}{
andothers = {{et\,al\adddot}},
and = \&
editor = {(Hrsg.)},
editors = {(Hrsg.)}
}
\addbibresource{/home/paul/studium/bibliography/paul.bib}

rstuby
11-04-2013, 06:49
Leider keine Hilfe, nur eine Anmerkung: benutze nicht den php-Button, sondern den #-Button. Dann sieht dein Code so aus (Schrägstriche bleiben erhalten):


\documentclass[12pt,a4paper,german]{scrartcl}
\usepackage[german]{babel}
\setkomafont{section}{\large}
\usepackage[utf8]{inputenc}
bibstyle=authoryear,backend=biber,maxnames=2]{biblatex}
\usepackage[
bibstyle=authortitle,
citestyle=authoryear-icomp,
maxcitenames=3,
mincitenames=1,
maxbibnames=1000,
backend=biber
]{biblatex}
\DefineBibliographyStrings{german}{
andothers = {{et\,al\adddot}},
and = \&
editor = {(Hrsg.)},
editors = {(Hrsg.)}
}
\addbibresource{/home/paul/studium/bibliography/paul.bib}

bobmalaria
11-04-2013, 08:27
hi,

biblatex hat die typen customa-f so viel ich weiss. für customa könnte du dann einen bibliographydriver definieren der das macht was du willst.

gruss

paulderfinne
11-04-2013, 09:12
Danke an euch beiden. @rstuby: OK. Werde nächstes Mal hoffentlich das richtige Knöpfle wählen.

@bobmalaria: könnetst du dich ein bisschen konkreter ausdrücken? Habe noch niemals einen bobliographydriver definiert. Ode gibts dazu eine Anleitung?

bobmalaria
11-04-2013, 11:39
hi,

am einfachsten wird es sein wenn du einen bestehen typ dafuer missbrauchst, z.b. 'unpublished'

wenn du im dokument ein

\DeclareBibliographyAlias{interview}{unpublished}

nach biblatex schreibst, dann sollte in deiner bib-datei eintraege die mit @interview beginnen direkt zu 'unpublished' durchgereicht werden.

dazu hat biblatex noch sog. custom eintrage customa, customb, etc und noch usera, userb, etc und das gleiche fuer namen die du fuer deine zusaetzlichen felder verwenden kannst.

hier mal ein simpler ansatz


\begin{filecontents}{test.bib}
@interview{int1,
author={Walter Wurst},
namea={Peter Schilling},
usera={Im Gespraech mit},
title={Meine schwere Kindheit}
}
\end{filecontents}


\documentclass{article}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}


\usepackage[bibstyle=authoryear,backend=biber,maxnames=2,
citestyle=authoryear-icomp,
maxcitenames=3,
mincitenames=1,
maxbibnames=1000,
backend=biber
]{biblatex}
\usepackage{xpatch}


\addbibresource{test.bib}

\DefineBibliographyStrings{german}{
andothers = {{et\,al\adddot}},
and = \&
editor = {(Hrsg.)},
editors = {(Hrsg.)}
}

\DeclareBibliographyAlias{interview}{unpublished}


\DeclareBibliographyDriver{unpublished}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author}%
%\newunit%
\addspace
\printfield{usera}%
\addcolon\addspace%
\printnames{namea}\newblock
\setunit{\labelnamepunct}\newunit
\usebibmacro{title}%
% \newunit
% \printlist{language}%
% \newunit\newblock
% \usebibmacro{byauthor}%
% \newunit\newblock
% \printfield{howpublished}%
% \newunit\newblock
% \printfield{note}%
% \newunit\newblock
% \usebibmacro{location+date}%
% \newunit\newblock
% \iftoggle{bbx:url}
% {\usebibmacro{url+urldate}}
% {}%
% \newunit\newblock
% \usebibmacro{addendum+pubstate}%
% \setunit{\bibpagerefpunct}\newblock
% \usebibmacro{pageref}%
% \usebibmacro{finentry}
}


\begin{document}
\cite{int1}

\printbibliography

\end{document}



die definition fuer den bibliographydriver stammt aus der standard.bbx datei die im bbx ordner des biblatex ordners zu finden ist.
in diesen drivern ist festegelegt, welche felder bei einem eintrag ausgegeben werden. ich habe mal zum testen viele davon auskommetierst wie du siehst und dann einmal 'namea' und 'usera' als ausgabe hinzugefuegt. das gibt dann erstmal folgende ausgabe:
http://www.mrunix.de/forums/attachment.php?attachmentid=5664&stc=1&d=1365676644

eine gute einfuehrung in die modifikation von stilen gibt es hier (http://biblatex.dominik-wassenhoven.de/dtk.shtml)

haettest du ein bib file mit einem testeintrag bereitgestellt haette ich vielleicht noch weitergemacht, so hat mich die lust verlassen :rolleyes:

paulderfinne
11-04-2013, 17:51
Vielen Dank, bobmalaria. Das ist ja schon der richtige Weg. Allerdings verstehe ich von den Einträgen nur Bahnhof. Klar, ich müsste halt die Einführung lesen. Vielleicht versteh ich dann mehr.

Einen Bib-Eintrag hatte ich ja noch gar nicht. Wusste nicht was wohin.

Werde zunächst mal schauen was @UNPUBLISHED so macht. Eine Riesenbitte noch an Dich, wenn es nicht so viel Mühe macht. Geht es das "Im Gespräch mit" auch in Klammern zu setzen. Wäre echt lieb.

paulderfinne
12-04-2013, 06:04
Nocdhmal vielen Dank, bobmalaria. Das mit den Klammern habe ich selber hingekriegt. Werde nun versuchen anhand Deines Beispiels die restlichen Felder auch hinzukriegen. Hast mir sehr geholfen, danke.

bobmalaria
12-04-2013, 17:39
hi,

hier nochmal ein ansatz. risiken und nebenwirkungen nicht ausgeschlossen da ich deine anderen einträge wie bücher, journale etc nicht testen kann. ich habe bestimmt ein paar wüste hacks verbastelt, aber am ende stimmt die ausgabe zumindest für den testeintrag.

unter anderem ist es so gemacht, dasss du "im gespräch mit" nicht mehr in die bib schreiben musst.

dann habe ich 'unpublished' so verwurstet, dass es doch veröffentlicht wurde. ja komisch, ich weiss. also wurden location und publisher hinzugefügt weil das anscheinen so sein muss.

der authoryear stil definiert den autor um und knallt immer automatisch das datum dahinter. daher hab eich die orginale author definition aus der biblatex.def kopiert. das könnte auswirkungen auf andere einträge haben (z.b. plötzlich kein datum bei büchern mehr zu sehen)!


%\begin{filecontents}{test.bib}
%@interview{int1,
%author={Walter Wurst},
%namea={Peter Schilling},
%title={Meine schwere Kindheit},
%journal={Internationale Journal des Geschwafels},
%year={2011},
%location={Frankfurt a.{M.}},
%publisher={Suhrkamp},
%edition={12},
%pages={100--120}
%}
%\end{filecontents}


\documentclass{article}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}


\usepackage[bibstyle=authoryear,backend=biber,maxnames=2,
citestyle=authoryear-icomp,
maxcitenames=3,
mincitenames=1,
maxbibnames=1000,
backend=biber
]{biblatex}

\addbibresource{test.bib}

%Ein neues makro damt wir nicht immer 'im gespräch mit' in die bib
%schreiben müssen
\newbibmacro*{intalk}{\printtext{\mkbibparens{im Gespräch mit}}}

\DefineBibliographyStrings{german}{
andothers = {{et\,al\adddot}},
and = \&
editor = {(Hrsg.)},
editors = {(Hrsg.)},
%usera = {\mkbibparens{im Gespräch mit}\addspace}
}

%einen neuen typ 'interview' erstellen und ihn auf 'unpublished' mappen
\DeclareBibliographyAlias{interview}{unpublished}

%orig. definition aus biblatex.def, überschreibt die authoryear definition von author
\renewbibmacro*{author}{%
\ifboolexpr{
test \ifuseauthor
and
not test {\ifnameundef{author}}
}
{\printnames{author}%
\iffieldundef{authortype}
{}
{\setunit{\addcomma\space}%
\usebibmacro{authorstrg}}}
{}}

%Nach dem letzten autorenname kein satzzeichen
\renewcommand*{\finalnamedelim}{}

%hm weiss gerade gar nicht mehr ob man das wirklich braucht
%mal zum test weglassen :)
\DeclareFieldFormat[unpublished]{edition}{%
\ifinteger{#1}
{\mkbibordedition{#1}~\bibstring{edition}}
{#1\isdot}}

%Neues makro das die edition und die seiten zusammenfass
%und in klammern schreibt
%\mkbibparens funktioniert hier lustigerweise nicht. vielleicht ein biblatex bug
%\mkbibparens fügt immer einen extra . mit ein
%deshab ein bisschen geschummelt mit \printtext für die klamern
\newbibmacro*{edition+pages}{
\printtext{(}%
\printfield{edition}%
%\addcomma%
%\addspace%
\setunit{\bibpagespunct}%
\printfield{pages}%
\printtext{)}%
}%


%der eigentliche treiber um einen eintrag vom typ
%interview darustellen
\DeclareBibliographyDriver{unpublished}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author}%
\addspace%
\usebibmacro{intalk}%
\addspace%
\printnames{namea}%
\addspace%
\usebibmacro{date+extrayear}%
\newunit\newblock%
\usebibmacro{title}%
\usebibmacro{in:}%
\usebibmacro{journal+issuetitle}%
\newunit
\usebibmacro{edition+pages}%
\newunit
\usebibmacro{publisher+location+date}%
% \printlist{language}%
% \newunit\newblock
% \usebibmacro{byauthor}%
% \newunit\newblock
% \printfield{howpublished}%
% \newunit\newblock
% \printfield{note}%
% \newunit\newblock

% \newunit\newblock
% \iftoggle{bbx:url}
% {\usebibmacro{url+urldate}}
% {}%
% \newunit\newblock
% \usebibmacro{addendum+pubstate}%
% \setunit{\bibpagerefpunct}\newblock
%\usebibmacro{pageref}%
% \usebibmacro{finentry}%
}


\begin{document}
\cite{int1}

\printbibliography

\end{document}

http://www.mrunix.de/forums/attachment.php?attachmentid=5665&stc=1&d=1365784742