This forum is read-only - Please use our new Citavi Forum instead.
Dieses Forum dient nur zur Recherche - Bitte nutzen Sie das neue Citavi Forum für Ihre Fragen.

Vorname nur bei uneindeutigen Nachnamen einfügen Topic is solved

Erhalten Sie Hilfe bei der Anwendung juristischer Zitationsstile.

Vorname nur bei uneindeutigen Nachnamen einfügen

Postby thomas.riehm » 2014-01-06 08:46

Liebes Citavi-Team,

in juristischen Zitierstilen ist es üblich, den Vornamen von Autoren (i.d.R. nur den ersten Buchstaben davon) dann und nur dann anzugeben, wenn der Nachname uneindeutig ist (zB Müller, Schmidt, ...). "Uneindeutig" heißt hierbei leider nicht: Im Projekt mehrfach vorhanden, sondern heißt: Der wissenschaftlichen Community mehrfach bekannt (unabhängig davon, ob die verschiedenen Autoren mit gleichem Nachnamen im gleichen Dokument zitiert werden).

Ich wäre in der Lage, bei den "uneindeutigen" Autoren im Notizfeld des Autors einen Marker zu hinterlegen. Aber wie bringe ich die entsprechende Komponente dazu, in den Fußnoten den abgekürzten Vornamen nur dann anzubringen, wenn der Marker gesetzt ist? Ich würde dafür eigentlich die Eigenschaften des Feldelements nutzen, weiß aber nicht, wie ich auf diese dynamisch zugreifen kann.

Zu allem Überfluss nutze ich in den Fußnoten noch den "ders./dies."-Filter, mit dem sich das dementsprechend ergänzen müsste.

Herzlichen Dank für jede Hilfestellung
Ihr
Thomas Riehm
thomas.riehm
Citavi Expert
 

Re: Vorname nur bei uneindeutigen Nachnamen einfügen

Postby Jennifer Schultz » 2014-01-06 18:06

Lieber Herr Riehm,

vielen Dank für Ihre Frage! Vornamen nur bei bestimmten Autoren zu verwenden ist leider im Moment technisch nicht möglich. Ich nehme Ihren Vorschlag aber gerne in unsere Wunschliste für neue Funktionen auf.

Ich habe unseren Entwickler auch hierzu gefragt und er hat mir die folgende Erklärung und Erläuterung von den Feldelementen bei Personen-Komponenten gegeben:
"Die internen Routinen zur Ausgabe/Formatierung von Personennamen ("PersonFormatter-Klasse") ist sehr komplex und bringt folgende Elemente zusammen:
A) die Datenlage bei den auszugebenden Personen-Objekten (Nachname, Vorname, Mittelname, Präfix, Suffix, ggf. Abkürzung usw.)
B) die zahlreichen und komplexen Einstellungen am Feldelement innerhalb der jeweiligen Zitationsstil-Komponente und
C) die Auflösung von Mehrdeutigkeiten innerhalb der Publikation durch Anwenden geeigneter und im Stil eingestellter Maßnahmen (i.e. mehr Personen anzeigen falls et al. Abkürzung greift oder Vornamen hinzunehmen)

Das ganze müsste in einer programmierten Komponente nachgebildet werden, welche gleichzeitig die neue Funktion "bei bestimmten Personen immer Vorname abgekürzt ausgeben" mit hinzunimmt, welche Citavi noch nicht kennt. Dies ist zur Zeit nur sehr schlecht möglich - allenfalls mit großen Abstrichen (z.B. bei C, der Mehrdeutigkeitsauflösung).

Dynamischen Zugriff auf die Einstellungen im Personen-Feldelement der jeweiligen Komponte kann im Rahmen des Filter-Codes z.B. so erfolgen:

Code: Select all
if (citation == null) return null;
if (citation.Reference == null) return null;
if (componentPart == null) return null;
if (componentPart.Elements == null || componentPart.Elements.Count == 0) return null;

