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.

Suffix der Startseite abhängig von Zitat-Seite unterdrücken Topic is solved

Vorlagen helfen, Wenn-Dann-Regeln auf Formatierungen anzuwenden. Hier finden Sie zusätzliche Vorlagen.

Suffix der Startseite abhängig von Zitat-Seite unterdrücken

Postby kai.h » 2013-12-12 16:29

Liebe Citavi-Team,

Citavi enthält die Vorlage "Platzhalter weist keine Zitatseiten auf, z.B. {Miller 2010 #65} im Gegensatz zu {Miller 2010 #65:17-19}.
Ich brächte etwas Ähnliches als programmiete Komponente: Suffix unterdrücken, falls der Platzhalter Zitatseiten aufweist.

Die gewünschte Programmierung soll in einer Startseite-Komponente eingesetzt werden, also einer Komponente mit dem Element [Seiten von-bis], welche auf den Stil "Nur Startseite" eingestellt ist.

Sie muss sich außerdem mit einer Programmierung vertragen, die für die Komponente [Zitat-Seiten] eingesetzt wird. Ich habe sie aus einem Stil von Thomas Riehm entnommen

Code: Select all
using System.Linq;
using System;
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)
      {
         //this filter acts on a component part that contains a page range field element only and does two things:
         //1.) It suppresses the prefix on a quotation page range if the value starts with a non-numerical character; this prevents invalid outputs such as "S. § 12 Rn. 3"
         //2.) It suppresses the output of a quotation page range altogether, if the quotation page range is identical with the start page of an article
         
         handled = false;
         if (componentPart == null) return null;
         if (citation == null) return null;
         if (citation.Reference == null) return null;
         
         var firstPageRangeFieldElement = componentPart.Elements.FirstOrDefault(item => item is PageRangeFieldElement) as PageRangeFieldElement;
         if (firstPageRangeFieldElement == null) return null;
         
         
         var placeholderCitation = citation as PlaceholderCitation;
         if (placeholderCitation == null) return null;
         
         var quotationPageRange = placeholderCitation.PageRange;
         if (string.IsNullOrEmpty(quotationPageRange)) return null;
         
         //Part 1.) suppress the prefix
         if (placeholderCitation.NumberingType == NumberingType.Page)
         {
            char firstChar = quotationPageRange[0];
            if (!char.IsNumber(firstChar))
            {
               firstPageRangeFieldElement.PageOnePrefix.Text = null;
               firstPageRangeFieldElement.PageTwoPrefix.Text = null;
               firstPageRangeFieldElement.PageMultiPrefix.Text = null;
            }
         }
         
         //Part 2.) suppress the quotation page range
         
         //no need to go ahead, if the current reference type does not own the Feld "page from-to"
         if (!citation.Reference.HasCoreField(ReferenceTypeCoreFieldId.PageRange)) return null;
         
         //no need to go ahead if the current reference's field "page from-to" has an empty start page
         if (string.IsNullOrEmpty(citation.Reference.StartPage)) return null;
         
         //no need to go ahead, if the quotation page range is not identical with the current reference's start page
         if (StringComparer.OrdinalIgnoreCase.Compare(placeholderCitation.StartPage, citation.Reference.StartPage) != 0) return null;
         
         //still here? then we suppress the output by removing the quotation page range field element from the component part
         componentPart.Elements.Remove(firstPageRangeFieldElement);
         
         return null;         
      }
   }
}


Hintergrund:
Die Formatierungen von Aufsätzen und in Zeitschriften zitierte Gerichtsentscheidungen schwanken zwischen "NJW 2012, 123", "NJW 2012, 123 (125)" und "NJW 2012, 123 ff.", je nachdem, ob die Zitat-Seite mit der Startseite identisch ist oder nicht oder eben ganz fehlt.
Vorlagen können das Problem nur unzureichend lösen, weil zumindest in meinem Stil schon 6 unterschiedliche Vorlagen für Gerichtsentscheide bestehen (Zitierung der Fundstelle mit/ohne Gericht; mit/ohne Jahrgang; mit/ohne Heftnr.; mit/ohne AZ; ...). Für jede dieser Vorlagen müsste jetzt eine erneute Vorlage erstellt werden. Damit wird der Zitierstil mehr und mehr zu Hydra.

Vielen Dank im Voraus!

Mit freundlichen Grüßen

Kai Hofmann
kai.h
 

