Hoe te werken met Bibliografie in .NET
Deze gids laat zien hoe je de citatie-brondgegevens achter de bibliografie-functie van Word kunt bouwen in Aspose.Words FOSS voor .NET, met behulp van de Source, Contributor, Person, en Corporate klassen in de Aspose.Words.Bibliography namespace. Het behandelt het maken van bronrecords, het kiezen van het juiste brontype, het toewijzen van individuele en zakelijke bijdragers, en het toevoegen van bronnen zodat CITATION and BIBLIOGRAPHY velden ze kunnen verwerken.
Stapsgewijze handleiding
Stap 1: Installeer het pakket
Aspose.Words FOSS voor .NET publiceert nog geen NuGet-pakket – bouw in plaats daarvan de bibliotheek vanuit de bron. Clone https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git, bouw vervolgens Aspose.Words.sln in Release-configuratie met de .NET SDK en verwijs naar de resulterende Aspose.Words-assembly vanuit je project. De bibliotheek target .NET Standard 2.0, dus hij draait op .NET Framework 4.6.2+ en .NET 6/8/10.
Stap 2: Importeer vereiste klassen
Voeg een using Aspose.Words; directive toe voor Document, en een using Aspose.Words.Bibliography; directive voor Source, SourceType, Contributor, ContributorCollection, Person, PersonCollection en Corporate.
Stap 3: Bereik de bibliografische gegevens van het document
Document.Bibliography retourneert een Bibliography instantie. Zijn Sources eigenschap is een IList<Source> die elk beschikbare bronrecord voor het document bevat, en BibliographyStyle legt de naam van de citatiestijl vast – bijvoorbeeld APA of MLA – die moet worden toegepast wanneer een BIBLIOGRAPHY veld wordt bijgewerkt.
Stap 4: Maak een bronrecord aan
Construeer een Source met Source(tag, sourceType): Tag is de korte identifier waar FieldCitation.SourceTag en FieldBibliography.SourceTag later tegen afstemmen, en SourceType is een enum-waarde die het type bron aangeeft – Book, BookSection, JournalArticle, ArticleInAPeriodical, ConferenceProceedings, Report, Patent, Case, InternetSite, DocumentFromInternetSite, Interview, Film, SoundRecording, Performance, Art, Electronic of Misc. Geef elke Source een unieke Tag – dit is de enige waarde die de citatievelden gebruiken om het juiste record te vinden.
Stap 5: Vul velden in voor het gekozen brontype
Naast Title en ShortTitle geeft Source tientallen categorie-specifieke velden weer – vul alleen de velden in die relevant zijn voor het gekozen SourceType. Boekenbronnen gebruiken BookTitle, Edition, NumberVolumes, Volume, Pages en ChapterNumber. Tijdschriftbronnen gebruiken JournalName, PeriodicalTitle, PublicationTitle en Issue. Webbronnen gebruiken InternetSiteTitle, Url, DayAccessed, MonthAccessed en YearAccessed. Juridische bronnen gebruiken CaseNumber, AbbreviatedCaseNumber, Court en Reporter. Opname- en uitzendbronnen gebruiken AlbumTitle, Broadcaster, BroadcastTitle, RecordingNumber, Medium, ProductionCompany, Distributor, Station en Theater. Algemene velden zijn van toepassing op de meeste brontypes: Publisher, City, StateOrProvince, CountryOrRegion, Year, Month, Day, Comments, Guid, Doi, Version, RefOrder en Lcid.
Stap 6: Wijs individuele bijdragers toe
Source.Contributors retourneert een ContributorCollection met één eigenschap per bijdragerrol – Author, Editor, Translator, Compiler, Composer, Conductor, Counsel, Director, Interviewee, Interviewer, Inventor, Performer, Producer, Writer, Artist en BookAuthor – elk getypeerd als de abstracte Contributor basisklasse. Wijs een Person (geconstrueerd uit Last, First, Middle) toe aan een rol-eigenschap voor één genoemde persoon.
Stap 7: Meerdere of Bedrijfsbijdragers Toewijzen
Wanneer een rol meer dan één individuele bijdrager heeft, wijs een PersonCollection toe in plaats van een enkele Person – PersonCollection is ook afgeleid van Contributor en implementeert IEnumerable<Person>, met Add(), Remove(), RemoveAt(), Clear(), Contains() en Count voor het beheren van zijn leden. Wanneer de bijdrager een organisatie is in plaats van een persoon, wijs dan een Corporate (geconstrueerd uit zijn Name) toe aan de rol-eigenschap. Person, PersonCollection en Corporate voldoen allemaal aan dezelfde Contributor-getypeerde rol-eigenschap, dus kies degene die het beste bij de bron past.
Stap 8: Voeg de Bron Toe Zodat Citatievelden Deze Kunnen Oplossen
Voeg elke voltooide toe Source to Document.Bibliography.Sources voordat u iets bijwerkt CITATION or BIBLIOGRAPHY veld dat ernaar verwijst – een bron die werd geconstrueerd maar nooit werd toegevoegd, heeft niets waar het verwijzende veld naar kan verwijzen. Source records leveren alleen gegevens; ze renderen zelf geen citatie- of bibliografietekst. Rendering gebeurt via FieldCitation and FieldBibliography, behandeld in de links en referentiegids.
Veelvoorkomende Problemen en Oplossingen
Een CITATION- of BIBLIOGRAPHY-veld wordt niet opgelost De Source.Tag komt niet precies overeen met het veld’s SourceTag. Bevestig dat de tags overeenkomen, en dat de Source werd daadwerkelijk toegevoegd aan Document.Bibliography.Sources.
Verkeerd bijdragerstype toegewezen aan een rol Een Person werd toegewezen waar meerdere bijdragers bestaan, of omgekeerd. Gebruik PersonCollection voor meerdere individuen in één rol, Person voor één individu, en Corporate voor een organisatie.
Bronvelden lijken inconsistent voor het type Velden voor een andere SourceType waren ingevuld – bijvoorbeeld webvelden zoals Url and DayAccessed ingesteld op een Book bron. Vul alleen de velden in die relevant zijn voor de gekozen SourceType.
Een bron met meerdere auteurs toont slechts één naam Een enkele Person was toegewezen aan Author in plaats van een PersonCollection. Maak een PersonCollection, voeg elke toe Person with Add(), en wijs de collectie toe aan de rol-eigenschap.
BibliographyStyle komt niet overeen met het citatieformaat dat ik verwacht Bibliography.BibliographyStyle registreert welke citatiestijlnaam moet worden toegepast – houd het consistent met hoe de document’s FieldCitation velden verwachten dat hun output geformatteerd is.
Veelgestelde vragen
Hoe voeg ik een boekbron toe met één auteur?
Maak een Source met SourceType.Book, stel BookTitle, Publisher, Year en gerelateerde velden in, wijs vervolgens een Person toe aan Source.Contributors.Author.
Hoe voeg ik een bron toe met meerdere auteurs?
Wijs een PersonCollection toe – gevuld met Person instanties via Add() – aan de relevante ContributorCollection rooleigenschap, zoals Author.
Hoe citeer ik een organisatie in plaats van een individu?
Ken een Corporate-instantie, geconstrueerd met de Name van de organisatie, toe aan de ContributorCollection rol-eigenschap in plaats van een Person of PersonCollection.
Waar verschijnen Source records eigenlijk in het gerenderde document?
Ze renderen niet zelfstandig – FieldCitation and FieldBibliography velden renderen inhoud die op hen is gebaseerd, gematcht door SourceTag. Zie de gids voor links en referenties.
Wat identificeert een Source record voor de velden die het citeren?
Source.Tag, ingesteld in de Source(tag, sourceType)-constructor – FieldCitation.SourceTag en FieldBibliography.SourceTag matchen met deze exacte waarde.