IEnumerable<PersonFieldElement> personFieldElements = componentPart.Elements.OfType<PersonFieldElement>();
if (personFieldElements == null || personFieldElements.Count() != 1) return null;

PersonFieldElement personFieldElement = personFieldElements.ElementAt(0);

if (personFieldElement == null) return null;


Dann stehen die meisten Eigenschaften des Personen-Feldelements über das Intellisense Fenster zur Verfügung."

Freundliche Grüsse
Jennifer Schultz
Jennifer Schultz
Citavi Customer Service
 

Re: Vorname nur bei uneindeutigen Nachnamen einfügen

Postby thomas.riehm » 2014-01-07 23:20

Sehr geehrte Frau Schultz,

vielen herzlichen Dank für diesen wertvollen Hinweis und Einstieg! Ich konnte die Funktion inzwischen auf dieser Grundlage programmieren. Mein Code funktioniert jedenfalls für meinen Zitationsstil, in dem maximal 3 Autorennamen hintereinander kommen (ansonsten wird nach dem dritten mit "et al." abgekürzt). Und v.a.: Er funktioniert auch zusammen mit dem von Ihnen erstellten Code zu "ders./dies.", so dass ich tatsächlich nur ein einziges dynamisches Element für den Autoren brauche.

Hier wäre mein Code - sicher geht es auch eleganter, aber bei mir funktioniert er (vorausgesetzt, er steht an der richtigen Stelle des ders./dies.-Codes):

Code: Select all
         // Autoren ggfs. Vornamen hinzufügen
         if (componentPart == null) return null;
         if (componentPart.Elements == null || componentPart.Elements.Count == 0) return null;

         IEnumerable<PersonFieldElement> personFieldElements = componentPart.Elements.OfType<PersonFieldElement>();
         if (personFieldElements == null || personFieldElements.Count() != 1) return null;

         PersonFieldElement personFieldElement = personFieldElements.ElementAt(0);

         if (personFieldElement == null) return null;

         IList<IPerson> AuthorsList = citation.Reference.GetAuthors();
         if(AuthorsList.Count==0)
            return null;
         if(AuthorsList[0].Notes.Equals("Uneindeutig"))
         {
            personFieldElement.FirstGroupPersonNameOrder=PersonNameOrder.FirstNameLastName;
            personFieldElement.FirstGroupFirstNameFormat=NameFormat.AbbreviatedCompact;
            personFieldElement.FirstGroupMiddleNameUsage=MiddleNameUsage.FirstOnly;
            personFieldElement.FirstGroupMiddleNameFormat=NameFormat.AbbreviatedCompact;
         }
               // more than two authors: use "FirstGroup", "SecondGroup" and "LastPerson"
               // note that the citation style truncates the list aftre the third author, so we can content ourselves with the first three
               // and use "LastPerson" for the third one
         if(AuthorsList.Count==2) // only two authors - no need for "LastPerson"
            personFieldElement.UseDifferentFormatForLastPerson=false;
         else // more than two authors
            personFieldElement.UseDifferentFormatForLastPerson=true;
         if(AuthorsList.Count>1&& AuthorsList[1].Notes.Equals("Uneindeutig"))
         {
            personFieldElement.SecondGroupPersonNameOrder=PersonNameOrder.FirstNameLastName;
            personFieldElement.SecondGroupFirstNameFormat=NameFormat.AbbreviatedCompact;
            personFieldElement.SecondGroupMiddleNameUsage=MiddleNameUsage.FirstOnly;
            personFieldElement.SecondGroupMiddleNameFormat=NameFormat.AbbreviatedCompact;
         }
         if(AuthorsList.Count>2 && AuthorsList[2].Notes.Equals("Uneindeutig")) // third Person last - we don't show more than three here
         {
            personFieldElement.LastPersonPersonNameOrder=PersonNameOrder.FirstNameLastName;
            personFieldElement.LastPersonFirstNameFormat=NameFormat.AbbreviatedCompact;
            personFieldElement.LastPersonMiddleNameUsage=MiddleNameUsage.FirstOnly;
            personFieldElement.LastPersonMiddleNameFormat=NameFormat.AbbreviatedCompact;
         }


