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.

Register Zeitschrift mit dem Titel zugeordneten Updates Topic is solved

Schlagen Sie neue Funktionen vor. Wir sind gespannt auf Ihre Wünsche.

Re: Register Zeitschrift mit dem Titel zugeordneten Updates

Postby Bebbi » 2015-12-15 18:50

Hallo JJ,

so weit hatte ich noch nicht gedacht. Im Prinzip reicht ja ein bisschen Einrückung, dass klar ist, dass die Einträge zu dem Titel darüber gehören. Das das in der Grafik so ist, ist reiner Zufall.

Die Sortierung wäre nach Heftnummern (in meinem Fall 1/XX - 4/XX bei vier Ausgaben im Jahr) sinnvoll, also im Kern das Datum, denke ich auch. Danach würde ich - so spontan überlegt - die Seitenzahlen nehmen.

Grüße

Bebbi
Bebbi
Citavi Expert
 

Re: Register Zeitschrift mit dem Titel zugeordneten Updates

Postby Thomas Schempp » 2015-12-16 16:03

Ich vermute, Bebbi erfasst den Querbezug über ist den der Inhalt des Feldes "Dieser Titel verweist auf", richtig? Ist der Inhalt dieses Feldes denn überhaupt per Programmcode erreichbar...

Ja, das ist möglich. (Alles, was im UI an Daten angezeigt wird, ist auch per Programmcode erreichbar - denn das UI nützt die gleichen APIs der Engine wie ein Add-On.)

Die wechselseitigen Verweise nennen sich "EntityLinks". Technisch können sie beliebige Citavi-Entitäten miteinander verbinden. Ein EntityLink hat eine Property Source und eine Property Target vom Typ ICitaviEntity.
Ausprogrammiert ist das zurzeit aber nur für Titelverknüpfungen sowie für Wissenselement-Annotations-Verknüpfungen. Die Art der Verknüpfung ist unter EntityLink.Indication angegeben. In Code würde es also ungefähr wie folgt aussehen:

Code: Select all
var linkedReferences = from entityLink in reference.EntityLinks
                       where
                          entityLink.Source == reference &&
                          entityLink.Indication == EntityLink.ReferenceLinkIndication
                       select (Reference)entityLink.Target;


Beste Grüsse
Thomas Schempp
Thomas Schempp
Citavi Customer Service
 

Re: Register Zeitschrift mit dem Titel zugeordneten Updates

Postby jay-squared » 2015-12-16 19:13

Na da muessten wir doch was mit machen koennen. Vielen Dank! Bebbi, koennen Sie mir vielleicht ein Testdokument zur Verfuegung stellen, welches ein paar normale Aufsaetze und ein paar Updates enthaelt? Dann bastel ich was zum Sortieren.
jay-squared
Citavi Expert
 

Re: Register Zeitschrift mit dem Titel zugeordneten Updates

Postby Bebbi » 2015-12-16 19:46

Hallo JJ,

ich habe eine Test-Datei erstellt. Leider lässt Sie sich nur gezipt anhängen.

Ist das dass, was Sie brauchen? Oder braucht es noch mehr Datensätze? Die Rubriken habe ich als Gruppen realisiert.

Grüße

Bebbi
Attachments
Sortierung.zip
(13.87 KiB) Downloaded 70 times
Bebbi
Citavi Expert
 

Re: Register Zeitschrift mit dem Titel zugeordneten Updates

Postby jay-squared » 2015-12-17 14:24

Hallo Bebbi, liebes Citavi-Team,

ja, sowas in der Art meinte ich, dann muss ich mir nichts selber ausdenken.

Mir ist aber eine Merkwürdigkeit aufgefallen. Kurz gesagt habe ich den Eindruck, dass die Daten der EntityLinks im virtuellen WordAddIn-Projekt nicht zur Verfügung stehen - zumindest die Target/Source-Beziehung nicht.

Ehe ich mich an die Sortierung gemacht habe, wollte ich ein wenig ein Gefühl dafür kriegen, wie ich per Herrn Schempps Methode an die Daten eines Titels per EntityLink komme. Ich habe dafür erstens Bebbis Citaviprojekt etwas ergänzt, in denen ich den Titel, welche Verweise enthielten, im Notizfeld noch eine ID gegeben habe:

"Meurer 2015 - Ein kleiner Bericht", "Bebbi 2015 - Volle Zustimmung" und "Meurer 2015 - Da habe ich mir was" erhielten im Notizfeld den Wert "Meurer2015a" als ID. Die Ermittlung des Haupttitels kann ich dann ja einfach testen, indem ich gucke, welcher dieser drei Beiträge mit gleicher ID zuerst kam.

Weiterhin habe ich im Projekt jedem Titel eine Jahreszahl hinzugegeben, und im Heftnummerfeld nur eine Zahl reingeschrieben, also etwa "1" statt "1/2015".

Mit diesen Ergänzungen im Projekt konnte ich meine rechenintensive Methode mit der eleganten Methode vergleichen.

Dies habe ich gemacht, indem ich für die einschlägigen Vorlage für die Beiträge zwei gefilterte Komponenten hinzugefügt habe:

