von Gast » Do 23. Mär 2017, 11:18
Wenn Du den Namen wirklich immer starr in dem Format 'Marcus Tullius Cicero' haben möchtest, dann solltest Du ihn in (doppelte) geschweifte Klammern setzen. Um dann die Sortierung anzupassen, gibt es das Feld sortname, dort gibst Du dann Cicero, Marcus Tullius (oder nur Cicero) ein. Das sortiert dann den Namen unter 'C'.
Je nach dem, ob Du in Zitaten nur 'Cicero' oder den ganzen Namen sehen möchtest, kannst Du dann noch shortauthor mit 'Cicero' befüllen.
author = {{Marcus Tullius Cicero}},
sortname = {Cicero, Marcus Tullius},
shortauthor = {Cicero},% für 'Cicero' statt 'Marcus Tullius Cicero' in Zitaten
Wäre Cicero der Herausgeber, wären die entsperchenden Felder in derselben Reihenfolge übrigens editor (klar), sortname (wieder!, hier also keine Veränderung) und shorteditor (auch das konnten wir uns denken).
Nun hat meine Vorrednerin/mein Vorredner, bereits darauf hingewiesen, dass bestimmte Kombinationen der Belegung dieser drei Felder unter Umständen der Leserin eher das Leben schwer machen und sie dazu bringen, an Deinem Verzeichnis zu (ver)zweifeln, als dass sie sinnvoll sind.
Für die Fans von tollen (und wahrscheinlich selten genutzten) Biber-Features gibt es auch eine alternative Lösung in Anlehnung an
Bibtex/Biber: how to cite an author using Ethiopian conventions?
Mein wissen über römische Namen speist sich leider nur aus dem [url=
https://en.wikipedia.org/wiki/Roman_nam ... ria_nomina]Wikipedia-Artikel dazu[/tt] und nicht mehr aus dem schon etwas zurückliegenden Lateinunterricht.
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{filecontents}
\begin{filecontents*}{ancientroman.dbx}
\DeclareDatamodelConstant[type=list]{nameparts}{prefix,family,suffix,given,praenomen,nomen,cognomen}% the last three are for ancient Roman names
\end{filecontents*}
\begin{filecontents*}{\jobname.bib}
@book{bellgall,
author = {praenomen=Marcus, nomen=Tullius, cognomen=Cicero, sortnamekeyscheme=ancientroman},
title = {Commentarii de Bello Gallico},
shortttitle = {De Bello Gallico},
date = {1983},
}
@book{natdeo,
author = {praenomen=Marcus, nomen=Tullius, cognomen=Cicero, sortnamekeyscheme=ancientroman},
title = {De natura deorum. {\"U}ber das Wesen der G{\"o}tter},
date = 1995,
editor = {Blank-Sangmeister, Ursula},
translator = {Blank-Sangmeister, Ursula},
afterword = {Thraede, Klaus},
language = {langlatin and langgerman},
publisher = {Reclam},
location = {Stuttgart},
}
\end{filecontents*}
\usepackage[style=authoryear-icomp,datamodel=ancientroman]{biblatex}
\addbibresource{biblatex-examples.bib}
\addbibresource{\jobname.bib}
% sort 'Marcus Tullius Cicero' under 'Cicero -> Tullius -> Marcus'
\DeclareSortingNamekeyScheme[ancientroman]{
\keypart{
\namepart{cognomen}
}
\keypart{
\namepart{nomen}
}
\keypart{
\namepart{praenomen}
}
}
\DeclareNameAlias{sortname}{family-given}
% given-family gives 'Marcus Tullius Cicero' in full
\DeclareNameFormat{given-family}{%
\ifsortnamekeyscheme{ancientroman}
{\usebibmacro{name:ancientroman-full}
{\namepartpraenomen}
{\namepartnomen}
{\namepartcognomen}}
{\ifgiveninits
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}}%
\usebibmacro{name:andothers}}
% family-given also gives 'Marcus Tullius Cicero' in full (no inversion here!)
\DeclareNameFormat{family-given}{%
\ifsortnamekeyscheme{ancientroman}
{\usebibmacro{name:ancientroman-full}
{\namepartpraenomen}
{\namepartnomen}
{\namepartcognomen}}
{\ifgiveninits
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}}%
\usebibmacro{name:andothers}}
% labelname (used in citations) uses 'Cicero' only
\DeclareNameFormat{labelname}{%
\ifsortnamekeyscheme{ancientroman}
{\usebibmacro{name:ancientroman-short}
{\namepartpraenomen}
{\namepartnomen}
{\namepartcognomen}}
{\ifcase\value{uniquename}%
\usebibmacro{name:family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\or
\ifuseprefix
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffixi}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefixi}
{\namepartsuffixi}}%
\or
\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\fi}
\usebibmacro{name:andothers}}
\newbibmacro*{name:ancientroman-short}[3]{%
\mkbibromancognomen{#3}}%
\newbibmacro*{name:ancientroman-full}[3]{%
\usebibmacro{name:delim}{#1#2#3}%
\usebibmacro{name:hook}{#1#2#3}%
\ifdefvoid{#1}{}{\mkbibromanpraenomen{#1}\isdot}%
\ifdefvoid{#2}{}{\bibnamedelimd\mkbibromannomen{#2}\isdot}%
\ifdefvoid{#3}{}{\bibnamedelimd\mkbibromancognomen{#3}\isdot}}
\let\mkbibromancognomen\mkbibnamefamily
\let\mkbibromannomen\mkbibnamegiven
\let\mkbibromanpraenomen\mkbibnamegiven
\begin{document}
\textcite{bellgall,natdeo,sigfridsson,knuth:ct:a,coleridge,averroes/hercz}
\printbibliography
\end{document}
Die Erklärungen für den Code finden sich in dem erwähnten Link und in den Kommentaren im Code.
Da die Eingabe (weit) weniger komfortabel ist, und auch einiges mehr an Code benötigt wird, ist das vielleicht eher als Spielerei zu sehen. Aber es zeigt, was biblatex alle schon kann, und Du bist hier natürlich viel flexibler, was spätere Änderungen an Sortierung und Ausgabe angeht. (Das erfordert dann keine Änderung an Deiner .bib-Datei, alles kann vom Dokument aus geregelt werden.)
Wenn Du den Namen wirklich immer starr in dem Format 'Marcus Tullius Cicero' haben möchtest, dann solltest Du ihn in (doppelte) geschweifte Klammern setzen. Um dann die Sortierung anzupassen, gibt es das Feld [tt]sortname[/tt], dort gibst Du dann [tt]Cicero, Marcus Tullius[/tt] (oder nur [tt]Cicero[/tt]) ein. Das sortiert dann den Namen unter 'C'.
Je nach dem, ob Du in Zitaten nur 'Cicero' oder den ganzen Namen sehen möchtest, kannst Du dann noch [tt]shortauthor[/tt] mit 'Cicero' befüllen.
[code]author = {{Marcus Tullius Cicero}},
sortname = {Cicero, Marcus Tullius},
shortauthor = {Cicero},% für 'Cicero' statt 'Marcus Tullius Cicero' in Zitaten[/code]
Wäre Cicero der Herausgeber, wären die entsperchenden Felder in derselben Reihenfolge übrigens [tt]editor[/tt] (klar), [tt]sortname[/tt] (wieder!, hier also keine Veränderung) und [tt]shorteditor[/tt] (auch das konnten wir uns denken).
Nun hat meine Vorrednerin/mein Vorredner, bereits darauf hingewiesen, dass bestimmte Kombinationen der Belegung dieser drei Felder unter Umständen der Leserin eher das Leben schwer machen und sie dazu bringen, an Deinem Verzeichnis zu (ver)zweifeln, als dass sie sinnvoll sind.
Für die Fans von tollen (und wahrscheinlich selten genutzten) Biber-Features gibt es auch eine alternative Lösung in Anlehnung an [url=http://tex.stackexchange.com/q/313176/35864]Bibtex/Biber: how to cite an author using Ethiopian conventions?[/url]
Mein wissen über römische Namen speist sich leider nur aus dem [url=https://en.wikipedia.org/wiki/Roman_naming_conventions#The_tria_nomina]Wikipedia-Artikel dazu[/tt] und nicht mehr aus dem schon etwas zurückliegenden Lateinunterricht.
[code]\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{filecontents}
\begin{filecontents*}{ancientroman.dbx}
\DeclareDatamodelConstant[type=list]{nameparts}{prefix,family,suffix,given,praenomen,nomen,cognomen}% the last three are for ancient Roman names
\end{filecontents*}
\begin{filecontents*}{\jobname.bib}
@book{bellgall,
author = {praenomen=Marcus, nomen=Tullius, cognomen=Cicero, sortnamekeyscheme=ancientroman},
title = {Commentarii de Bello Gallico},
shortttitle = {De Bello Gallico},
date = {1983},
}
@book{natdeo,
author = {praenomen=Marcus, nomen=Tullius, cognomen=Cicero, sortnamekeyscheme=ancientroman},
title = {De natura deorum. {\"U}ber das Wesen der G{\"o}tter},
date = 1995,
editor = {Blank-Sangmeister, Ursula},
translator = {Blank-Sangmeister, Ursula},
afterword = {Thraede, Klaus},
language = {langlatin and langgerman},
publisher = {Reclam},
location = {Stuttgart},
}
\end{filecontents*}
\usepackage[style=authoryear-icomp,datamodel=ancientroman]{biblatex}
\addbibresource{biblatex-examples.bib}
\addbibresource{\jobname.bib}
% sort 'Marcus Tullius Cicero' under 'Cicero -> Tullius -> Marcus'
\DeclareSortingNamekeyScheme[ancientroman]{
\keypart{
\namepart{cognomen}
}
\keypart{
\namepart{nomen}
}
\keypart{
\namepart{praenomen}
}
}
\DeclareNameAlias{sortname}{family-given}
% given-family gives 'Marcus Tullius Cicero' in full
\DeclareNameFormat{given-family}{%
\ifsortnamekeyscheme{ancientroman}
{\usebibmacro{name:ancientroman-full}
{\namepartpraenomen}
{\namepartnomen}
{\namepartcognomen}}
{\ifgiveninits
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}}%
\usebibmacro{name:andothers}}
% family-given also gives 'Marcus Tullius Cicero' in full (no inversion here!)
\DeclareNameFormat{family-given}{%
\ifsortnamekeyscheme{ancientroman}
{\usebibmacro{name:ancientroman-full}
{\namepartpraenomen}
{\namepartnomen}
{\namepartcognomen}}
{\ifgiveninits
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}}%
\usebibmacro{name:andothers}}
% labelname (used in citations) uses 'Cicero' only
\DeclareNameFormat{labelname}{%
\ifsortnamekeyscheme{ancientroman}
{\usebibmacro{name:ancientroman-short}
{\namepartpraenomen}
{\namepartnomen}
{\namepartcognomen}}
{\ifcase\value{uniquename}%
\usebibmacro{name:family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\or
\ifuseprefix
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffixi}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefixi}
{\namepartsuffixi}}%
\or
\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\fi}
\usebibmacro{name:andothers}}
\newbibmacro*{name:ancientroman-short}[3]{%
\mkbibromancognomen{#3}}%
\newbibmacro*{name:ancientroman-full}[3]{%
\usebibmacro{name:delim}{#1#2#3}%
\usebibmacro{name:hook}{#1#2#3}%
\ifdefvoid{#1}{}{\mkbibromanpraenomen{#1}\isdot}%
\ifdefvoid{#2}{}{\bibnamedelimd\mkbibromannomen{#2}\isdot}%
\ifdefvoid{#3}{}{\bibnamedelimd\mkbibromancognomen{#3}\isdot}}
\let\mkbibromancognomen\mkbibnamefamily
\let\mkbibromannomen\mkbibnamegiven
\let\mkbibromanpraenomen\mkbibnamegiven
\begin{document}
\textcite{bellgall,natdeo,sigfridsson,knuth:ct:a,coleridge,averroes/hercz}
\printbibliography
\end{document}[/code]
Die Erklärungen für den Code finden sich in dem erwähnten Link und in den Kommentaren im Code.
Da die Eingabe (weit) weniger komfortabel ist, und auch einiges mehr an Code benötigt wird, ist das vielleicht eher als Spielerei zu sehen. Aber es zeigt, was [tt]biblatex[/tt] alle schon kann, und Du bist hier natürlich viel flexibler, was spätere Änderungen an Sortierung und Ausgabe angeht. (Das erfordert dann keine Änderung an Deiner [tt].bib[/tt]-Datei, alles kann vom Dokument aus geregelt werden.)