Beste Grüße
Thomas Riehm
thomas.riehm
Citavi Expert
 

Re: Vorname nur bei uneindeutigen Nachnamen einfügen  Topic is solved

Postby Jennifer Schultz » 2014-01-08 11:33

Sehr geehrter Herr Riehm,

vielen Dank dafür, dass Sie den Code mit uns teilen! Es freut mich, dass wir helfen konnten!

Freundliche Grüsse
Jennifer Schultz
Jennifer Schultz
Citavi Customer Service
 

Re: Vorname nur bei uneindeutigen Nachnamen einfügen

Postby kai.h » 2014-01-17 10:16

Sehr geehrter Herr Riehm,

ich würde die Funktion gern in meinen Zitierstil übernehmen. Wo tragen Sie "uneindeutig" ein, beim Feld Notiz zur Person?

Könnten Sie den gesamten Code für die Autoren-Komponente veröffentlichen, damit ich weiß, wo er in die dies./ders.-Formatierung eingefügt werden muss?

Vielen Dank! Mit freundlichen Grüßen

Kai Hofmann
kai.h
 

Re: Vorname nur bei uneindeutigen Nachnamen einfügen

Postby Silvester » 2014-05-25 12:05

Hallo Zusammen,

Ohne wirkliches Verständnis habe ich verschiedene Stellen ausprobiert, funktioniert hat das Einfügen in den Filter, sodass es so aussieht.

Code: Select all
using System;
using System.Linq;
using System.Collections.Generic;
using SwissAcademic.Citavi;
using SwissAcademic.Citavi.Metadata;