Re: Suffix der Startseite abhängig von Zitat-Seite unterdrüc

Postby Peter Meurer » 2013-12-12 18:09

Lieber Herr Hoffmann

Können Sie bitte meine Fallunterscheidung zuerst bestätigen, korrigieren bzw. ergänzen?

Ausgangssituation 1:
NJW, Jahr 2012, Aufsatz auf den Seiten 123-130, Zitat auf Seite 125

Gewünschte Darstellung:
NJW 2012, 123 (125)

Ausgangssituation 2:
NJW, Jahr 2012, Aufsatz auf den Seiten 123-130, Zitat auf Seite 123 oder fehlt.

Gewünschte Darstellung:
NJW 2012, 123

Ausgangssituation 3:
NJW, Jahr 2012, Aufsatz auf den Seiten 123-130, Zitat von Seite 123 bis 124

Gewünschte Darstellung:
NJW 2012, 123 (123f.)

Vielleicht möchten Sie auf die gleiche Weise auch die weiteren Fälle auflisten, damit wir evt. noch nach Vereinfachungen suchen können. Wir werden Hydra nicht den Kopf abschlagen können, aber wir wollen wenigsten versuchen, dass keine neuen nachwachsen.

Freundliche Grüsse
Peter Meurer
Peter Meurer
Citavi Customer Service
 

Re: Suffix der Startseite abhängig von Zitat-Seite unterdrüc

Postby kai.h » 2013-12-13 14:26

Lieber Herr Meurer,

wie ich Zeitschriften unterscheide habe ich hier beschrieben: http://support.citavi.com/forum/viewtopic.php?f=95&t=6944#p27219

Zu dem übergreifenden Problem des Zusammenspiels von Startseite und Zitat-Seite:

Ausgangssituation 1:
NJW, Jahr 2012, Aufsatz auf den Seiten 123-130, Zitat auf Seite 125

Gewünschte Darstellung:
NJW 2012, 123 (125)

Richtig

Ausgangssituation 2:
NJW, Jahr 2012, Aufsatz auf den Seiten 123-130, Zitat auf Seite 123 oder fehlt.

Gewünschte Darstellung:
NJW 2012, 123

Richtig, was "Zitat auf Seite 123" (2a) betrifft. Man könnte hier auch zitieren: NJW 2012, 123 (123). Ist aber unschön und unnötig.

Dazu kommt noch Ausgangsituation 2b
NJW, Jahr 2012, Aufsatz auf den Seiten 123-130, Zitat fehlt.

Gewünschte Darstellung:
NJW 2012, 123 ff. (bzw. "123 f.", wenn der Aufsatz insgesamt nur von 123-124 steht). Damit soll deutlich werden, dass sich die Aussage auf den ganzen Aufsatz bezieht.

Ausgangssituation 3:
NJW, Jahr 2012, Aufsatz auf den Seiten 123-130, Zitat von Seite 123 bis 124

Gewünschte Darstellung:
NJW 2012, 123 (123f.)

Richtig, aber vor dem Suffix ein [leer] und ff., wenn das Zitat über 3 Seiten oder mehr geht.

Mehr Möglichkeiten gibt es nicht.

Mit freundlichen Grüßen

Kai Hofmann
kai.h
 

Re: Suffix der Startseite abhängig von Zitat-Seite unterdrüc

Postby Peter Meurer » 2013-12-16 09:59

Lieber Herr Hoffmann

