
Ich kann für den @inproceedings-Eintrag nicht „in Zusammenarbeit mit“ bekommen, da es sich um die Arbeit und nicht um den Artikel handelt, wie ich es gerne hätte.
@INPROCEEDINGS{roure07,
author = {Réjane Roure},
title = {Armes et têtes coupées au Cailar (Gard): premier éléments de réflexion
sur un dépôts rituel en Gaule méditerranéenne},
booktitle = {L'âge du Fer dans l'arc jurassien et ses marges : dépôts, lieux sacrés
et territorialité à l'âge du Fer : actes du XXIX\ieme{} colloque
international de l'AFEAF, volume 2},
year = {2007},
editor = {{\relax Ph}ilippe Barral and Alain Daubigney and Cynthia Dunning
and Gilbert Kaenel and Marie-Jeanne Roulière-Lambert},
pages = {653-658},
address = {Besançon},
publisher = {Presses universitaires de Franche-Comté},
editora = {Henri Duday},
editoratype = {collaborator},
eventdate = {2005-05},
owner = {Axel},
timestamp = {2014.03.06},
venue = {Bienne}
}
Ein schöner Screenshot wird verständlicher sein als mein lächerliches Englisch
\documentclass[12pt]{report} %type de document+ police
\usepackage{fontspec}
\usepackage{xunicode}
\setmainfont[Mapping=tex-text,Numbers=OldStyle]{Linux Libertine O}
\usepackage{polyglossia}
\setdefaultlanguage{french}
%\setmonofont[Scale=0.75]{DejaVu Sans Mono}
\setotherlanguage[variant=ancient]{greek}
\setotherlanguage{english}
\usepackage{xpatch}
% Bonnes notes, sans exposant.
\makeatletter
\renewcommand\@makefntext[1]{%
\noindent\makebox[2em][r]{\@thefnmark.\space}#1}
\makeatother
\usepackage{microtype} %gère la microtypo
\usepackage{csquotes}
\usepackage{shorttoc}
%%% MARGES ET INTERLIGNES
\usepackage{geometry}
\geometry{a4paper}
\geometry{top=2cm, bottom=2cm, left=2cm , right=2cm}
%gestion interligne
\usepackage{setspace}
\onehalfspacing % interligne 1.5
\let\oldquotation\quotation %Rédéfinit l'environnement quotation pour avoir un interligne de 1
\let\endoldquotation\endquotation
\renewenvironment{quotation}
{\begin{oldquotation}\singlespace}
{\end{oldquotation}}
%MACRO
\newcommand\cad{c’est-à-dire}
\newcommand\than{« temps d'Hannibal »}
\newcommand\avjc{av. J.-C.}
\newcommand\apjc{apr. J.-C.}
\newcommand\cnrs{C.N.R.S.}
\newcommand\dgp{deuxième guerre punique}
\providecommand{\ier}{\textsuperscript{er}}
\providecommand{\iers}{\textsuperscript{ers}}
\providecommand{\iere}{\textsuperscript{ère}}
\providecommand{\ieres}{\textsuperscript{ères}}
\providecommand{\ieme}{\textsuperscript{e}}
\providecommand{\iemes}{\textsuperscript{es}}
\providecommand{\nd}{\textsuperscript{nd}}
\providecommand{\nds}{\textsuperscript{nds}}
\providecommand{\nde}{\textsuperscript{nde}}
\providecommand{\ndes}{\textsuperscript{ndes}}
\providecommand{\no}{\textsuperscript{o}}
\providecommand{\nos}{\textsuperscript{os}}
\providecommand{\mme}{M\textsuperscript{me}\space}
\providecommand{\mmes}{M\textsuperscript{mes}\space}
\providecommand{\mr}{M.\space}
\providecommand{\mrs}{MM.\space}
%%%%%%%%%%%%%%%%%% %BILIOGRAPHIE
\usepackage[ %BILIOGRAPHIE
backend=bibtex,%
language=french,%
style=authoryear,%
firstinits,%
mergedate=false,%
style=authoryear-ibid,%
maxcitenames=2, %
maxbibnames=999,%
]{biblatex}
\renewcommand*{\revsdnamepunct}{}
\renewcommand*{\finalnamedelim}{\multinamedelim}
\renewcommand*{\mkbibnamelast}[1]{\textsc{#1}}
\DeclareNameAlias{sortname}{last-first}
\DeclareNameFormat{last-first}{%
\iffirstinits
{\usebibmacro{name:last-first}{#1}{(#4)}{#5}{#7}}
{\usebibmacro{name:last-first}{#1}{(#3)}{#5}{#7}}%
\usebibmacro{name:andothers}}
\renewcommand*{\labelnamepunct}{\space\textendash\space} %tiret après le label
\renewbibmacro*{date+extrayear}{}% rajoute date
\DeclareFieldFormat
[article,inbook,incollection,inproceedings,patent,thesis,unpublished]
{title}{#1}
\renewbibmacro{in:}{% enlève guillemets articles
\ifentrytype{article}
{}
{\printtext{\bibstring{in}\intitlepunct}}}
\renewbibmacro*{issue+date}{%
\printfield{issue}%
\setunit{\addcomma\space}%
\printdate%
\newunit}
\renewbibmacro*{publisher+location+date}{%
\printlist{location}%
\setunit*{\addcomma\space}%
\printlist{publisher}%
\setunit*{\addcomma\space}%
\usebibmacro{date}%
\newunit}
\renewbibmacro*{begentry}{\printtext[bold]{\usebibmacro{cite}\addspace\addcolon\space}}
%Met les abréviations des revues
\renewbibmacro*{journal}{%
\iffieldundef{shortjournal}
{%
\iffieldundef{journaltitle}
{}
{%
\printtext[journaltitle]
{%
\printfield[titlecase]{journaltitle}%
\setunit{\subtitlepunct}%
\printfield[titlecase]{journalsubtitle}%
}%
}%
}
{\printtext[journaltitle]{\printfield[titlecase]{shortjournal}}}%
}
%Enlever le tiret lorsqu'il y a une récurrence des auteurs
%
\makeatletter
\AtEveryBibitem{%
\global\undef\bbx@lasthash%
\clearfield{extraalpha}}
\makeatother
% "Et al." en ITALIQUE
\renewbibmacro*{name:andothers}{% Based on name:andothers from biblatex.def
\ifboolexpr{
test {\ifnumequal{\value{listcount}}{\value{liststop}}}
and
test \ifmorenames
}
{\ifnumgreater{\value{liststop}}{1}
{\finalandcomma}
{}%
\andothersdelim\bibstring[\emph]{andothers}}
{}}
%%% Histoire des noms et al...
\makeatletter
\renewbibmacro*{begentry}{%
\renewcommand*{\mkbibnamelast}[1]{##1}%
\defcounter{maxnames}{\blx@maxcitenames}%
\printtext[bold]{\usebibmacro{cite}\addspace:\space}%
\defcounter{maxnames}{\blx@maxbibnames}
\renewcommand*{\mkbibnamelast}[1]{\textsc{\textnohyphenation{##1}}}}
\makeatother
%minuscule citation
\AtBeginDocument{\renewcommand*{\mkbibnamelast}[1]{#1}}
%Enlève parenthèse colloque
\renewbibmacro*{event+venue+date}{
\iffieldundef{eventtitle}
{}
{%
\bibstring{presentedat}%
\printfield{eventtitle}%
}%
\ifboolexpr{
test {\iffieldundef{venue}}
and
test {\iffieldundef{eventyear}}
}
{}
{\setunit*{\addspace}%
\printtext{%
\printfield{venue}%
\setunit*{\addcomma\space}%
\printeventdate}}%
\newunit
}
\DefineBibliographyStrings{french}{%
byeditor = \iffieldequalstr{keywords}{source}%
{Établit\space par}%
{dir\adddotspace\smartof},
in = {\textit{in}},%
editor = {dir\adddotspace},%
editors = {dir\adddotspace},%
opcit = \iffieldequalstr{entrytype}{article}{art\adddotspace cit\adddot}{\emph{op\adddotspace cit}\adddot},%
idem = {\emph{idem}},%
ibidem = {\emph{ibid\adddot}},%
%pagetotal = {p\adddot},%
%pages = {pp\adddot},%
}
%enlève la virugule avant dir.
\makeatletter
\renewbibmacro*{bbx:editor}[1]{%
\ifboolexpr{
test \ifuseeditor
and
not test {\ifnameundef{editor}}
}
{\usebibmacro{bbx:dashcheck}
{\bibnamedash}
{\printnames{editor}%
% \setunit{\addcomma\space}% DELETED
\setunit{\addspace}% ADDED
\usebibmacro{bbx:savehash}}%
% \usebibmacro{#1}% DELETED
\printtext{\usebibmacro{#1}}% ADDED
\clearname{editor}}
{\global\undef\bbx@lasthash}}
\makeatother
%%modifié book pour virgule
\DeclareBibliographyDriver{book}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/editor+others/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{maintitle+title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\printfield{edition}%
\newunit
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit
\printfield{volumes}%
\newunit\newblock
\usebibmacro{series+number}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit\addcomma
\printfield{pagetotal}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
%Change ordre des entrées pour les in quelquechoses :
\DeclareBibliographyDriver{incollection}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/editor+others}%
\setunit{\space\textendash\space}\newblock
\usebibmacro{maintitle+title}%
\newunit\newblock
\usebibmacro{in:}%
\usebibmacro{bybookauthor}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\usebibmacro{maintitle+booktitle}%
\newunit\newblock
\printfield{edition}%
\newunit
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit
\printfield{volumes}%
\newunit\newblock
\usebibmacro{series+number}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
\DeclareBibliographyDriver{inproceedings}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/editor+others}%
\setunit{\space\textendash\space}\newblock
\usebibmacro{maintitle+title}%
\newunit\newblock
\usebibmacro{in:}%
\usebibmacro{byeditor+others}%
\newunit\newblock
\usebibmacro{maintitle+booktitle}%
\newunit\newblock
\usebibmacro{event+venue+date}%
\newunit\newblock
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit
\printfield{volumes}%
\newunit\newblock
\usebibmacro{series+number}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\printlist{organization}%
\newunit
\usebibmacro{publisher+location+date}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
\DeclareBibliographyDriver{inbook}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/editor+others}%
\setunit{\space\textendash\space}\newblock
\usebibmacro{maintitle+title}%
\newunit\newblock
\usebibmacro{in:}%
\usebibmacro{byeditor+others}%
\newunit\newblock
\usebibmacro{maintitle+booktitle}%
\usebibmacro{bybookauthor}%
\newunit\newblock
\usebibmacro{maintitle+booktitle}%
\newunit\newblock
\printfield{edition}%
\newunit
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit
\printfield{volumes}%
\newunit\newblock
\usebibmacro{series+number}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
\AtEveryBibitem{%
\iffieldequalstr{edition}{1}
{\clearfield{edition}}
{\ifboolexpr{ test {\ifentrytype{proceedings}} or test {\ifentrytype{incollection}} }
{\savefield*{edition}{\savededition}%
\clearfield{edition}}
{}}}
\DeclareFieldFormat[article,inbook,inproceedings,incollection]{pages}{pp\adddotspace #1}%
\DeclareNameAlias{sortname}{last-first}
\DeclareNameAlias{default}{last-first}
Antwort1
Vorbehalt: Ich denke, Sie verwenden einen ziemlich selbstgemachten Stil, der Änderungen schwierig macht, und dies ist nicht vollständig getestet, außer an Ihrem Beispiel .bib
. Ich sehe, dass einige Dinge (wie die, die bibstrings
Sie für Editoren verwendet haben) nicht gleich sind, aber ichHoffnungmeine Lösung wird für Ihren Stil geeignet sein, da sie die Änderung eines Makros erfordert, das Sie vermutlich noch nicht angerührt haben – oder, falls doch, anpassen können.
Die Standard-Biblatex-Stile gehen alle davon aus, dass editora
usw. mit der Zeitschrift oder dem Buch und nicht mit dem Artikel verknüpft sind, wie Sie bemerken. Die Art und Weise, wie diese Dinge gesetzt werden, ist in einem besonders schön verknoteten Satz von Makros verankert, an denen ich nicht gerne herumfummele. Es gibt also zumindest zwei sinnvolle Möglichkeiten:
Ändern Sie den
inproceedings
Treiber, um nach einemeditora
(oder was auch immer) zu suchen und sich zuerst darum zu kümmern.Hacken Sie dieAutorMakro, damit es die Arbeit erledigt.
Da ich keinen Zugriff auf Ihre geänderten Treiber habe, habe ich das Zweite getan. Um dies zu verwenden, müssen Sie die relevante Person namea
und die relevante „Rolle“ in das nameatype
Feld eingeben. Ich habe (vielleicht willkürlich) beschlossen, die Verwendung von Bindestrichen zu verhindern, wenn ein Mitarbeiter vorhanden ist (da es nicht eindeutig wäre, ob der Autor derselbe ist oder beide derselbe sind, und ich nicht weiß, wie man beide hasht: Ein echter Experte könnte es wissen, aber es ist unwahrscheinlich, dass es eine Rolle spielt).
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@INPROCEEDINGS{roure07,
author = {Réjane Roure},
title = {Armes et têtes coupées au Cailar (Gard): premier éléments de réflexion
sur un dépôts rituel en Gaule méditerranéenne},
booktitle = {L'âge du Fer dans l'arc jurassien et ses marges : dépôts, lieux sacrés
et territorialité à l'âge du Fer : actes du XXIX\ieme{} colloque
international de l'AFEAF, volume 2},
year = {2007},
editor = {{\relax Ph}ilippe Barral and Alain Daubigney and Cynthia Dunning
and Gilbert Kaenel and Marie-Jeanne Roulière-Lambert},
pages = {653-658},
address = {Besançon},
publisher = {Presses universitaires de Franche-Comté},
namea = {Henri Duday},
nameatype = {collaborator},
eventdate = {2005-05},
owner = {Axel},
timestamp = {2014.03.06},
venue = {Bienne}
}
\end{filecontents}
\usepackage[style=authortitle]{biblatex}
\makeatletter
\renewbibmacro*{author}{%
\ifboolexpr{
test \ifuseauthor
and
not test {\ifnameundef{author}}
}
{\usebibmacro{bbx:dashcheck}
{\bibnamedash}
{\printnames{author}%
\setunit{\addcomma\space}%
\usebibmacro{bbx:savehash}%
\usebibmacro{authorstrg}%
\ifnameundef{namea}
{}
{\setunit{\addcomma\space}%
\global\undef\bbx@lasthash%
\usebibmacro{authorstrg}%
\setunit{\addspace}%
\usebibmacro{bynameastrg}%
\setunit{\addspace}%
\printnames{namea}}}}
{\global\undef\bbx@lasthash}}
\newbibmacro*{bynameastrg}{%
\iffieldundef{nameatype}
{}
{\usebibmacro{bytypestrg}{namea}{editor}}}
\makeatother
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
AKTUALISIEREN
Aufgrund Deiner zahlreichen Modifikationen (die beinahe einem neuen Stil gleichkommen!) würde ich die Sache anders angehen, den Mitarbeiter aber dennoch ins namea
Feld und den Typ ins nameatype
Feld stellen.
Wir definieren zwei neue, bibmacros
um das namea
Feld zu formatieren.
\newbibmacro{nameaname}{%
\ifnameundef{namea}
{}
{\usebibmacro{bynameastrg}%
\printnames{namea}}}
\newbibmacro*{bynameastrg}{%
\iffieldundef{nameatype}
{}
{\setunit{\addspace}%
\usebibmacro{bytypestrg}{namea}{editor}}}
Anschließend ändern wir den inproceedings
Treiber so, dass das namea
Makro unmittelbar nach dem Drucken des Autors verwendet wird.
...
\usebibmacro{author/editor+others}%
\usebibmacro{nameaname}%<--ADDED
\setunit{\space\textendash\space}\newblock
...
( Bei Bedarf können Sie dies auch mit incollection
und tun .)inbook
So entsteht das Ergebnis:
Bei dieser Gelegenheit habe ich (wie ursprünglich) das Hashing nicht geändert, um die Verwendung eines Bindestrichs für einen wiederholten Autor zu verhindern, aber Sie könnten dies problemlos zum nameaname
Makro hinzufügen, wenn Sie möchten.