Datei(en) mit Kurztitel umbenennen

Fragen zur Bedienung von Citavi 5

Datei(en) mit Kurztitel umbenennen

Postby Klaus-Dieter » 2017-03-19 15:11

Systeminformationen: [ Citavi Version 5.5, Windows 7, Deutsch, Firefox 42 oder neuer, MS Office 2013/365 64Bit, Acrobat 9 ]

Hallo,

Nach Einlesen von Dateien zu Titeln in der Literaturverwaltung möchte ich die häufig sehr unterschiedlichen Dateinamen zu strukturieren. Dazu verwende ich die Funktion zum "Umbennen von Dateien mit dem Citavi Kurztitel". Dabei wird aber nur ein Teil des generierten Kurztitels verwendet, so dass der Dateiname nur eine begrenzte Aussage zum Inhalt hat. Dieses ist besonders ärgerlich, wenn die Dateien ausgelagert bzw. an Dritte weitergegeben werden.

Nun meine Fragen dazu.
1. Warum wird nicht der generierte Kutrztitel komplett für die Bildung des Dateinamens verwendet. Und
2. Gibt es eine Möglichkeit die Regel zur Bildung des Kurztitel bzw. des Dateinamens anzupassen.

Beste Grüße
Klaus-Dieter
Klaus-Dieter
 

Re: Datei(en) mit Kurztitel umbenennen

Postby Jana Votteler » 2017-03-20 10:14

Hallo Klaus-Dieter,

vielen Dank für Ihre Frage.

Nach welchem System der Kurztitel generiert wird und wie Sie ihn ändern, erfahren Sie hier im Handbuch.
Leider lässt sich dieses System nicht ändern.

Ihre Beobachtung, dass nur ein Teil des Kurztitels zur Umbenennung der Dateien verwendet wird, konnte ich nicht reproduzieren.
War dieser sehr lang oder enthielt er bestimmte Sonderzeichen, die für Dateinamen unter Windows nicht zugelassen sind?

Viele Grüße,
Jana

Wurde Ihre Frage vollständig beantwortet? Bitte klicken Sie auf das grüne Häkchen (= Antwort akzeptieren) oben rechts in meiner Antwort. Andere Forenbenutzer können sich dann leichter orientieren, wenn sie auf der Suche nach einer Lösung sind.
Jana Votteler
Citavi Customer Service
 

Re: Datei(en) mit Kurztitel umbenennen

Postby Klaus-Dieter » 2017-03-20 21:17

Hallo Jana,

ich bin zunächst etwas irritiert, da mir der Unterschied zwischen Kurztitel und Kurbeleg nicht ganz klar ist. Das die Bildung des Strings bei Sonderzeichen abbricht, dazu gehören auch ein Komma oder Punkt, war mir auch schon aufgefallen.

Das man den Titeleintrag für den Kurzbeleg und eben auch den Kurztitel manuell anpassen kann, ist mir auch klar. Doch ich wollte die nachträgliche Bearbeitung durch die autmotrische Umbennung des Filenamens ja gerade vermeiden.

Zur Verdeutlichung meinere Frage soll der folgende Snapshot dienen.

20-03-_2017_20-58-36.png


Der Kurztitel besitzt gerade einmal drei Wörter des Titels und ist meines Erachtens nicht aussagekräftig genug für einen Dateinamen. Der Kurzbeleg enthält dagegen den ganzen Titeleintrag. Den Aufbau des Kurzbeleges kann man in Citavi auch nach eignen Wünschen anpassen. Diese Möglichkeit habe ich für den Kurztitel nicht gefunden.

Vielleicht gibt es ja die Möglichkeit die den die Bildung des Filenamens anpassbar und losgelöst von Kurtitel zu machen Filenamen. Für mich wäre dies ein echte Hilfe.

Freundlichst grüßt
Klaus-Dieter
Klaus-Dieter
 

Re: Datei(en) mit Kurztitel umbenennen

Postby Jana Votteler » 2017-03-21 08:45

Hallo Klaus-Dieter,

vielen Dank für Ihre schnelle Rückmeldung.

Der Unterschied zwischen Kurztitel, Kurzbeleg und Kurznachweis ist tatsächlich nicht intuitiv klar.
Im oben verlinkten Handbuch-Artikel zeigen wir die Unterschiede und Verwendungszwecke auf.

Das Schema zur Erstellung eines Kurzbelegs kann angepasst werden.

Das des Kurztitels (zur eindeutigen Identifikiation eines Titels im Projekt) allerdings nicht.
Dieser Funktionswunsch steht bereits auf unserer internen Wunschliste.
Citavi bildet den Kurztitel nach dem Muster Nachnamen des Autors, Erscheinungsjahr, erste Wörter aus dem Titel. Klicken Sie auf den Kurztitel eines Titels, um ihn zu bearbeiten.

Möchten Sie den Kurztitel nicht anpassen (und die PDF-Datei nach diesem umbenennen lassen), ist es auch möglich, das PDF-Dokument manuell umzubenennen.

Viele Grüße
Jana

Wurde Ihre Frage vollständig beantwortet? Bitte klicken Sie auf das grüne Häkchen (= Antwort akzeptieren) oben rechts in meiner Antwort. Andere Forenbenutzer können sich dann leichter orientieren, wenn sie auf der Suche nach einer Lösung sind.
Jana Votteler
Citavi Customer Service
 

Re: Datei(en) mit Kurztitel umbenennen

Postby jay-squared » 2017-03-21 13:25

Wenn man es wirklich drauf anlegt – und ich habe das etwa für mich gemacht – kann man die Kurztitelerstellung per selbst programmierten AddOn individuell einstellen. Das ist natürlich was für den Bastler, aber die Anleitung zum Erstellen eines AddOns erzeugt ein AddOn, welches genau das, neues Kurztitel-Schema, macht.
jay-squared
Citavi Expert
 

Re: Datei(en) mit Kurztitel umbenennen

Postby Klaus-Dieter » 2017-03-21 19:36

zunächst vielen Dank Jana und jay... für eure Antworten. Ich freue mich, das die Möglichkeit der Anpassung des Kurztitels als Wunsch bereits existiert. Bleibt die Hoffnung, das daraus möglichst bald eine reale Umsetzung hervorgeht.

jay... vielen Dank für den Hinweis, das meine Überlegung zur automatisierten Umbennung von eingelesenen Dateien nach persönlichen Vorgaben mit Hilfe eines AddOns realisierbar wäre. Offenbar ist dieses im Rahmen eines Workshops auch schon einmal vorgestellt worden. Dein Link verweist auf die dazu noch vorhandene Dokumentation.

Ich selber benutze Citavi erst seit einigen Wochen und befinde mich sozusagen noch im Anlernmodus. Auf der anderen Seite beschäftige ich mich seit längerem mit den Möglichkeiten einer brauchbaren Ablage von einer Vielzahl an digital vorliegenden Dokumenten (>10000) für einen schnellen Zugriff zur Nutzung in eigenen Arbeiten. Ich sehe in Citavi eine gute Chance diesem Ziel näher zu kommen.

Zwar ist mein Wissen in der Programmierung von Software eher rudimentär, aber vielleicht ist das der einzige Weg seine Vorstellungen umzusetzen. Nun meine Frage. Im Handbuch habe ich zu Entwicklung von AddOns nichts gefunden. Welche Quellen an Literatur gibt es , um sich in die Thematik tiefer einzuarbeiten und ein belastbares Verständnis zu erreichen. Für ein paar Tipps wäre ich sehr dankbar.

Beste Grüße
Klaus-Dieter
Klaus-Dieter
 

Re: Datei(en) mit Kurztitel umbenennen

Postby jay-squared » 2017-03-22 11:34

Hallo Klaus-Dieter,

wenn du die Anleitung Schritt für Schritt nachvollziehst (ein Tipp: Visual Basic Community 2015 ist umsonst zu haben von Microsoft), hast du am Ende ein AddOn, welches die Kurztiteldefinition ändert. In dem Sinne ist die Anleitung vollständig. Was natürlich ein Nachteil ist, ist, dass die Kurztiteldefinition danach relativ sinnlos ist, nämlich nur

Code: Select all
public string GetFilterResult(Reference reference, out bool handled)
{
   handled = true;
   return "Hello World (" + reference.Title.Substring(0, Math.Min(15, reference.Title.Length)) + "...)";
}


Ich hab mir eine etwas komplexere Definition gebastelt, nämlich