Mein Kollege Jörg Pasch hat den Programmcode für die Komponente Seiten von-bis ("Startseite") erstellt:
Code: Select all
using System.Linq;
using System;
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)
      {
      //If placeholder citation has a quotation page range > just show start page (without suffix)
      
        //This filter acts on a component part that fulfills the following requirements
      //- contains a page range field element
      //- is requested to handled a placeholder citation (in-text or footnote)
      //- is requested to handle the citation of a document type that has a "page range" field such as JournalArticle
      //If these requirements are fulfilled AND if the placeholder contains quotation pages that are different from the start page, it does the following
      //- ensures that the page range field element is set to "start page only"
      //- suppresses the output of a suffix

         
        handled = false;
        if (componentPart == null) return null;
        if (citation == null) return null;
        if (citation.Reference == null) return null;
      
      if (!citation.Reference.HasCoreField(ReferenceTypeCoreFieldId.PageRange)) return null;
       
      var firstPageRangeFieldElement = componentPart.Elements.FirstOrDefault(item => item is PageRangeFieldElement) as PageRangeFieldElement;
        if (firstPageRangeFieldElement == null) return null;
      if (firstPageRangeFieldElement.PropertyId != ReferencePropertyId.PageRange) return null;
         
      var placeholderCitation = citation as PlaceholderCitation;
      if (placeholderCitation == null) return null;
         
        var quotationPageRange = placeholderCitation.PageRange;
        if (string.IsNullOrEmpty(quotationPageRange)) return null;
       
      if (citation.Reference.StartPage == placeholderCitation.StartPage) return null;
      
      
      //we set all numbering types (page/column/margin/section/other) to StartPageOnly and remove the suffixes
      firstPageRangeFieldElement.PageMultiNumberingStyle = NumberingStyle.StartPageOnly;
      firstPageRangeFieldElement.PageMultiSuffix.Text = string.Empty;
      firstPageRangeFieldElement.PageOneNumberingStyle = NumberingStyle.StartPageOnly;
      firstPageRangeFieldElement.PageOneSuffix.Text = string.Empty;
      firstPageRangeFieldElement.PageTwoNumberingStyle = NumberingStyle.StartPageOnly;
      firstPageRangeFieldElement.PageTwoSuffix.Text = string.Empty;
      
      firstPageRangeFieldElement.ColumnMultiNumberingStyle = NumberingStyle.StartPageOnly;
      firstPageRangeFieldElement.ColumnMultiSuffix.Text = string.Empty;
      firstPageRangeFieldElement.ColumnOneNumberingStyle = NumberingStyle.StartPageOnly;
      firstPageRangeFieldElement.ColumnOneSuffix.Text = string.Empty;
      firstPageRangeFieldElement.ColumnTwoNumberingStyle = NumberingStyle.StartPageOnly;
      firstPageRangeFieldElement.ColumnTwoSuffix.Text = string.Empty;
      
      firstPageRangeFieldElement.MarginMultiNumberingStyle = NumberingStyle.StartPageOnly;
      firstPageRangeFieldElement.MarginMultiSuffix.Text = string.Empty;
      firstPageRangeFieldElement.MarginOneNumberingStyle = NumberingStyle.StartPageOnly;
      firstPageRangeFieldElement.MarginOneSuffix.Text = string.Empty;
      firstPageRangeFieldElement.MarginTwoNumberingStyle = NumberingStyle.StartPageOnly;
      firstPageRangeFieldElement.MarginTwoSuffix.Text = string.Empty;
      
      firstPageRangeFieldElement.ParagraphMultiNumberingStyle = NumberingStyle.StartPageOnly;
      firstPageRangeFieldElement.ParagraphMultiSuffix.Text = string.Empty;
      firstPageRangeFieldElement.ParagraphOneNumberingStyle = NumberingStyle.StartPageOnly;
      firstPageRangeFieldElement.ParagraphOneSuffix.Text = string.Empty;
      firstPageRangeFieldElement.ParagraphTwoNumberingStyle = NumberingStyle.StartPageOnly;
      firstPageRangeFieldElement.ParagraphTwoSuffix.Text = string.Empty;
       
      firstPageRangeFieldElement.OtherMultiNumberingStyle = NumberingStyle.StartPageOnly;
      firstPageRangeFieldElement.OtherMultiSuffix.Text = string.Empty;
      firstPageRangeFieldElement.OtherOneNumberingStyle = NumberingStyle.StartPageOnly;
      firstPageRangeFieldElement.OtherOneSuffix.Text = string.Empty;
      firstPageRangeFieldElement.OtherTwoNumberingStyle = NumberingStyle.StartPageOnly;
      firstPageRangeFieldElement.OtherTwoSuffix.Text = string.Empty;      
      
        return null;         
      }
   }
}

