Como trabalhar com Bibliografia em .NET

Como trabalhar com Bibliografia em .NET

Este guia mostra como construir os dados de origem de citação por trás do recurso de bibliografia do Word em Aspose.Words FOSS para .NET, usando o Source, Contributor, Person, e Corporate classes no Aspose.Words.Bibliography namespace. Ele cobre a criação de registros de origem, a escolha do tipo de origem correto, a atribuição de contribuintes individuais e corporativos, e a adição de fontes para que CITATION and BIBLIOGRAPHY os campos possam resolvê-las.

Guia passo a passo

Etapa 1: Instalar o pacote

Aspose.Words FOSS for .NET ainda não publica um pacote NuGet — compile a biblioteca a partir do código-fonte. Clone https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git, depois compile Aspose.Words.sln na configuração Release com o SDK .NET e faça referência ao assembly Aspose.Words resultante em seu projeto. A biblioteca tem como alvo .NET Standard 2.0, portanto funciona no .NET Framework 4.6.2+ e .NET 6/8/10.


Etapa 2: Importar classes necessárias

Adicione uma diretiva using Aspose.Words; para Document e uma diretiva using Aspose.Words.Bibliography; para Source, SourceType, Contributor, ContributorCollection, Person, PersonCollection e Corporate.


Etapa 3: Acesse os Dados de Bibliografia do Documento

Document.Bibliography retorna uma instância Bibliography. Sua propriedade Sources é um IList<Source> que contém todos os registros de fontes disponíveis para o documento, e BibliographyStyle registra o nome do estilo de citação — por exemplo APA ou MLA — que deve ser aplicado quando um campo BIBLIOGRAPHY é atualizado.


Etapa 4: Crie um Registro de Fonte

Construa um Source com Source(tag, sourceType): Tag é o identificador curto que FieldCitation.SourceTag e FieldBibliography.SourceTag correspondem mais tarde, e SourceType é um valor enum que identifica o tipo de fonte — Book, BookSection, JournalArticle, ArticleInAPeriodical, ConferenceProceedings, Report, Patent, Case, InternetSite, DocumentFromInternetSite, Interview, Film, SoundRecording, Performance, Art, Electronic ou Misc. Atribua a cada Source um Tag único — ele é o único valor que os campos de citação usam para encontrar o registro correto.


Etapa 5: Preencha os Campos para o Tipo de Fonte Escolhido

Além de Title e ShortTitle, Source expõe dezenas de campos específicos de categoria — preencha apenas os que são relevantes para o SourceType escolhido. Fontes de livro usam BookTitle, Edition, NumberVolumes, Volume, Pages e ChapterNumber. Fontes de periódicos usam JournalName, PeriodicalTitle, PublicationTitle e Issue. Fontes da web usam InternetSiteTitle, Url, DayAccessed, MonthAccessed e YearAccessed. Fontes jurídicas usam CaseNumber, AbbreviatedCaseNumber, Court e Reporter. Fontes de gravação e transmissão usam AlbumTitle, Broadcaster, BroadcastTitle, RecordingNumber, Medium, ProductionCompany, Distributor, Station e Theater. Campos de uso geral aplicam-se na maioria dos tipos de fonte: Publisher, City, StateOrProvince, CountryOrRegion, Year, Month, Day, Comments, Guid, Doi, Version, RefOrder e Lcid.


Etapa 6: Atribua Contribuintes Individuais

Source.Contributors retorna um ContributorCollection com uma propriedade por função de contribuinte — Author, Editor, Translator, Compiler, Composer, Conductor, Counsel, Director, Interviewee, Interviewer, Inventor, Performer, Producer, Writer, Artist e BookAuthor — cada uma tipada como a classe base abstrata Contributor. Atribua um Person (construído a partir de Last, First, Middle) a uma propriedade de função para um único indivíduo nomeado.


Passo 7: Atribuir Contribuidores Múltiplos ou Corporativos

Quando um papel tem mais de um contribuinte individual, atribua um PersonCollection em vez de um único Person – PersonCollection também deriva de Contributor e implementa IEnumerable<Person>, com Add(), Remove(), RemoveAt(), Clear(), Contains() e Count para gerenciar seus membros. Quando o contribuinte é uma organização em vez de uma pessoa, atribua um Corporate (construído a partir de seu Name) à propriedade do papel. Person, PersonCollection e Corporate satisfazem o mesmo tipo de propriedade de papel Contributor, então escolha o que melhor se adequa à fonte.


Passo 8: Adicionar a Fonte para que os Campos de Citação possam resolvê-la

Adicione todos os concluídos Source to Document.Bibliography.Sources antes de atualizar qualquer CITATION or BIBLIOGRAPHY campo que o referencia – uma fonte que foi construída mas nunca adicionada não tem nada para o campo de referência resolver. Source os registros apenas fornecem dados; eles não renderizam texto de citação ou bibliografia por si mesmos. A renderização ocorre através de FieldCitation and FieldBibliography, coberto no guia de links e referências.

Problemas Comuns e Soluções

Um campo CITATION ou BIBLIOGRAPHY não resolve O Source.Tag não corresponde exatamente ao campo SourceTag. Confirme se as tags correspondem e que o Source foi realmente adicionado a Document.Bibliography.Sources.

Tipo de contribuinte errado atribuído a um papel Um Person foi atribuído onde existem múltiplos contribuidores, ou vice-versa. Use PersonCollection para múltiplos indivíduos em um papel, Person para um único indivíduo, e Corporate para uma organização.

Os campos da fonte parecem inconsistentes para seu tipo Campos para um diferente SourceType foram preenchidos – por exemplo, campos web como Url and DayAccessed definidos em um Book fonte. Preencha apenas os campos relevantes para o escolhido SourceType.

Uma fonte com vários autores mostra apenas um nome Um único Person foi atribuído a Author em vez de um PersonCollection. Crie um PersonCollection, adicione cada Person with Add(), e atribua a coleção à propriedade role.

BibliographyStyle não corresponde ao formato de citação que espero Bibliography.BibliographyStyle registra qual nome de estilo de citação aplicar – mantenha consistente com como o documento FieldCitation campos esperam sua saída formatada.

Perguntas Frequentes

Como adiciono uma fonte de livro com um único autor?

Crie um Source com SourceType.Book, defina BookTitle, Publisher, Year e campos relacionados, então atribua um Person a Source.Contributors.Author.

Como adiciono uma fonte com vários autores?

Atribua um PersonCollection – preenchido com instâncias Person via Add() – à propriedade role ContributorCollection relevante, como Author.

Como cito uma organização em vez de um indivíduo?

Atribua uma instância Corporate, construída com o Name da organização, à propriedade de função ContributorCollection em vez de um Person ou PersonCollection.

Onde os registros Source realmente aparecem no documento renderizado?

Eles não são renderizados por conta própria – FieldCitation and FieldBibliography campos renderizam conteúdo construído a partir deles, correspondidos por SourceTag. Veja o guia de links e referências.

O que identifica um registro Source para os campos que o citam?

Source.Tag, definido no construtor Source(tag, sourceType) – FieldCitation.SourceTag e FieldBibliography.SourceTag correspondem a este valor exato.

Ver também

 Português