namespace SwissAcademic.Citavi.Citations
{
   public class ComponentPartFilter
      :
      IComponentPartFilter
   {
      //Version 1.2 Takes all combinations of number/sex into account
      //Version 1.1 Takes organizations into account
      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 (citation.PreviousCitation == null) return null;
         if (citation.PreviousCitation.Reference == null) return null;

       // Autoren ggfs. Vornamen hinzufügen
         if (componentPart == null) return null;
         if (componentPart.Elements == null || componentPart.Elements.Count == 0) return null;

         IEnumerable<PersonFieldElement> personFieldElements = componentPart.Elements.OfType<PersonFieldElement>();
         if (personFieldElements == null || personFieldElements.Count() != 1) return null;

         PersonFieldElement personFieldElement = personFieldElements.ElementAt(0);

         if (personFieldElement == null) return null;

         IList<IPerson> AuthorsList = citation.Reference.GetAuthors();
         if(AuthorsList.Count==0)
            return null;
         if(AuthorsList[0].Notes.Equals("Uneindeutig"))
         {
            personFieldElement.FirstGroupPersonNameOrder=PersonNameOrder.FirstNameLastName;
            personFieldElement.FirstGroupFirstNameFormat=NameFormat.AbbreviatedCompact;
            personFieldElement.FirstGroupMiddleNameUsage=MiddleNameUsage.FirstOnly;
            personFieldElement.FirstGroupMiddleNameFormat=NameFormat.AbbreviatedCompact;
         }
               // more than two authors: use "FirstGroup", "SecondGroup" and "LastPerson"
               // note that the citation style truncates the list aftre the third author, so we can content ourselves with the first three
               // and use "LastPerson" for the third one
         if(AuthorsList.Count==2) // only two authors - no need for "LastPerson"
            personFieldElement.UseDifferentFormatForLastPerson=false;
         else // more than two authors
            personFieldElement.UseDifferentFormatForLastPerson=true;
         if(AuthorsList.Count>1&& AuthorsList[1].Notes.Equals("Uneindeutig"))
         {
            personFieldElement.SecondGroupPersonNameOrder=PersonNameOrder.FirstNameLastName;
            personFieldElement.SecondGroupFirstNameFormat=NameFormat.AbbreviatedCompact;
            personFieldElement.SecondGroupMiddleNameUsage=MiddleNameUsage.FirstOnly;
            personFieldElement.SecondGroupMiddleNameFormat=NameFormat.AbbreviatedCompact;
         }
         if(AuthorsList.Count>2 && AuthorsList[2].Notes.Equals("Uneindeutig")) // third Person last - we don't show more than three here
         {
            personFieldElement.LastPersonPersonNameOrder=PersonNameOrder.FirstNameLastName;
            personFieldElement.LastPersonFirstNameFormat=NameFormat.AbbreviatedCompact;
            personFieldElement.LastPersonMiddleNameUsage=MiddleNameUsage.FirstOnly;
            personFieldElement.LastPersonMiddleNameFormat=NameFormat.AbbreviatedCompact;
         }
         

         //check for 1st PersonFieldElement in ComponentPart
         var firstPersonFieldElement = componentPart.Elements.FirstOrDefault(item => item is PersonFieldElement) as PersonFieldElement;
         if (firstPersonFieldElement == null) return null;

         //determine Persons to compare
         List<IPerson> thesePersons = null;
         List<IPerson> previousPersons = null;

         switch (firstPersonFieldElement.PropertyId)
         {
            #region Authors

            case ReferencePropertyId.Authors:
               {
                  thesePersons = citation.Reference.GetAuthors() as List<IPerson>;
                  previousPersons = citation.PreviousCitation.Reference.GetAuthors() as List<IPerson>;
               }
               break;

            #endregion Authors

            #region Editors

            case ReferencePropertyId.Editors:
               {
                  thesePersons = citation.Reference.GetEditors() as List<IPerson>;
                  previousPersons = citation.PreviousCitation.Reference.GetEditors() as List<IPerson>;
               }
               break;

            #endregion Editors

            #region AuthorsEditorsOrganizations

            case ReferencePropertyId.AuthorsOrEditorsOrOrganizations:
               {
                  thesePersons = citation.Reference.GetAuthorsOrEditorsOrOrganizations() as List<IPerson>;
                  previousPersons = citation.PreviousCitation.Reference.GetAuthorsOrEditorsOrOrganizations() as List<IPerson>;
               }
               break;

            #endregion AuthorsEditorsOrganizations

            #region Collaborators

            case ReferencePropertyId.Collaborators:
               {
                  thesePersons = citation.Reference.GetCollaborators() as List<IPerson>;
                  previousPersons = citation.PreviousCitation.Reference.GetCollaborators() as List<IPerson>;
               }
               break;

            #endregion Collaborators

            #region OthersInvolved

            case ReferencePropertyId.OthersInvolved:
               {
                  thesePersons = citation.Reference.GetOthersInvolved() as List<IPerson>;
                  previousPersons = citation.PreviousCitation.Reference.GetOthersInvolved() as List<IPerson>;
               }
               break;

            #endregion OthersInvolved
         }

         if (thesePersons == null || thesePersons.Count == 0) return null;
         if (previousPersons == null || previousPersons.Count == 0) return null;

         var equality = CheckPersonEquality(thesePersons, previousPersons);
         if (equality == PersonEquality.None) return null;

         #region Equality detected - generate output

         //we DO have some equality, so let's check what we need to output instead of the person's name(s)
         var text = string.Empty;
         switch (equality)
         {
            case PersonEquality.M:
               text = "ders.";
               break;

            default: //all others
               text = "dies.";
               break;

         }

         var output = new TextUnitCollection();
         var statement = new LiteralTextUnit(text);
         statement.FontStyle = SwissAcademic.Drawing.FontStyle.Italic;
         output.Add(statement);

         handled = true;
         return output;

         #endregion Equality detected - generate output
      }

      #region CheckPersonEquality