Damit und in Verbindung mit dem Programmcode für die Komponente Zitat-Seiten, den ich der Vollständigkeit halber hier auch noch ergänze ...
Code: Select all
using System.Linq;
using System;
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)
      {
         //this filter acts on a component part that contains a page range field element only and does two things:
         //1.) It suppresses the prefix on a quotation page range if the value starts with a non-numerical character; this prevents invalid outputs such as "S. § 12 Rn. 3"
         //2.) It suppresses the output of a quotation page range altogether, if the quotation page range is identical with the start page of an article
         
         handled = false;
         if (componentPart == null) return null;
         if (citation == null) return null;
         if (citation.Reference == null) return null;
         
         var firstPageRangeFieldElement = componentPart.Elements.FirstOrDefault(item => item is PageRangeFieldElement) as PageRangeFieldElement;
         if (firstPageRangeFieldElement == null) return null;
         
         
         var placeholderCitation = citation as PlaceholderCitation;
         if (placeholderCitation == null) return null;
         
         var quotationPageRange = placeholderCitation.PageRange;
         if (string.IsNullOrEmpty(quotationPageRange)) return null;
         
         //Part 1.) suppress the prefix
         if (placeholderCitation.NumberingType == NumberingType.Page)
         {
            char firstChar = quotationPageRange[0];
            if (!char.IsNumber(firstChar))
            {
               firstPageRangeFieldElement.PageOnePrefix.Text = null;
               firstPageRangeFieldElement.PageTwoPrefix.Text = null;
               firstPageRangeFieldElement.PageMultiPrefix.Text = null;
            }
         }
         
         //Part 2.) suppress the quotation page range
         
         //no need to go ahead, if the current reference type does not own the Feld "page from-to"
         if (!citation.Reference.HasCoreField(ReferenceTypeCoreFieldId.PageRange)) return null;
         
         //no need to go ahead if the current reference's field "page from-to" has an empty start page
         if (string.IsNullOrEmpty(citation.Reference.StartPage)) return null;
         
         //no need to go ahead, if the quotation page range is not identical with the current reference's start page
         if (StringComparer.OrdinalIgnoreCase.Compare(placeholderCitation.StartPage, citation.Reference.StartPage) != 0) return null;
         
         //still here? then we suppress the output by removing the quotation page range field element from the component part
         componentPart.Elements.Remove(firstPageRangeFieldElement);
         
         return null;         
      }
   }
}

... erhalten Sie folgende Ergebnisse:
16-12-2013 09-53-51.png

Ich sende Ihnen gleich per Mail Ihren Zitationsstil zurück, der die obigen Änderungen enthält.

Freundliche Grüsse
Peter Meurer
Peter Meurer
Citavi Customer Service
 

Re: Suffix der Startseite abhängig von Zitat-Seite unterdrüc

Postby kai.h » 2013-12-16 11:36

Lieber Herr Meurer,

vielen Dank für die Programmierung [1] - sie funktioniert für sich genommen hervorragend. Damit konnte ich der Hydra immerhin schon neun Köpfe abschlagen.

Leider verträgt sie sich nicht mit der anderen Programmierung [2]. Das ist für den die Ausgangssituation 2b von Belang.

Dazu kommt noch Ausgangsituation 2b
NJW, Jahr 2012, Aufsatz auf den Seiten 123-130, Zitat fehlt.

Gewünschte Darstellung:
NJW 2012, 123 ff. (bzw. "123 f.", wenn der Aufsatz insgesamt nur von 123-124 steht). Damit soll deutlich werden, dass sich die Aussage auf den ganzen Aufsatz bezieht.



Diese andere Programmeriung [2] besagt, dass die Zitat-Seiten unterdrückt werden, wenn sie gleich der Startseite sind. Wenn aber nun die Zitat-Seiten leer sind, greift die neu erstellte Programmierung [1] nicht mehr. Statt NJW 2012, 123 steht nun NJW 2012, 123 ff.

Mein Vorschlag: Man sollte den Spieß einfach umdrehen. Falls die Zitat-Seiten im Platzhalter mit der Startseite identisch sind, soll nicht die Zitat-Seite, sondern die Startseite unterdrückt werden. Letztlich will ich eben die Zitat-Seite zitieren - und die Startseite lasse ich weg, weil sie identisch und deshalb für das Auffinden des Aufsatzes (nur darum wird sie ja mitzitiert) nicht mehr notwendig ist.
Dazu müsste wohl die neue Programmierung [1] geändert werden. Die bestehende Programmierung [2] würde dann nicht mehr gebraucht.

Mit freundlichen Grüßen

Kai Hofmann
kai.h
 

Re: Suffix der Startseite abhängig von Zitat-Seite unterdrüc

Postby Jörg Pasch » 2013-12-16 16:07

Guten Tag Herr Hofmann,

Ihre Idee, den Spieß umzudrehen und bei Gleichheit der Startseiten (i.e. bei den Artikelseiten-von-bis sowie den Zitatseiten-von-bis) die erste Komponente [1] (grün) zu unterdrücken und dafür die Logik bei [2] (gelb) entfallen zu lasen, führt leider ebenfalls noch nicht ganz zum Ziel, wie Sie auf dem folgenden Screenshot sehen:

