Lieber Tobi,
vielen Dank für Ihre Geduld. Mit dem folgenden Code ist es möglich, das Präfix bei Fussnoten vor dem Nachnamen zu stellen und im Literaturverzeichnis nach dem Vornamen:
- Code: Select all
using System.Linq;
using System.Collections.Generic;
namespace SwissAcademic.Citavi.Citations
{
//Output LastNameForSorting of each person (if exists)
public class ComponentPartFilter
:
IComponentPartFilter
{
public IEnumerable<ITextUnit> GetTextUnits(ComponentPart componentPart, Template template, Citation citation, out bool handled)
{
handled = false;
if (citation == null) return null;
if (citation.Reference == null) return null;
if (componentPart == null) return null;
if (componentPart.Elements == null || componentPart.Elements.Count != 1) return null;
var personFieldElement = componentPart.Elements[0] as PersonFieldElement;
if (personFieldElement == null) return null;
var persons = citation.Reference.GetValue(personFieldElement.PropertyId) as IList<IPerson>;
if (!persons.Any()) return null;
var textUnits = PersonFormatter.Format(GetClonedPersons(persons), citation, personFieldElement);
handled = true;
return textUnits;
}
IList<IPerson> GetClonedPersons(IList<IPerson> persons)
{
List<Person> clonedPersons = new List<Person>();
var originalPersons = persons.Cast<Person>();
foreach(Person person in persons)
{
if (!string.IsNullOrEmpty(person.LastNameForSorting))
{
Person clonedPerson = person.Clone();
clonedPerson.LastName = person.LastNameForSorting;
clonedPerson.FirstName = string.Empty;
clonedPerson.MiddleName = string.Empty;
clonedPersons.Add(clonedPerson);
}
else
{
clonedPersons.Add(person.Clone(person.Project, false));
}
}
return clonedPersons.Cast<IPerson>().ToList();
}
}
}
.
Die Voraussetzung dafür, dass der Code richtig funktioniert, ist, dass Sie unter
Listen >
Personen/Institutionen den Namen mit dem Präfix erfassen. Ins
Sortieren nach-Feld geben Sie den Namen so ein, wie es im Literaturverzeichnis erscheinen soll:

Sie müssen ausserdem den obigen Code in Ihrem Zitationsstil bei allen Personen-Komponenten (z.B. Autor, Herausgeber oder Institution) im
Literaturverzeichnis-Regelset bei allen Dokumententypen einbauen. Wie Sie das machen ist im folgenden Handbuch-Kapitel beschrieben:
http://www.citavi.com/sub/manual4/de/index.html?cse_programmable_components.htmlWenn Sie noch Fragen oder Schwierigkeiten haben, zögern Sie bitte nicht, sich nochmals zu melden!
Freundliche Grüsse
Jennifer