Come lavorare con la bibliografia in .NET

Come lavorare con la bibliografia in .NET

Questa guida mostra come costruire i dati di origine delle citazioni alla base della funzionalità di bibliografia di Word in Aspose.Words FOSS per .NET, usando il Source, Contributor, Person, e Corporate classi nella Aspose.Words.Bibliography namespace. Copre la creazione di record di origine, la scelta del tipo di fonte corretto, l’assegnazione di contributori individuali e aziendali, e l’aggiunta di fonti in modo che CITATION and BIBLIOGRAPHY i campi possano risolverli.

Guida passo passo

Passo 1: Installa il pacchetto

Aspose.Words FOSS per .NET non pubblica ancora un pacchetto NuGet – costruisci la libreria dal sorgente invece. Clona https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git, poi compila Aspose.Words.sln in configurazione Release con l’SDK .NET e riferisci l’assembly Aspose.Words risultante dal tuo progetto. La libreria mira a .NET Standard 2.0, quindi funziona su .NET Framework 4.6.2+ e .NET 6/8/10.


Passo 2: Importa le classi richieste

Aggiungi una direttiva using Aspose.Words; per Document, e una direttiva using Aspose.Words.Bibliography; per Source, SourceType, Contributor, ContributorCollection, Person, PersonCollection e Corporate.


Passo 3: Raggiungi i dati della bibliografia del documento

Document.Bibliography restituisce un’istanza di Bibliography. La sua proprietà Sources è un IList<Source> che contiene tutti i record di fonte disponibili per il documento, e BibliographyStyle registra il nome dello stile di citazione — ad esempio APA o MLA — che dovrebbe essere applicato quando un campo BIBLIOGRAPHY viene aggiornato.


Passo 4: Crea un record di fonte

Costruisci un Source con Source(tag, sourceType): Tag è l’identificatore breve contro cui FieldCitation.SourceTag e FieldBibliography.SourceTag vengono confrontati successivamente, e SourceType è un valore enum che identifica il tipo di fonte — Book, BookSection, JournalArticle, ArticleInAPeriodical, ConferenceProceedings, Report, Patent, Case, InternetSite, DocumentFromInternetSite, Interview, Film, SoundRecording, Performance, Art, Electronic o Misc. Assegna a ogni Source un Tag unico — è l’unico valore che i campi di citazione usano per trovare il record corretto.


Passo 5: Popola i campi per il tipo di fonte scelto

Oltre a Title e ShortTitle, Source espone decine di campi specifici per categoria — popola solo quelli pertinenti al SourceType scelto. Le fonti di tipo libro usano BookTitle, Edition, NumberVolumes, Volume, Pages e ChapterNumber. Le fonti periodiche usano JournalName, PeriodicalTitle, PublicationTitle e Issue. Le fonti web usano InternetSiteTitle, Url, DayAccessed, MonthAccessed e YearAccessed. Le fonti legali usano CaseNumber, AbbreviatedCaseNumber, Court e Reporter. Le fonti di registrazione e trasmissione usano AlbumTitle, Broadcaster, BroadcastTitle, RecordingNumber, Medium, ProductionCompany, Distributor, Station e Theater. I campi di uso generale si applicano alla maggior parte dei tipi di fonte: Publisher, City, StateOrProvince, CountryOrRegion, Year, Month, Day, Comments, Guid, Doi, Version, RefOrder e Lcid.


Passo 6: Assegna contributori individuali

Source.Contributors restituisce un ContributorCollection con una proprietà per ogni ruolo di contributore — Author, Editor, Translator, Compiler, Composer, Conductor, Counsel, Director, Interviewee, Interviewer, Inventor, Performer, Producer, Writer, Artist e BookAuthor — ognuna tipizzata come la classe base astratta Contributor. Assegna un Person (costruito da Last, First, Middle) a una proprietà di ruolo per un singolo individuo nominato.


Passo 7: Assegna Contributori Multipli o Aziendali

Quando un ruolo ha più di un contributore individuale, assegna un PersonCollection invece di un singolo Person – PersonCollection deriva anche da Contributor e implementa IEnumerable<Person>, con Add(), Remove(), RemoveAt(), Clear(), Contains() e Count per gestire i suoi membri. Quando il contributore è un’organizzazione anziché una persona, assegna un Corporate (costruito dal suo Name) alla proprietà del ruolo invece. Person, PersonCollection e Corporate soddisfano tutti la stessa proprietà di ruolo di tipo Contributor, quindi scegli quella che meglio si adatta alla fonte.


Passo 8: Aggiungi la Fonte Affinché i Campi di Citazione Possano Risolverla

Aggiungi ogni completato Source to Document.Bibliography.Sources prima di aggiornare qualsiasi CITATION or BIBLIOGRAPHY campo che lo fa riferimento – una fonte che è stata costruita ma mai aggiunta non ha nulla a cui il campo di riferimento possa risolversi. Source i record forniscono solo dati; non generano direttamente il testo di citazione o bibliografia. Il rendering avviene tramite FieldCitation and FieldBibliography, coperto nella guida ai collegamenti e alle referenze.

Problemi Comuni e Soluzioni

Un campo CITATION o BIBLIOGRAPHY non si risolve Il Source.Tag non corrisponde esattamente al campo’s SourceTag. Conferma che i tag corrispondono e che il Source è stato effettivamente aggiunto a Document.Bibliography.Sources.

Tipo di collaboratore errato assegnato a un ruolo A Person è stato assegnato dove esistono più collaboratori, o viceversa. Usa PersonCollection per più individui in un ruolo, Person per un singolo individuo, e Corporate per un’organizzazione.

I campi della fonte sembrano incoerenti per il suo tipo Campi per un diverso SourceType sono stati compilati – ad esempio, campi web come Url and DayAccessed impostati su un Book fonte. Compila solo i campi rilevanti per quello scelto SourceType.

Una fonte con più autori mostra solo un nome Un singolo Person è stato assegnato a Author invece di un PersonCollection. Crea un PersonCollection, aggiungi ciascuno Person with Add(), e assegna la collezione alla proprietà role.

BibliographyStyle non corrisponde al formato di citazione che mi aspetto Bibliography.BibliographyStyle registra quale nome di stile di citazione applicare – mantienilo coerente con il modo in cui il documento FieldCitation i campi si aspettano la formattazione dell’output.

Domande Frequenti

Come aggiungo una fonte libro con un solo autore?

Crea un Source con SourceType.Book, imposta BookTitle, Publisher, Year e i campi correlati, poi assegna un Person a Source.Contributors.Author.

Come aggiungo una fonte con più autori?

Assegna un PersonCollection – popolato con istanze Person tramite Add() – alla proprietà di ruolo ContributorCollection rilevante, come Author.

Come cito un’organizzazione invece di un individuo?

Assegna un’istanza Corporate, costruita con il Name dell’organizzazione, alla proprietà di ruolo ContributorCollection invece di un Person o PersonCollection.

Dove compaiono effettivamente i record Source nel documento renderizzato?

Non si rendono da soli – FieldCitation and FieldBibliography i campi rendono contenuto costruito da essi, corrispondente a SourceTag. Vedi il guida ai collegamenti e ai riferimenti.

Cosa identifica un record Source per i campi che lo citano?

Source.Tag, impostato nel costruttore Source(tag, sourceType) — FieldCitation.SourceTag e FieldBibliography.SourceTag corrispondono a questo valore esatto.

Vedi anche

 Italiano