Eine Komponente "Verweist auf (per Verweisfeld)":

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)
      {


         handled = true;
         Reference xReference = citation.Reference;
         string aString = "(Kein verwandter Artikel anhand des Verweisfeldes gefunden)";
         
         var xLinkedReferences = from entityLink in xReference.EntityLinks
                       where
                          entityLink.Source == xReference &&
                          entityLink.Indication == EntityLink.ReferenceLinkIndication
                       select (Reference)entityLink.Target;
         

         if (xLinkedReferences.Any())
         {
            xReference = xLinkedReferences.FirstOrDefault();
            aString = "(Verweisfeld verweist auf \"" + xReference.Title + "\")";
         }
         
         
         
         var output = new TextUnitCollection();
         var text = new LiteralTextUnit(aString);
         output.Add(text);
         
         return output;   
      }
   }
}


und eine Komponente "Verweist auf (per Notizfeld)"

Code: Select all
using System;
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)
      {


         handled = true;
         Reference xReference = citation.Reference;
         string aString = "(Kein verwandter Artikel anhand des Notizfelds gefunden)";
         
         if (!string.IsNullOrEmpty(xReference.Notes))
            {
               foreach(Reference reference in xReference.Project.References)
               {
                     if(reference.Notes.Contains(xReference.Notes) && (
                  String.CompareOrdinal(reference.Year, xReference.Year) < 0 ||
                  ((String.CompareOrdinal(reference.Year, xReference.Year) == 0) && (String.CompareOrdinal(reference.Number, xReference.Number) < 0))
                  ))
                     {
                        aString = "(Notizfeld verweist auf \"" + reference.Title + "\")";
                     }
               }
         }
         
         
         
         var output = new TextUnitCollection();
         var text = new LiteralTextUnit(aString);
         output.Add(text);
         
         return output;   
      }
   }
}


(Hier müsste in einer endgültigen Version noch ein dritter subsidiärer Test für den Fall, dass Jahr und Heftnummer identisch sind, hinzugefügt werden).

Wenig überraschend ergeben beide das gleiche Ergebnis in der Vorschau des Zitationsstileditors:

Test1.PNG


Aber im Word-Dokument selber läuft die Ansprache der Entity-Links leer:

Test2.PNG


Und das, obwohl die Verweis-Zusammenhänge dem Word-AddIn bekannt sind:

Test3.PNG


Das bedeutet im Ergebnis aber auch, dass eine Sortierung anhand des per EntityLink ermittelten Erstbeitrags nicht funktionieren kann, da die EntityLinks innerhalb des virtuellen WordAddIn-Projekts nicht zur Verfügung stehen, und es daher doch bei der etwasa ineleganten Methode per Notizfeld bleiben muss, es sei denn, ich habe da irgendwo was falsch gemacht.
jay-squared
Citavi Expert
 

Re: Register Zeitschrift mit dem Titel zugeordneten Updates

Postby Bebbi » 2015-12-17 14:59

Hallo JJ,

danke für die Mühen! Ich lese mit, kann aber aktuell nichts hilfreiches beitragen ...

Grüße

Bebbi
Bebbi
Citavi Expert
 

Re: Register Zeitschrift mit dem Titel zugeordneten Updates

Postby jay-squared » 2015-12-17 18:28

Hallo Bebbi,

da kriegen wir schon irgendwann was hin. Per Notizfeld sortieren klappt jedenfalls schon mal:

Ergebnis.PNG


Beste Grüße
JJ

PS: Jaja, das allgemeine Sortierschema ist noch verbesserungswürdig, aber das Zuordnen von Neben- und Hauptbeitrag anhand des Notizfeldes klappt.
jay-squared
Citavi Expert
 

Re: Register Zeitschrift mit dem Titel zugeordneten Updates

Postby Bebbi » 2015-12-17 21:15

Hallo JJ,

bevor wir uns an die Details der Sortierung machen, müsste ich mich da festlegen, wie ich es im Detail am besten finde.

Mir schwebt vom Aufbau vor, dass der Interessent auf jeden Fall alles aus der Heftrubrik finden kann. Eine detaillierte Verschlagwortung werde ich nicht leisten können, um es noch detailierter zu machen, daher finde ich es sinnvoll, nach Rubriken (=Gruppen in Citavi zu sortieren). Ein

Bsp.:
* https://www.friedrich-verlag.de/fileadm ... r-2010.pdf --> "Systematisches Verzeichnis der Aufsätze
* http://www.rup-online.eu/images/stories ... 3_2014.pdf

Die Sortierung nach a) Heft b) Seitenzahl sollte ja auch jetzt schon klappen, falls man das auch will. Ein Namensregister.

Ich werde das nochmal kurz intern diskutieren.

Grüße

Bebbi
Bebbi
Citavi Expert
 

Re: Register Zeitschrift mit dem Titel zugeordneten Updates

Postby jay-squared » 2015-12-18 11:51

Lieber Bebbi,

alles möglich. Die gruppierte Form wäre auch ein guter Anlass, mit dem alten Missverständnis aufzuräumen, dass ich in einem Citavi-Literaturverzeichnis keine automatischen Zwischenüberschriften einbauen kann ;)

Zwischenüberschriften.PNG


Im Screenshot werden die Gruppenüberschriften automatisch durch einen Komponentenfilter am Beginn der Literaturverzeichnisvorlage erstellt.

Beste Grüße
JJ
jay-squared
Citavi Expert
 

Re: Register Zeitschrift mit dem Titel zugeordneten Updates

Postby Bebbi » 2015-12-18 11:56

Hallo JJ,

Grandios!

Kann man dann auch die doppelte Ausgabe unterdrücken, also dass Updates nur unter dem zugehörigen Titel stehen?

Grüße

Bebbi
Bebbi
Citavi Expert
 

PreviousNext

Return to Wunschliste