KomponentenInteraktion.jpg

In diesem speziellen Fall wollen Sie ja nicht die Klammern behalten, die nun aber mal Bestandteil der Zitatseitenkomponente sind.

Technisch ist es nicht möglich, vom Programmcode der Komponente [1] aus ebenfalls die Komponente [2] zu manipulieren (oder aber das beide Komponenten verbindende Template).

Aus diesem Grund wird entweder an beiden Orten Logik verbleiben müssen, die zudem aufeinander abgestimmt sein muss. Oder aber - und das empfände ich programmlogisch fast sinnvoller - Sie vereinigen [1] und [2] zu einer einzigen Komponente, damit eine Manipulation beider Feldelemente (Artikelseiten UND Zitatseiten mit ihren jeweiligen Präfixen und Suffixen) durch ein und denselben Programmcode möglich wird.

Es gibt aber noch einen Weg: Die Komponente [1] kann bei Gleichheit der Startseiten von ihrem Verhalten her die Zitatseiten-Komponente "nachahmen", indem der Suffix entsprechend angepasst wird. Die Komponente [2] kann dabei vollkommen unverändert bleiben. Hier die entsprechend geänderte Komponente [1] für die Startseite:

Code: Select all
using System.Linq;
using System;
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)
      {
      //If placeholder citation has a quotation page range > just show start page (without suffix)
      
        //This filter acts on a component part that fulfills the following requirements
      //- contains a page range field element
      //- is requested to handled a placeholder citation (in-text or footnote)
      //- is requested to handle the citation of a document type that has a "page range" field such as JournalArticle
      //If these requirements are fulfilled AND if the placeholder contains quotation pages that are different from the start page, it does the following
      //- ensures that the page range field element is set to "start page only"
      //- suppresses the output of a suffix

         
        handled = false;
        if (componentPart == null) return null;
        if (citation == null) return null;
        if (citation.Reference == null) return null;
      
      if (!citation.Reference.HasCoreField(ReferenceTypeCoreFieldId.PageRange)) return null;
       
      var firstPageRangeFieldElement = componentPart.Elements.FirstOrDefault(item => item is PageRangeFieldElement) as PageRangeFieldElement;
        if (firstPageRangeFieldElement == null) return null;
      if (firstPageRangeFieldElement.PropertyId != ReferencePropertyId.PageRange) return null;
         
      var placeholderCitation = citation as PlaceholderCitation;
      if (placeholderCitation == null) return null;
         
        var quotationPageRange = placeholderCitation.PageRange;
        if (string.IsNullOrEmpty(quotationPageRange)) return null;
       
      if (citation.Reference.StartPage == placeholderCitation.StartPage)
      {
         //the start page component "replaces" the quotation page range component
         //quotation page range over 1 page: StartPage only
         //quotation page range over 2 pages: StartPage f. Suffix
         //quotation page range over 3 and more pages: StartPage ff.
         
         SetAllNumberingStyles(firstPageRangeFieldElement, NumberingStyle.StartPageOnly);
         
         switch(GetPageRangeSize(placeholderCitation.StartPage, placeholderCitation.EndPage))
         {
            case PageRangeSize.One:
               SetAllSuffixes(firstPageRangeFieldElement, string.Empty);
               break;
               
            case PageRangeSize.Two:
               SetAllSuffixes(firstPageRangeFieldElement, " f.");
               break;
               
            case PageRangeSize.Multi:
               SetAllSuffixes(firstPageRangeFieldElement, " ff.");
               break;
               
            default:
               //do nothing
               break;   
         }
      }
      else
      {
         //output of start page only
         //we set all numbering types (page/column/margin/section/other) to StartPageOnly and remove the suffixes
         SetAllSuffixes(firstPageRangeFieldElement, string.Empty);
         SetAllNumberingStyles(firstPageRangeFieldElement, NumberingStyle.StartPageOnly);
            
      }   
      
        return null;         
      }
   
   private enum PageRangeSize
   {
      None,
      One,
      Two,
      Multi
   }
   
   
   private PageRangeSize GetPageRangeSize(string startPageText, string endPageText)
   {
      int startPage = 0;
      int endPage = 0;
      
      if (string.IsNullOrEmpty(startPageText)) return PageRangeSize.None;
      if (!int.TryParse(startPageText, out startPage) || startPage == 0) return PageRangeSize.None;
      
      if (!string.IsNullOrEmpty(endPageText))
      {
         if (int.TryParse(endPageText, out endPage))
         {
            var diff = endPage - startPage;
            if (diff < 0) return PageRangeSize.None;
            if (diff == 0) return PageRangeSize.One;
            if (diff == 1) return PageRangeSize.Two;
            return PageRangeSize.Multi;
         }
         else
         {
            return PageRangeSize.None;
         }   
      }
      else
      {
         return PageRangeSize.One;
      }   
   
   }
   
   private void SetAllSuffixes(PageRangeFieldElement element, string suffix)
   {
      element.PageMultiSuffix.Text = suffix;
      element.PageOneSuffix.Text = suffix;
      element.PageTwoSuffix.Text = suffix;
         
      element.ColumnMultiSuffix.Text = suffix;
      element.ColumnOneSuffix.Text = suffix;
      element.ColumnTwoSuffix.Text = suffix;
         
      element.MarginMultiSuffix.Text = suffix;
      element.MarginOneSuffix.Text = suffix;
      element.MarginTwoSuffix.Text = suffix;
         
      element.ParagraphMultiSuffix.Text = suffix;
      element.ParagraphOneSuffix.Text = suffix;
      element.ParagraphTwoSuffix.Text = suffix;
          
      element.OtherMultiSuffix.Text = suffix;
      element.OtherOneSuffix.Text = suffix;
      element.OtherTwoSuffix.Text = suffix;         
   }
   
   private void SetAllNumberingStyles(PageRangeFieldElement element, NumberingStyle numberingStyle)
   {
      element.PageMultiNumberingStyle = numberingStyle;
      element.PageOneNumberingStyle = numberingStyle;
      element.PageTwoNumberingStyle = numberingStyle;
         
      element.ColumnMultiNumberingStyle = numberingStyle;
      element.ColumnOneNumberingStyle = numberingStyle;
      element.ColumnTwoNumberingStyle = numberingStyle;
         
      element.MarginMultiNumberingStyle = numberingStyle;
      element.MarginOneNumberingStyle = numberingStyle;
      element.MarginTwoNumberingStyle = numberingStyle;
      
      element.ParagraphMultiNumberingStyle = numberingStyle;
      element.ParagraphOneNumberingStyle = numberingStyle;
      element.ParagraphTwoNumberingStyle = numberingStyle;
          
      element.OtherMultiNumberingStyle = numberingStyle;
      element.OtherOneNumberingStyle = numberingStyle;
      element.OtherTwoNumberingStyle = numberingStyle;   
   }
}
}


