LukasCBossert / biblatex-arthistory-bonn

Zitier- und Bibliographieregeln gemäß der Kunstgeschichte Universität Bonn
3 stars 1 forks source link

Sortierung von ›Ausst.-Kat.‹ und ›Kat.‹ #15

Open LukasCBossert opened 7 years ago

LukasCBossert commented 7 years ago

Die Sortierung der bibentrytype soll so erfolgen, dass sie unter ihrem Label in der Bibliographie aufgeführt werden. Das heißt für ngerman bei @exhibcatalog unter Ausst.-Kat. ... und für @catalog unter Kat. ....

Wie kann man das einfügen, @moewew? Ich nehme an, das passiert auch in

\DeclareSortingScheme{nyt}{
  \sort{
    \field{presort}
  }
  \sort[final]{
    \field{sortkey}
  }
  \sort{
    \field{sortshorthand}
    \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}
  }
}
moewew commented 7 years ago

Mhhh, das scheint mir auf den ersten Blick recht kompliziert. biblatex kennt keine typspezifische Sortierung. Weiter ist es ein Problem, dass ein bibstring (in seiner letzendlich expandierten Form) genutzt werden soll. Biber übernimmt die Sortierung, ich weiß nicht ob der die bibstrings auspacken kann (und schon gar nicht, ob das nach der passenden Sprache geschehen kann - Biber kennt die Dokumentensprache m.E. nicht!).

Mit sourcemapping könnte man wohl mehrere Felder in eins kombinieren, aber das hilft hier wirklich nur bedingt weiter.

LukasCBossert commented 7 years ago

Danke für die Einschätzung. Aber hattest du es so gemeint mit dem eigenen entry-type und der Lösung über bibstring?

Kann man sortlabel dynamisch erstellen? In dem Sinne, dass ein fester Bestandteil (bspw. Ausst.-Kat.) und ein dynamischer (ein Eintrag aus einem anderen Feld) kombiniert werden?

moewew commented 7 years ago

Ich habe mir den Code noch nicht genauer angesehen und werde diese Woche da wohl auch nicht mehr wirklich zu kommen. Was ich bis jetzt gesehen habe, sieht aber in etwa so aus, wie ich es auch gemacht hätte.

Man kann zumindest mehr oder weniger dynamisch mit Bibers sourcemapping Felder - oder festen Text und Felder - zusammenfügen - bibstrings sind aber komplizierter, denke ich.

LukasCBossert commented 7 years ago

Ok, ich schau mir mal die sourcemapping-Sache an. Danke!

LukasCBossert commented 7 years ago

Man könnte ja dann zwei Sourcemapping-Varianten machen: Einmal wenn Deutsch als Hauptsprache gewählt ist (dann Ausst.-Kat. VENUE DATE) und wenn Englisch oder alle anderen (dann Exhib. cat. VENUE DATE).

moewew commented 7 years ago

Ja, das ist auch das einzige, was mir dazu gerade einfällt. Elegant ist aber etwas anderes. Außerdem müsstest Du für jede unterstützte Sprache eine eigene map machen.

LukasCBossert commented 7 years ago

\iflanguage{ngerman}{%
\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \pertype{exhibcatalog}
      \step[fieldsource=exhibfirstvenue]
      \step[fieldsource=exhibsecondvenue]
      \step[fieldsource=eventdate]
      \step[fieldset=sortkey, fieldvalue={Ausst.-Kat. [[exhibfirstvenue]]/[[exhibsecondvenue]] [[eventdate]]}]
    }
} }
}
{%
\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \pertype{exhibcatalog}
      \step[fieldsource=exhibfirstvenue]
      \step[fieldsource=exhibsecondvenue]
      \step[fieldsource=eventdate]
      \step[fieldset=sortkey, fieldvalue={Exhib. cat. [[exhibfirstvenue]]/[[exhibsecondvenue]] [[eventdate]]}]
    }
} }
}

Jetzt müssen ›nur‹ noch die Felder [[...]] eingefügt werden - was ich nicht schaffe.

moewew commented 7 years ago

Du kannst mit append an Felder anfügen. Außerdem brauchst Du wohl origfieldval. Siehe §4.5.3 Dynamic Modification of Data in der biblatex-Doku, besonders die Beispiele auf S. 170 unten und S. 171.

Haben die Kataloge immer ein exhibsecondvenue? Warum nutzt Du nicht nur exhibitvenue als Liste? Beachte, dass mit sourcemapping immer die Feldinhalte kopiert werden und nicht der vearbeitete Inhalt, das ist besonders bei Datumsfeldern relevant.

LukasCBossert commented 7 years ago

ah, exhibitvenue als Liste ist natürlich auch nicht schlecht. Aber von der intuitiven Dateneingabe würde ich vielleicht eher exhibitsecondvenue bevorzugen, weil es dann analog zu exhibitsecond... zu befüllen ist.

Gut, dass keine Datumsfelder ge-source-mapped werden müssen. Aber ich kann dennoch die Beispiele aus der biblatex-Dokumentation für arthistory umsetzen. Es liest sich auf Seite 170/171 sehr logisch, aber ich habe wohl nen Knoten im Kopf.