      private static PersonEquality CheckPersonEquality(IList<IPerson> personsA, IList<IPerson> personsB)
      {
         var personListA = personsA as List<IPerson>;
         var personListB = personsB as List<IPerson>;

         if (personListA == null || personListA.Count == 0) return PersonEquality.None;
         if (personListB == null || personListB.Count == 0) return PersonEquality.None;
         if (personListA.Count != personListB.Count) return PersonEquality.None;

         //we DO have two lists of persons of same length
         //FIRST sort by id for comparison
         var personIdComparer = new PersonIdComparer();
         personListA.Sort(personIdComparer);
         personListB.Sort(personIdComparer);


         var allCounter = personListA.Count;
         var maleCounter = 0;
         var femaleCounter = 0;
         var neutralCounter = 0;

         //loop, compare GUID/id and determine/count sex
         for (int i = 0; i < personListA.Count; i++)
         {
            var idA = personListA[i].GetValue(PersonPropertyId.Id).ToString();
            var idB = personListB[i].GetValue(PersonPropertyId.Id).ToString();

            if (!idA.Equals(idB, StringComparison.Ordinal)) return PersonEquality.None;

            //identical!
            //determine sex (just need to look at one of them, because they are identical)
            if (personListA[i].Sex == Sex.Male) maleCounter++;
            if (personListA[i].Sex == Sex.Female) femaleCounter++;
            if (personListA[i].Sex == Sex.Neutral || personListA[i].Sex == Sex.Unknown) neutralCounter++;
         }

         //still here, so ALL persons are equal, now return equality based on sex
         if (allCounter == 1 && maleCounter == 1) return PersonEquality.M;
         else if (allCounter == 1 && femaleCounter == 1) return PersonEquality.F;
         else if (allCounter == 1 && neutralCounter == 1) return PersonEquality.N;

         else if (allCounter > 1 && maleCounter == allCounter) return PersonEquality.MM;
         else if (allCounter > 1 && femaleCounter == allCounter) return PersonEquality.FF;
         else if (allCounter > 1 && neutralCounter == allCounter) return PersonEquality.NN;

         else if (allCounter > 1 && maleCounter + femaleCounter == allCounter) return PersonEquality.FM;
         else if (allCounter > 1 && femaleCounter + neutralCounter == allCounter) return PersonEquality.FN;
         else if (allCounter > 1 && maleCounter + neutralCounter == allCounter) return PersonEquality.MN;

         else if (allCounter >= 3
            && maleCounter >= 1 && femaleCounter >= 1 && neutralCounter >= 1
            && maleCounter + femaleCounter + neutralCounter == allCounter) return PersonEquality.FMN;
         else return PersonEquality.None;

      }

      #endregion CheckPersonEquality

      #region Enum PersonEquality

      public enum PersonEquality
      {
         /// <summary>
         /// None: Different persons and/or different numbers of persons.
         /// </summary>
         /// <returns></returns>
         None,

         /// <summary>
         /// Identical person, a single female (Latin: eadem)
         /// </summary>
         F,
         /// <summary>
         /// Identical person, a single male (Latin: idem)
         /// </summary>
         M,
         /// <summary>
         /// Identical persons, a single (neutral) organization (Latin: idem)
         /// </summary>
         N,

         /// <summary>
         /// Identical persons, only females, 2 or more (Latin: eaedem)
         /// </summary>
         FF,
         /// <summary>
         /// Identical persons, only males, 2 or more (Latin: eidem)
         /// </summary>
         MM,
         /// <summary>
         /// Identical persons, only (neutral) organizations, 2 or more (Latin: eadem)
         /// </summary>
         NN,

         /// <summary>
         /// Identical persons, mixed group of females and males only
         /// </summary>
         FM,
         /// <summary>
         /// Identical persons, mixed group of females and neutrals only
         /// </summary>
         FN,
         /// <summary>
         /// Identical persons, mixed group of males and neutrals only
         /// </summary>
         MN,

         /// <summary>
         /// Identical persons, mixed group of females, males and neutrals
         /// </summary>
         FMN
      }

      #endregion PersonEquality

      #region PersonIdComparer

      //The following is a sort comparer that will bring all person collections into a well defined order
      //namely in the order of their internal GUID values.
      public class PersonIdComparer : IComparer<IPerson>
      {
         public int Compare(IPerson person1, IPerson person2)
         {
            int returnValue = 1;
            if (person1 != null && person2 != null)
            {
               returnValue = person1.GetValue(PersonPropertyId.Id).ToString().CompareTo(person2.GetValue(PersonPropertyId.Id).ToString());
            }
            return returnValue;
         }
      }

      #endregion PersonIdComparer
   }
}


Jetzt müsste das im Literaturverzeichnis noch eine Möglichkeit geben, die Abkürzung ohne den Ders./Dies. Filter einzubauen. Gewünschtes Ergebnis wäre dass bspw. für einen solchen "uneindeutigen" Autor
- Schneider, Uwe, ... (zitiert als: U. Schneider, ...)
- Ders., ... (zitiert U. Schneider, ...)
und eben NICHT - Ders., ... (zitiert Ders., ...)

In meiner Hilflosigkeit habe ich verucht aus dem ursprünglichen Filder die Ders./Dies.-Zuweisung zu löschen. Das sieht jetzt so aus, funktioniert aber NICHT:
Code: Select all
using System.Linq;
using System.Collections.Generic;
using SwissAcademic.Citavi;
using SwissAcademic.Citavi.Metadata;
using SwissAcademic.Collections;
using SwissAcademic.Drawing;

namespace SwissAcademic.Citavi.Citations
{
   public class ComponentPartFilter
      :
      IComponentPartFilter
   {
      public IEnumerable<ITextUnit> GetTextUnits(ComponentPart componentPart, Template template, Citation citation, out bool handled)
      {
         //return handled = true if this macro generates the output (as a IEnumerable<ITextUnit>); the standard output will be suppressed
         //return handled = false if you want Citavi to produce the standard output;
         //you can still manipulate the component part and its elements before letting Citavi generate the output with handled = false
         handled = false;
         return null;
         
                  // Autoren ggfs. Vornamen hinzufügen
         if (componentPart == null) return null;
         if (componentPart.Elements == null || componentPart.Elements.Count == 0) return null;

         IEnumerable<PersonFieldElement> personFieldElements = componentPart.Elements.OfType<PersonFieldElement>();
         if (personFieldElements == null || personFieldElements.Count() != 1) return null;

         PersonFieldElement personFieldElement = personFieldElements.ElementAt(0);

         if (personFieldElement == null) return null;

         IList<IPerson> AuthorsList = citation.Reference.GetAuthors();
         if(AuthorsList.Count==0)
            return null;
         if(AuthorsList[0].Notes.Equals("Uneindeutig"))
         {
            personFieldElement.FirstGroupPersonNameOrder=PersonNameOrder.FirstNameLastName;
            personFieldElement.FirstGroupFirstNameFormat=NameFormat.AbbreviatedCompact;
            personFieldElement.FirstGroupMiddleNameUsage=MiddleNameUsage.FirstOnly;
            personFieldElement.FirstGroupMiddleNameFormat=NameFormat.AbbreviatedCompact;
         }
               // more than two authors: use "FirstGroup", "SecondGroup" and "LastPerson"
               // note that the citation style truncates the list aftre the third author, so we can content ourselves with the first three
               // and use "LastPerson" for the third one
         if(AuthorsList.Count==2) // only two authors - no need for "LastPerson"
            personFieldElement.UseDifferentFormatForLastPerson=false;
         else // more than two authors
            personFieldElement.UseDifferentFormatForLastPerson=true;
         if(AuthorsList.Count>1&& AuthorsList[1].Notes.Equals("Uneindeutig"))
         {
            personFieldElement.SecondGroupPersonNameOrder=PersonNameOrder.FirstNameLastName;
            personFieldElement.SecondGroupFirstNameFormat=NameFormat.AbbreviatedCompact;
            personFieldElement.SecondGroupMiddleNameUsage=MiddleNameUsage.FirstOnly;
            personFieldElement.SecondGroupMiddleNameFormat=NameFormat.AbbreviatedCompact;
         }
         if(AuthorsList.Count>2 && AuthorsList[2].Notes.Equals("Uneindeutig")) // third Person last - we don't show more than three here
         {
            personFieldElement.LastPersonPersonNameOrder=PersonNameOrder.FirstNameLastName;
            personFieldElement.LastPersonFirstNameFormat=NameFormat.AbbreviatedCompact;
            personFieldElement.LastPersonMiddleNameUsage=MiddleNameUsage.FirstOnly;
            personFieldElement.LastPersonMiddleNameFormat=NameFormat.AbbreviatedCompact;
         }
      
   
         var text = string.Empty;
         var output = new TextUnitCollection();
         var statement = new LiteralTextUnit(text);
         statement.FontStyle = SwissAcademic.Drawing.FontStyle.Italic;
         output.Add(statement);

         handled = true;
         return output;

      }
   }
}