Gruss, J. Pasch
Jörg Pasch
Citavi Customer Service
 

Re: Suffix der Startseite abhängig von Zitat-Seite unterdrüc

Postby kai.h » 2013-12-16 17:20

Guten Abend Herr Pasch,

ich bin ehrlich beeindruckt. Haben Sie vielen Dank, die Programmierung funktioniert jetzt in allen Konstellationen tadellos.

Ich hätte auch keine Probleme gehabt, die beiden Elemente in einer Komponente zusammenzufassen. Das erübrigt sich aber nun wohl.

Mit freundlichen Grüßen

Kai Hofmann
kai.h
 

Re: Suffix der Startseite abhängig von Zitat-Seite unterdrüc

Postby kai.h » 2014-01-30 11:09

Liebes Citavi-Team,

die Formatierung von Herrn Pasch funktioniert weiterhin einwandfrei. Ich würde sie aber gern um ein Detail erweitern:
Einige Entscheidungssammlungen geben die Startseite nicht nur mit arabischen Zahlen an, sondern setzen eine römische Ziffer davor (mir ist nur die offizielle Sammlung des EuGH und des EuG bekannt). Das sieht dann so aus:

EuGH, Slg 2010 [Fundstelle und Jahr], I-13971 [Startseite, als Seite formatiert], Rn. 23.


In dem Feld "Seiten von-bis" wird nie eine Spanne von Seiten stehen, da die genaue Fundstelle im weiteren mit Randnummern nachgewiesen wird.

Leider springt bei diesem Eintrag in der Datenbank die Funktion "mehrere Seiten" an und versieht die Startseite mit ff. Das passiert wohl immer, wenn nicht nur arabische Ziffern im Feld stehen. Das sieht jetzt so aus:

