Wie man mit Bibliografie in .NET arbeitet
Dieser Leitfaden zeigt, wie man die Zitationsquellendaten hinter der Bibliographie-Funktion von Word erstellt in Aspose.Words FOSS für .NET, unter Verwendung der Source, Contributor, Person, und Corporate Klassen im Aspose.Words.Bibliography Namensraum. Es behandelt das Erstellen von Quelleneinträgen, die Auswahl des richtigen Quellentyps, das Zuordnen von einzelnen und Unternehmensbeiträgen sowie das Hinzufügen von Quellen, sodass CITATION and BIBLIOGRAPHY Felder sie auflösen können.
Schritt-für-Schritt-Anleitung
Schritt 1: Installieren Sie das Paket
Aspose.Words FOSS für .NET veröffentlicht noch kein NuGet-Paket – bauen Sie die Bibliothek stattdessen aus dem Quellcode. Klonen Sie https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git, dann bauen Sie Aspose.Words.sln in der Release-Konfiguration mit dem .NET SDK und binden die resultierende Aspose.Words-Assembly in Ihr Projekt ein. Die Bibliothek zielt auf .NET Standard 2.0 ab, sodass sie auf .NET Framework 4.6.2+ und .NET 6/8/10 läuft.
Schritt 2: Erforderliche Klassen importieren
Fügen Sie eine using Aspose.Words;-Direktive für Document hinzu und eine using Aspose.Words.Bibliography;-Direktive für Source, SourceType, Contributor, ContributorCollection, Person, PersonCollection und Corporate hinzu.
Schritt 3: Greifen Sie auf die Bibliographiedaten des Dokuments zu
Document.Bibliography gibt eine Bibliography-Instanz zurück. Seine Sources-Eigenschaft ist ein IList<Source>, das jeden im Dokument verfügbaren Quelleneintrag enthält, und BibliographyStyle speichert den Namen des Zitationsstils – zum Beispiel APA oder MLA – der angewendet werden soll, wenn ein BIBLIOGRAPHY-Feld aktualisiert wird.
Schritt 4: Einen Quelleneintrag erstellen
Erstellen Sie ein Source mit Source(tag, sourceType): Tag ist der kurze Bezeichner, gegen den FieldCitation.SourceTag und FieldBibliography.SourceTag später abgeglichen werden, und SourceType ist ein Aufzählungswert, der die Art der Quelle identifiziert – Book, BookSection, JournalArticle, ArticleInAPeriodical, ConferenceProceedings, Report, Patent, Case, InternetSite, DocumentFromInternetSite, Interview, Film, SoundRecording, Performance, Art, Electronic oder Misc. Geben Sie jedem Source eine eindeutige Tag – sie ist der einzige Wert, den die Zitationsfelder verwenden, um den richtigen Eintrag zu finden.
Schritt 5: Felder für den gewählten Quelltyp ausfüllen
Über Title und ShortTitle hinaus stellt Source Dutzende von kategoriespezifischen Feldern bereit – füllen Sie nur die aus, die für den gewählten SourceType relevant sind. Buchquellen verwenden BookTitle, Edition, NumberVolumes, Volume, Pages und ChapterNumber. Zeitschriftenquellen verwenden JournalName, PeriodicalTitle, PublicationTitle und Issue. Webquellen verwenden InternetSiteTitle, Url, DayAccessed, MonthAccessed und YearAccessed. Rechtsquellen verwenden CaseNumber, AbbreviatedCaseNumber, Court und Reporter. Aufnahme- und Rundfunkquellen verwenden AlbumTitle, Broadcaster, BroadcastTitle, RecordingNumber, Medium, ProductionCompany, Distributor, Station und Theater. Allgemeine Felder gelten für die meisten Quelltypen: Publisher, City, StateOrProvince, CountryOrRegion, Year, Month, Day, Comments, Guid, Doi, Version, RefOrder und Lcid.
Schritt 6: Einzelne Mitwirkende zuweisen
Source.Contributors gibt ein ContributorCollection zurück, das für jede Mitwirkenden-Rolle eine Eigenschaft hat – Author, Editor, Translator, Compiler, Composer, Conductor, Counsel, Director, Interviewee, Interviewer, Inventor, Performer, Producer, Writer, Artist und BookAuthor – jeweils vom abstrakten Basisklassentyp Contributor. Weisen Sie einer Rolleneigenschaft für eine einzelne benannte Person ein Person zu (erstellt aus Last, First und Middle).
Schritt 7: Mehrere oder Unternehmens-Beitragende zuweisen
Wenn eine Rolle mehr als einen einzelnen Beitragenden hat, weise ein PersonCollection anstelle eines einzelnen Person zu – PersonCollection leitet ebenfalls von Contributor ab und implementiert IEnumerable<Person>, mit Add(), Remove(), RemoveAt(), Clear(), Contains() und Count zur Verwaltung seiner Mitglieder. Wenn der Beitragende eine Organisation statt einer Person ist, weise stattdessen ein Corporate (erstellt aus seinem Name) der Rolleneigenschaft zu. Person, PersonCollection und Corporate erfüllen alle dieselbe Contributor-typisierte Rolleneigenschaft, also wähle die passende zum Ausgangstext.
Schritt 8: Quelle hinzufügen, damit Zitationsfelder sie auflösen können
Fügen Sie jede abgeschlossene Source to Document.Bibliography.Sources vor dem Aktualisieren von irgendetwas CITATION or BIBLIOGRAPHY Feld, das darauf verweist – eine Quelle, die konstruiert, aber nie hinzugefügt wurde, hat nichts, worauf das referenzierende Feld auflösen kann. Source Datensätze liefern nur Daten; sie rendern Zitations- oder Bibliografietext nicht selbst. Das Rendern erfolgt über FieldCitation and FieldBibliography, behandelt im Links- und Referenzleitfaden.
Häufige Probleme und Lösungen
Ein CITATION- oder BIBLIOGRAPHY-Feld löst sich nicht auf Das Source.Tag stimmt nicht exakt mit dem Feld überein SourceTag. Bestätigen Sie, dass die Tags übereinstimmen, und dass die Source wurde tatsächlich zu Document.Bibliography.Sources.
Falscher Mitwirkertyp einer Rolle zugewiesen Ein Person wurde zugewiesen, wenn mehrere Mitwirkende existieren, oder umgekehrt. Verwenden Sie PersonCollection für mehrere Personen in einer Rolle, Person für eine einzelne Person, und Corporate für eine Organisation.
Quellfelder sehen für ihren Typ inkonsistent aus Felder für ein anderes SourceType wurden befüllt – zum Beispiel Webfelder wie Url and DayAccessed gesetzt auf einem Book Quelle. Befüllen Sie nur die Felder, die für die gewählte relevant sind SourceType.
Eine Quelle mit mehreren Autoren zeigt nur einen Namen Ein einzelner Person wurde zugewiesen an Author statt eines PersonCollection. Erstelle ein PersonCollection, füge jedes Person with Add(), und weise die Sammlung der Rolleneigenschaft zu.
BibliographyStyle stimmt nicht mit dem Zitationsformat überein, das ich erwarte Bibliography.BibliographyStyle zeichnet auf, welchen Zitierstilnamen man anwenden soll – halte es konsistent mit der Art, wie das Dokument FieldCitation Felder erwarten ihre formatierte Ausgabe.
Häufig gestellte Fragen
Wie füge ich eine Buchquelle mit einem einzelnen Autor hinzu?
Erstellen Sie ein Source mit SourceType.Book, setzen Sie BookTitle, Publisher, Year und verwandte Felder, und weisen Sie anschließend ein Person Source.Contributors.Author zu.
Wie füge ich eine Quelle mit mehreren Autoren hinzu?
Weisen Sie ein PersonCollection – gefüllt mit Person-Instanzen über Add() – der relevanten Rolleneigenschaft ContributorCollection zu, zum Beispiel Author.
Wie zitiere ich eine Organisation anstelle einer Einzelperson?
Weisen Sie eine Corporate-Instanz, die mit dem Name der Organisation erstellt wurde, der ContributorCollection-Rolleigenschaft zu, anstatt eines Person oder PersonCollection.
Wo erscheinen Source-Datensätze tatsächlich im gerenderten Dokument?
Sie rendern nicht von selbst – FieldCitation and FieldBibliography Felder rendern Inhalte, die aus ihnen erstellt wurden, abgeglichen von SourceTag. Siehe die Leitfaden für Links und Referenzen.
Was identifiziert einen Source-Datensatz für die Felder, die ihn zitieren?
Source.Tag, im Source(tag, sourceType)-Konstruktor festgelegt – FieldCitation.SourceTag und FieldBibliography.SourceTag vergleichen sich mit diesem genauen Wert.