Könnten Sie mir helfen, das richtig zu stellen?

Vielen Dank!
Silvester
Silvester
 

Re: Vorname nur bei uneindeutigen Nachnamen einfügen

Postby Silvester » 2016-04-15 08:50

Mein obiger Beitrag war nicht ganz präzise ... Nach Klarstellung mit dem Vertrag, wäre das geschützte Leerzeichen auch ohne Mittelnamen-Initial erforderlich, also:
"U._H._Schneider" und "G._Krieger"

Lässt sich das realisieren? -- ggf. zumindest mit einem Leerzeichen, sodass über den Zitierstil und Ersetzungsfunktion ein ". " durch ein "._" gegriffen werden könnte? (Bereits erforderlich um bei Zitierung mit "Rn._" nicht bei jeder Eingabe ein geschütztes Leerzeichen in die Quellenangabe einpflegen zu müssen).

Vielen Dank!
Silvester
Silvester
 

Re: Vorname nur bei uneindeutigen Nachnamen einfügen

Postby SarahR » 2017-08-03 15:54

Mit diesem Thema habe ich genau das gefunden, was ich gesucht habe. Leider verstehe ich aber die lösende Antwort nicht ganz. Kann jemand noch mal für Laien wie mich erklären, wo genau dieser Code jetzt eigefügt wird? Meine Vermutung ist, dass ich auf die Komponente "Autor [nur Name]" (die ich für die Fußnoten von Monographien etc. verwende) doppelklicken muss. Dann klicke ich in das weiße Feld neben "Autor" und markiere ganz unten "Ausgabe der Komponente per Programm-Code filtern". Dann klicke ich auf "Filter erstellen". Dann erscheint ein Code.

Ist bis hierhin alles richtig?

Falls ja: wo in diesen Code füge ich den von Herrn Riehm erstellten Code ein?
Ist es vielleicht hilfreich, wenn ich den Code poste, der bei mir erscheint?

Würde mich freuen, wenn mir jemand helfen kann.
SarahR
 

Re: Vorname nur bei uneindeutigen Nachnamen einfügen

Postby jay-squared » 2017-08-03 18:42

Einfach den gesamten Code, der da steht, löschen, und den neuen einfügen.
jay-squared
Citavi Expert
 

Re: Vorname nur bei uneindeutigen Nachnamen einfügen

Postby SarahR » 2017-08-09 08:36

jay-squared wrote:Einfach den gesamten Code, der da steht, löschen, und den neuen einfügen.


Vielen Dank für die Antwort!

Leider klappt das bei mir irgendwie nicht ganz. Wenn ich alles lösche und stattdessen nur Herrn Riems Code nehme und dann auf kompilieren klicke, bekomme ich folgende Fehlermeldung:
"Ein Namespace kann nicht direkt Member, wie z.B. Felder oder Methoden enthalten." und sehr häufig:
"Bezeichner erwartet".

Wenn ich den oberen Code von Silvester nehme, stattdessen alles lösche und kompiliere, bekomme ich folgende Fehlermeldungen:
"Der Typ- oder Namespacename 'IPerson' konnte nicht gefunden werden. (Fehlt eine Using-Direktive oder ein Assemblyverweis?)".

Vielleicht sollte es doch eher irgendwo eingefügt werden?
SarahR
 

Next

Return to Juristische Zitationsstile anwenden