Open LukasCBossert opened 7 years ago
\DeclareSortingScheme{nyt}{
\sort{
\field{presort}
}
\sort[final]{
\field{sortkey}
}
\sort{
\field{shorthand}%<---------
\field{sortname}
\field{author}
\field{editor}
\field{translator}
\field{sorttitle}
\field{title}
}
\sort{
\field{sortyear}
\field{year}
}
\sort{
\field{sorttitle}
\field{title}
}
\sort{
\field{volume}
\literal{0}
}
}
Tut schon, was es behauptet zu tun. Es ist jetzt aber so, dass für biblatex
und Biber der in den eckigen Klammern hinzugefügte Kram nicht Teil des shorthand
s ist. Zum sortieren wird er also nicht herangezogen.
Die einfachste Lösung, die mir einfällt, ist das shorthand
-Feld mit Biber direkt zu manipulieren. Also mit einer sourcemap dafür zu sorgen, dass die Klammern und der Übersetzter dazu kommen.
Stattdessen kannst Du natürlich auch shorthand
lassen wie es ist und nur sortkey
passend setzten.
Ok, das ist natürlich einleuchtend, dass der Zusatz in den eckigen Klammern nicht Teil der shorthand
ist. Meine Versuche mit einer sourcemap scheitern:
\ifbool{cbx:uniqueme}{%
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map[overwrite, foreach={editor, series,translator}]{
\step[fieldsource=\regexp{$MAPLOOP},%<--- wie spricht man hier das Makro 'uniqueshorthand' an? `editor` etc haben ja zunächst keine eckige Klammer
match={[},
replace={}]
\step[fieldsource=\regexp{$MAPLOOP},%<--- wie spricht man hier das Makro 'uniqueshorthand' an?
match={]},
replace={}]
\step[fieldsource=shorthand,%<---- hier müsste ich den Inhalt aus 'shorthand' und dem Makro 'uniqueshorthand' ansprechen
fieldtarget=sortshorthand]
}
} }
}{}
Die Sourcemap ist nur dann notwendig, wenn ein Eintrag auch die Option uniqueme
hat (daher die Abfrage am Anfang, die man ggf. auch in die Sourcemap packen kann?)
Die Vorschrift, mit der Du den Zusatz in Klammern bestimmst ist recht kompliztiert. Ich kann mir vorstellen, dass die Sourcemap recht schnell explodiert. Du kannst immer nur eine pro Dokument haben. Außerdem werden sie nicht pro Eintrag abgearbeitet, sodass Du \ifbool{cbx:uniqueme}
außen nicht anwenden kannst. In einer sourcemap kannst Du auf die die Befehle von biblatex
aber nicht zugreifen. Schon \iffieldundef
muss anders geregelt werden.
Ich sehe auf die Schnelle keine schöne Lösung. Ich fände es aber akzeptabel, wenn der Nutzer das Shorthand vollständig (also inklusive Klammmerzusatz) selbst angeben müsste.
Ok, dann wäre es einfacher (wenn man nicht händisch eine shorthand
oder sortshorthand
definieren möchte) eine bessere Lösung für das Makro uniqueshorthand
zu finden!? Danke dir für die Einschätzung.
Mhhh, das uniqueshorthand
ist ja für die automatische Ausgabe in den Zitaten gut. Wenn Du das automatisch halten möchtest, dann musst Du Dir überlegen, ob Du auch mit einer einfacheren Ausgabe leben kannst.
Dein Problem ist, dass Du eigentlich ein Sortierschema benötigst, das die Bibliographie exakt nach der Zitatausgabe sortiert. Wenn Du dann spezielle Dinge in den Zitaten machst, dann muss die Sortierung das Nachbilden können. Im von Biber durchgeführten Sortierprozess ist an viele Dinge, auf die im Dokument (mit biblatex
) leicht zuzugreifen ist, nicht oder nur schwierig heranzukommen.
Dann werde ich lieber die sortshorthands
händisch bestücken, denn uniqueshorthand
funktioniert soweit ganz gut und ich habe lieber das automatisch.
Ich lasse das issue mal offen, vielleicht ergibt sich irgendwann mal eine Lösung.
Es gibt die Möglichkeit bei antiken Werken an die
shorthands
einen individuellen und möglichst eindeutigen Zusatz zu setzen. Dieser wird in eckige Klammern geschrieben. Bei der Sortierung in der Bibliographie wird allerdings nachyear
aufsteigend sortiert. Da ich nicht manuellsortshorthand
für jeden Eintrag definieren möchte, kann ich die Sortierung weiterhin über dieshorthands
laufen lassen? Sodass zuerst der Eintrag ohne Klammer, dann die mit Klammer alphabetisch angeordnet werden, @moewew ?%---- Ich stelle gerade fest, dass mit dem Einfügen von
\sort{\field{shorthand}}
zwar oberflächlich gesehen sehr weit komme, aber im Endeffekt dann die Reihenfolge in der Bibliografie die Sortierung bestimmt, was auch nicht sein sollte. MWE unten.Es handelt sich um diesen Block, der den Wert in der eckigen Klammer bestimmt:
archaeologie.cbx
: