Medien & Phantastik > Multimedia - Software & Betriebsysteme

Suche C#-Programmierer für kurzes Programmstück (Einsatz in Citavi)

(1/1)

Merlin Emrys:
Ich bräuchte eine (vermutlich kurze) Hilfestellung in Form eines kleinen C#-Fragments.

Meine Aufgabe ist folgende:
Citavi ist ein Literaturverwaltungsprogramm. Für kleine Aufgaben kann man eine kostenlose Version verwenden, zu erhalten unter http://www.citavi.com/de/download/index.html, aber für "richtige" Arbeiten sollte man es wohl kaufen. Ich selbst verwende es bisher auch nicht, habe aber versprochen, einen "Stil" für Citavi 3 zusammenzustellen.
Ein "Stil" ist eine Sammlung von Angaben, unter welchen Bedingungen Literaturangaben in welcher Formatierung ausgegeben werden sollen. Zunächst wird unterschieden nach Publikationstypen, etwa Buch (Monographie), Buch (Sammelwerk), Zeitschriftenaufsatz, Beitrag im Sammelwerk usw. Für jeden Publikationstyp kann man dann festlegen, wie er im Literaturverzeichnis aussehen soll und wie er andererseits im Fließtext bzw. einer Fußnote erscheinen soll.

Um einen solchen Stil zu erstellen, gibt es einen eigenen Editor, der auch schon ziemlich ausgereift ist und fast keinen Wunsch offenläßt. Nur haben leider manche universitären Fachbereiche im deutschen Sprachraum dermaßen extravagante Wünsche, daß selbst ein solcher Editor nicht alles schon auf Vorrat haben kann :-( . Für solche Fälle gibt es aber immer noch die Möglichkeit, Bedingungen als kleine C#-Progammschnipsel zu formulieren.
Ich denke, ich habe auch die erforderlichen Angaben, nur die korrekte Syntax auf Basis reiner Vermutungen zu erstellen, traue ich mich dann doch nicht so recht. Von daher meine Frage: Gibt es hier jemand, der sich in C++ auskennt und mir helfen würde?

(Klicke zum Anzeigen/Verstecken)Die nötige Fallunterscheidung ist folgende: Es gibt Journals mit festen Abkürzungen, bei denen auch nur die Abkürzung im Literaturverzeichnis zu erscheinen hat, dazu aber keine weitere Angabe (Verlagsort o.ä.) außer dem Jahr in Klammern. Bei Journals ohne feste Abkürzung muß dagegen der Verlagsort mit aufgeführt werden, dahinter das Jahr ohne Klammern.
Ich habe von der Citavi-Homepage eine Code-Fragment, das Fallunterscheidungen vornimmt, und zwar sogar zwei: Das Feld "FreeText1" enthält ein "m" und es gibt genau einen Autor bzw. Herausgeber. Ziel dieses Programmschnipsels ist die Unterscheidung, ob für eine Zitation "ders." oder "dies." zum Einsatz kommen soll.


--- Zitat ---using System;
using System.Collections.Generic;
using SwissAcademic.Citavi.Citations;
        
namespace Asz.Citavi.Scripting
{
   public class Script : ITemplateMacro
   {
      public Script()
      {
      }

      public bool IsTemplateForReference(CustomTemplate template, Citation citation)
      {
         if (citation.Reference.ParentReference == null ||
            citation.Reference.GetAuthors().Count != 1 ||
            citation.Reference.ParentReference.GetEditors().Count != 1)
         {
            return false;
         }

         return citation.Reference.ParentReference.CustomField1.E quals("m", StringComparison.OrdinalIgnoreCase) &&
            citation.Reference.GetAuthors()[0] == citation.Reference.ParentReference.GetEditors()[0];
      }
   }
}
--- Ende Zitat ---
Ich gehe davon aus, daß nur der Teil nach dem "if" umzuschreiben wäre, alles andere müsste man einfach übernehmen können (, oder?) Ein Stolperstein ist allerdings noch, daß das Feld "FreeText1" im Code "CustomField1" ist. Nach Kapitel 17 des Handbuchs könnte es eigentlich nur "SpecialText1" sein, wenn es nicht "FreeText1" ist... aber ich denke, das bekommt man zur Not noch durch "Trail and Error" heraus.


Edit: Korrektur von C++ zu C#.

Bombshell:
Hallo,

ich habe ein wenig auf der Citavi-Webseite rumgesucht und leider nur einen Forenbeitrag mit den Code-Schnipseln gefunden. Woher hast du die Information mit C++? Der oben angegebene Code sieht eher nach C# aus. Mit C# könnte ich dir weiterhelfen.

MfG

Stefan

Merlin Emrys:
Hm, Du hast ganz einfach recht. Ich habe die Information nur aus einen Popup-Fenster, und das hatte ich mir schlicht falsch eingeprägt. Nicht C++, sondern C# ist gefragt.
Leider sind der angehängt Screenshot und die eine Foren-Seite, von der Code-Schnipsel stammt, bislang auch wirklich meine gesamte Quelle zum Thema "Bedingungen durch Programmierung erstellen".

[gelöscht durch Administrator]

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln