Dokumententyp "Zeitschrift"

andreas k. hinzugefügt 3 Monaten her
unbeantwortet

Hallo,

ich brauche derzeit eine Literaturliste, in der (etwa als eigene Rubrik) auch ganze Zeitschriften gelistet werden sollen -- also nicht einzelne Beiträge in einer Zeitschrift oder Sonderhefte, sonder die Zeitschrift als solches.

Wie macht man das am besten?

Kommentare (5)

Foto
1

Ergänzung: Das gleiche gilt für eine Buchreihe. Wie kann man die Reihe als solche auflisten?

Foto
1

Es schmerzt mich, solche Bastellösungen vorzuschlagen, aber realistisch die einfachste Methode wird es sein, für jede Zeitschrift einen Beitrag anzulegen, bei dem der Autor irgendwas eindeutiges ist (bspw. "CitaviIstGutAberManchmalWasUmständlich"), und das ganze auch in ein Freitextfeld schreibt, und dann macht man eine Vorlage, deren Bedingung lautet "Freitextfeld 1 = CitaviIstGutAberManchmalWasUmständlich". Da gestaltet man dann den Output nach Herzensbelieben. Per Gruppierung wird dann sicher gestellt, dass diese Titel an der richtigen Stelle stehen. Vielleicht habe ich eine einfachere Lösung übersehen.

Foto
1

Guten Abend Andreas

Zuerst zur Zeitschrift. Entspräche das Folgende ungefähr dem gewünschten Ergebnis?

/f90d25a355454480c47d426fe20f7cf7

Freundliche Grüsse

Peter

Foto
1

Ja, die untere Liste ist in etwas das, was ich möchte. Vielleicht noch mit einer Angabe, ab welchem Jahr bzw. von wann bis wann die ZS existiert.

Wie ist das gelöst?

Ich habe derzeit einen Workaround mit "unklarer Dokumententyp" und einer speziellen Kategorie. Aber das ist noch nicht problemfrei.

Foto
1

Guten Morgen

Ich habe die Zeitschriften als "Sonderheft, Beiheft" erfasst:

/188f21d2f385116046f881ad4465b13e

Im Zitationsstil habe ich diese Einstellungen getroffen, wobei die programmierte Sortierung (s.u.) nach angepasst werden musste, damit im Literaturverzeichnis der Name der Zeitschrift anstelle der Autoren zur alphabetischen Sortierung herangezogen wird.

/6389d285012f8a8229fca12ad527e847

Das wäre der Code, den Sie in Ihrem Zitationsstil unter Datei > Eigenschaften des Zitationsstils > Sortierung > Programmiert eingeben würden:

using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using SwissAcademic.Citavi;
using SwissAcademic.Citavi.Citations;
using SwissAcademic.Citavi.Metadata;
using SwissAcademic.Collections;

namespace SwissAcademic.Citavi.Comparers
{
	public class CustomCitationComparer
		:
		ICustomCitationComparerMacro
	{
		public int Compare(Citation x, Citation y)
		{
			/*
				This is an example of a custom sort macro that sorts all references of type 'internet document' on top of the bibliography.
				The internet documents themselves are sorted according to a different logic than the rest of the cited documents.
				Return values:
				0:					x is considered the same as y sorting-wise, so we cannot tell a difference based on the algorithm below
				> 0 (positive):		x should go after y, x is greater than y
				< 0 (negative):		x should go before y, x is less than
			*/

			//First we make sure we are comparing BibliographyCitations only
			var xBibliographyCitation = x as BibliographyCitation;
			var yBibliographyCitation = y as BibliographyCitation;

			if (xBibliographyCitation == null || yBibliographyCitation == null) return 0;
			var xReference = xBibliographyCitation.Reference;
			var yReference = yBibliographyCitation.Reference;
			if (xReference == null || yReference == null) return 0;
			
			var defaultCitationComparer = CitationComparer.AuthorYearTitleOrNoAuthorThenTitleYearAscending;
			
			var xReferenceType = xReference.ReferenceType;
			var yReferenceType = yReference.ReferenceType;
			
			var xIsSpecialIssue = xReferenceType == ReferenceType.SpecialIssue;
			var yIsSpecialIssue = yReferenceType == ReferenceType.SpecialIssue;
			
			if (!xIsSpecialIssue && !yIsSpecialIssue)
			{
				return defaultCitationComparer.Compare(x, y);
			}

			var xReferenceHasAuthor = xReference.AuthorsOrEditorsOrOrganizations != null && xReference.AuthorsOrEditorsOrOrganizations.Any();
			var yReferenceHasAuthor = yReference.AuthorsOrEditorsOrOrganizations != null && yReference.AuthorsOrEditorsOrOrganizations.Any();
			if (xReferenceHasAuthor && yReferenceHasAuthor)
			{
				return defaultCitationComparer.Compare(x, y);
			}
			
			//one reference is a newspaper article without author
			string xFirstSortCriterion;
			string yFirstSortCriterion;
			
			if (xIsSpecialIssue)
			{
				xFirstSortCriterion = xReferenceHasAuthor ? xReference.AuthorsOrEditorsOrOrganizations.ToString() : 
					xReference.Periodical != null ? xReference.Periodical.ToString() : xReference.Title;
			}
			else
			{
				xFirstSortCriterion = xReferenceHasAuthor ? xReference.AuthorsOrEditorsOrOrganizations.ToString() : xReference.Title;
			}
			
			if (yIsSpecialIssue)
			{
				yFirstSortCriterion = yReferenceHasAuthor ? yReference.AuthorsOrEditorsOrOrganizations.ToString() : 
					yReference.Periodical != null ? yReference.Periodical.ToString() : yReference.Title;
			}
			else
			{
				yFirstSortCriterion = yReferenceHasAuthor ? yReference.AuthorsOrEditorsOrOrganizations.ToString() : yReference.Title;
			}
			
			var firstSortResult = string.Compare(xFirstSortCriterion, yFirstSortCriterion);
			if (firstSortResult != 0) return firstSortResult;
			
			//sort by year/date
					
			var sortDescriptors = new List<PropertySortDescriptor<Reference>>();
			sortDescriptors.Add(new PropertySortDescriptor<Reference>(ReferencePropertyDescriptor.YearResolved, ListSortDirection.Ascending));
			var yearCitationComparer = new CitationComparer(sortDescriptors);
			return yearCitationComparer.Compare(x, y);

		}
	}
}
Für die Gruppierung im Literaturverzeichnis habe ich diese Gruppierungsdefinition erstellt:

/9b26d4a765fe0091d1e7ef8cc71a185e

Freundliche Grüsse

Peter