Code: Select all
 public String GetFilterResult(Reference reference, out bool handled)
        {
            handled = true;
            String shortTitleString = String.Empty;

            if (reference.ReferenceType == ReferenceType.CourtDecision)
            {
                try
                {
                    shortTitleString = CreateShortTitleCases(reference);
                }
                catch (Exception e)
                {
                }
            }
            else if (reference.ReferenceType == ReferenceType.StatuteOrRegulation)
            {
                try
                {
                    shortTitleString = CreateShortTitleLegislation(reference);
                }
                catch (Exception e)
                {
                }
            }
            else
            {
                try
                {
                    shortTitleString = CreateShortTitleSecondarySource(reference);
                }
                catch (Exception e)
                {
                }
            }
            return shortTitleString;
        }


Da wird also der zu erstellende Kurztitel je nach Art unterschieden. Für alles, was nicht Gerichtsentscheidung oder Gesetz ist, ist das etwa über die Methode

Code: Select all
CreateShortTitleSecondarySource


gemacht. Die Methode geht bei mir wie folgt:

Code: Select all
public static String CreateShortTitleSecondarySource(Reference reference)
        {
            String shortTitleString = String.Empty;
            String authorsEditorsOrOrganizationsString = String.Empty;
            IList<Person> authorsEditorsOrOrganizations = reference.AuthorsOrEditorsOrOrganizations as IList<Person>;
            if (authorsEditorsOrOrganizations.Count == 0) authorsEditorsOrOrganizations = reference.Authors;
            if (authorsEditorsOrOrganizations.Count == 0) authorsEditorsOrOrganizations = reference.Editors;
            int authorsEditorsOrOrganizationsCount = authorsEditorsOrOrganizations.Count;
            int i = 1;

            foreach (Person person in authorsEditorsOrOrganizations)
            {
                if (person == null)
                {
                    i = i + 1;
                    continue;
                }
                if (i == 1)
                {
                    authorsEditorsOrOrganizationsString += person.LastName;
                }
                else if (i == 2 && authorsEditorsOrOrganizationsCount == 2)
                {
                    authorsEditorsOrOrganizationsString += " & ";
                    authorsEditorsOrOrganizationsString += person.LastName;
                }
                else if (i == 2 && authorsEditorsOrOrganizationsCount == 3)
                {
                    authorsEditorsOrOrganizationsString += ", ";
                    authorsEditorsOrOrganizationsString += person.LastName;
                }
                else if (i == 2 && authorsEditorsOrOrganizationsCount > 3)
                {
                    authorsEditorsOrOrganizationsString += " et al";
                    break;
                }
                else if (i == 3)
                {
                    authorsEditorsOrOrganizationsString += " & ";
                    authorsEditorsOrOrganizationsString += person.LastName;
                }
                i = i + 1;
            }

            String titleString = String.Empty;

            if (reference.CitationKeyUpdateType != 0 && !String.IsNullOrEmpty(reference.CitationKey))
            {
                titleString = reference.CitationKey;
            }
            else
            {
                titleString = reference.Title;               
            }
            String yearString = String.Empty;

            if (reference.YearResolved != null)
            {
                yearString = reference.YearResolved;
            }
            else if (!string.IsNullOrEmpty(reference.Date))
            {
                DateTime dateValue;
                DateTime.TryParse(reference.Date, out dateValue);
                yearString = dateValue.ToString("yyyy");
            }
            else if (!string.IsNullOrEmpty(reference.Date2))
            {
                DateTime dateValue;
                DateTime.TryParse(reference.Date2, out dateValue);
                yearString = dateValue.ToString("yyyy");
            }
           
            if (!String.IsNullOrEmpty(authorsEditorsOrOrganizationsString)) shortTitleString += authorsEditorsOrOrganizationsString;
            if (!String.IsNullOrEmpty(shortTitleString) && !String.IsNullOrEmpty(titleString)) shortTitleString += ", ";
            if (!String.IsNullOrEmpty(titleString)) shortTitleString += titleString;
            if (!String.IsNullOrEmpty(yearString)) shortTitleString += " (" + yearString + ")";

            var pattern1 = @"(?<=\p{Lu})\. ?(?=\p{Lu}\.)";                  //(1) - (3)
            shortTitleString = Regex.Replace(shortTitleString, pattern1, "");

            var pattern2 = @"\.";                                           //restliche Punkte
            shortTitleString = Regex.Replace(shortTitleString, pattern2, "");
            return shortTitleString;
        }