EuGH, Slg 2010 [Fundstelle und Jahr], I-13971 ff. [Startseite, als Seite formatiert], Rn. 23.


Das ff. muss hier weg. Könnte man die Programmierung für die Startseite darum dahingehend erweitern, dass der Suffix der Startseite unterdrückt wird, wenn das Feld nicht mit einer arabischen Ziffer beginnt? Das wäre wohl auch für die Programmierung der Zitatseiten eine sinnvolle Erweiterung.

Vielen Dank im Voraus!

Mit freundlichen Grüßen
Kai Hofmann
kai.h
 

Re: Suffix der Startseite abhängig von Zitat-Seite unterdrüc

Postby Jörg Pasch » 2014-02-03 16:57

Guten Tag Herr Hofmann,

ich denke das ließe sich durch Erfassung der "Seiten-von-bis" als Zahlenformat "Andere" erschlagen:

Auf Seiten der Dateneingabe wählen Sie durch Klicken auf das "Link-Label" vor dem Feld Seite-von-bis einfach den Typ "Andere" aus und geben Sie den vollständigen Lokator in das Feld ein: "I-13971, Rn. 23".

Auf Seiten des Zitationsstils bleibt in den Eigenschaften der Komponente "Seiten von-bis" einfach das Präfix Feld leer (unabhängig von den Einstellungen unter Seitennummer, Spalten, Paragraphen etc.).

Entspricht das dem gewünschten Ergebnis?

Seiten-von-bis-Zahlenformat-Andere.jpg


Freundliche Grüße
J.Pasch
Jörg Pasch
Citavi Customer Service
 

Re: Suffix der Startseite abhängig von Zitat-Seite unterdrüc

Postby kai.h » 2014-02-13 21:45

Guten Abend Herr Pasch,

ihr Vorschlag würde das konkrete Problem tatsächlich beseitigen (obwohl ich "Rn. 23" trotzdem im Feld Seite eintragen würde.), dafür herzlichen Dank.

Es bleibt aber die generelle Schwäche der "f." und "ff." Zitierung. Egal ob "I-13971" als Startseite oder "Rn. 23, 45" und "S. 13-15, 38-40", die Automatik hängt immer stur ein "ff." oder sonst einen Suffix an die Zahl, je nachdem welchen man eingetragen hat. Lässt sich dem Problem eleganter begegnen?

Denn die von Ihnen vorgeschlagene manuelle Lösung hat Grenzen:
- Wenn ich mich später entscheide, doch stets den gesamten Zahlenbereich anzugeben müsste ich "S. 13-15, 38-40", die vorher manuell auf "S. 13 ff, 38 ff." geändert habe, wiederum manuell zurück ändern.
- Dazu kommt, dass ich derzeit mit drei verschiedenen Seitenzahl-Typen arbeite, mit je unterschiedlichen Präfix und Suffix. Wenn ich nun hiervon Dubletten erstelle (als "Andere" oder "Spalte") um sie mit einem anderen Zahlenformat zu versehen, fehlt ein Feld; Citavi kennt nur 5 Seitenzahl-Typen.

Eine Möglichkeit wäre vielleicht, einen Mehrfachnachweis anzulegen und alle Komponenten außer den Zitatseiten zu unterdrücken. Die Vorlagebedingung "Gleicher Titeleintrag wie vorheriger" ist hierfür leider nicht geeignet, weil sie Fußnotengrenzen ignoriert. Taucht in Fußnote 1 also "Müller 2010, 34" auf, heißt es in Fußnote 2 dann "45", ohne dass der Leser wüsste in welchem Titel die Seite steht. Richtig müsste es da "Müller 2010, 45" heißen. Die Bedingung müsste sich ähnlich der ders./dies-Bedingung auf den unmittelbaren Vorgänger innerhalb derselben Fußnote beziehen.
Dazu kommt, dass Mehrfachnachweise aus gutem Grund mit ";" [Semikolon] getrennt werden und nicht mit "," [Komma]. Citavi müsste hier also eine Ausnahme machen.

Damit verlasse ich jetzt wohl den Bereich der Zitierstile und gehe Richtung Wunschliste für eine neue Version, oder? In jedem Falle vielen Dank für Ihre Hilfe.

Mit freundlichen Grüßen

Kai Hofmann
kai.h
 

Next

Return to Mit Vorlagen komplexe Formatierungen erzeugen