Damit kriege ich Kurztitel wie bspw.

Acemoglu, Johnson & Robinson, The Colonial Origins of Comparative Development (2001)


was mich schon ganz happy macht.

Beste Grüße
JJ
jay-squared
Citavi Expert
 

Re: Datei(en) mit Kurztitel umbenennen

Postby Sebastian Pabel » 2017-03-22 15:07

Hallo zusammen

Eine Dokumentation zur AddOn-Schnittstelle über diesen Forenbeitrag hinaus gibt es leider nicht. Wir würden das gerne ausbauen, haben aber im Moment schlicht nicht die nötigen Ressourcen dafür, d.h. die Arbeitszeit dafür würde an anderer, wichtigerer Stelle fehlen.

Mit ein bisschen Grundverständnis von C#, dem Durchblättern der von Intellisense vorgeschlagenen Ergänzungen, viel Versuch, Irrtum und Zeit, und einer nicht zu niedrigen Frustrationstoleranz kann man hier ziemlich weit kommen. Ob es aber der richtige Einstieg in Citavi ist, vermag ich nicht zu entscheiden.

Viele Grüße
Sebastian

Wurde Ihre Frage vollständig beantwortet? Bitte klicken Sie auf das grüne Häkchen (= Antwort akzeptieren) oben rechts in meiner Antwort. Andere Forenbenutzer können sich dann leichter orientieren, wenn sie auf der Suche nach einer Lösung sind.
Sebastian Pabel
Citavi Customer Service
 

Re: Datei(en) mit Kurztitel umbenennen

Postby jay-squared » 2017-03-22 15:55

Sebastian Pabel wrote:Mit ein bisschen Grundverständnis von C#, dem Durchblättern der von Intellisense vorgeschlagenen Ergänzungen, viel Versuch, Irrtum und Zeit, und einer nicht zu niedrigen Frustrationstoleranz kann man hier ziemlich weit kommen. Ob es aber der richtige Einstieg in Citavi ist, vermag ich nicht zu entscheiden.


Minus dem Grundverständnis waren das meine Voraussetzungen, als ich letztes Jahr angefangen habe, Citavi ernsthaft an meine Bedürfnisse anzupassen. Die Schritte in der Dokumentation nachzustellen dauert vielleicht eine halbe bis ganze Stunde, und danach kann man ganz gut rumspielen, um die

Code: Select all
GetFilterResult


an die eigenen Bedürfnisse anzupassen. Die Hauptsache ist, dass man per

Code: Select all
reference.


an die Eigenschaften des aktuellen Titels rankommt, und was Intellisense da nach dem Punkt vorschlägt, ist schon recht hilfreich, insbesondere, wenn man sich mal die Dokumentation der Datenstruktur anguckt.
jay-squared
Citavi Expert
 

Re: Datei(en) mit Kurztitel umbenennen

Postby Klaus-Dieter » 2017-03-23 09:17

Hallo zusammen,

vielen Dank für eure Einschätzungen zur Erstellung von AddOns und die weiteren Hilfen für einen Einstieg. Ich habe früher einmal mit VB kleinere Anwendungen erstellt, insofern liegt ein gewisses Grundverständnis vor. Ist allerdings schon etwas her. Wenn es die Zeit zulässt, werde ich mich mit der Thematik einmal beschäftigen.

Zwei Fragen habe ich allerdings noch.

Erstens, worin besteht eigentlich der Unterschied zwischen dem Makroeditor und der Erstellung von AddOns? So wie ich es verstanden habe, handelt es sich um Scripte in der Programmiersprache C# geschrieben. Der Aufruf von Makros erfolgt offenbar immer über den Makroeditor, der den Code zuvor auch noch compiliert. Lassen sich der compulierte Code eigentlich auch auf Tasten legen, um sie darüber direkt aufzurufen?

Zweitens, Werden die AddOns in einer C#-Entwicklungsumgebung generiert und compuliert? Und wie erfolgt die Einbindung von AddOns in Citavi bzw. Projekte? Den Hinweis auf "visual basic community 2015" als Entwicklungsumgebung ist mir nicht ganz verständlich, wen es doch C# sein soll.

So dass war es erst einmal wieder. Bin schon gespannt auf eure Erklärungen.

MIt besten Grüßen
Klaus-Dieter
Klaus-Dieter
 

Next

Return to Citavi 5 Support (Deutsch)