Trabalhando com Bibliografia
Trabalhando com Bibliografia
O recurso de citação e bibliografia do Word armazena seus dados de origem separadamente dos campos que os exibem. Aspose.Words FOSS para .NET modelos que obtêm dados através do Aspose.Words.Bibliography namespace – Source, Contributor, Person, e Corporate – acessível a partir de Document.Bibliography. Esta página cobre a construção e a leitura desses dados; o CITATION and BIBLIOGRAPHY campos que os exibem são abordados no guia de links e referências.
O Modelo de Dados da Bibliografia
Document.Bibliography é uma instância Bibliography com BibliographyStyle – o nome do estilo de citação (por exemplo APA ou MLA) que deve ser aplicado quando um campo BIBLIOGRAPHY é atualizado – e Sources, um IList<Source> que contém todos os registros de fonte disponíveis no documento.
Registros de Fonte
Source é construído com Source(tag, sourceType), onde Tag é o identificador curto que FieldCitation.SourceTag e FieldBibliography.SourceTag comparam, e SourceType é um enum que identifica o tipo de fonte — valores incluem Book, BookSection, JournalArticle, ArticleInAPeriodical, ConferenceProceedings, Report, Patent, Case, InternetSite, DocumentFromInternetSite, Interview, Film, SoundRecording, Performance, Art, Electronic e Misc. Source.Type armazena separadamente o tipo de fonte como uma string simples. Além de Title e ShortTitle, Source expõe dezenas de campos específicos de categoria conforme necessário para o SourceType escolhido — campos de livro (BookTitle, Edition, NumberVolumes, Volume, Pages, ChapterNumber), campos de periódico (JournalName, PeriodicalTitle, PublicationTitle, Issue), campos da web (InternetSiteTitle, Url, DayAccessed, MonthAccessed, YearAccessed), campos jurídicos (CaseNumber, AbbreviatedCaseNumber, Court, Reporter), campos de gravação e transmissão (AlbumTitle, Broadcaster, BroadcastTitle, RecordingNumber, Medium, ProductionCompany, Distributor, Station, Theater), PatentNumber, StandardNumber, campos de tese (ThesisType, Institution, Department), e campos gerais (Publisher, City, StateOrProvince, CountryOrRegion, Year, Month, Day, Comments, Guid, Doi, Version, RefOrder, Lcid).
Contributors
Source.Contributors é um ContributorCollection com uma propriedade por função de colaborador – Author, Editor, Translator, Compiler, Composer, Conductor, Counsel, Director, Interviewee, Interviewer, Inventor, Performer, Producer, Writer, Artist e BookAuthor – cada uma tipada como Contributor, a base comum para os dois tipos de colaborador descritos abaixo.
Contribuintes Individuais vs. Corporativos
Contributor é implementado por duas classes: Person (First, Middle, Last) para um único indivíduo, e Corporate (Name) para uma organização. PersonCollection também herda de Contributor e implementa IEnumerable<Person> (Add, Remove, RemoveAt, Clear, Contains, Count), de modo que uma função de colaborador que tem múltiplos autores individuais pode receber um PersonCollection tão facilmente quanto uma função com um único autor recebe um Person – ambos, junto com Corporate, satisfazem a mesma propriedade de função tipada Contributor.
Renderizando o Conteúdo da Bibliografia
Source os registros apenas fornecem dados – eles não renderizam texto de citação ou bibliografia por si mesmos. Isso acontece através FieldCitation and FieldBibliography, que procuram um Source por correspondência SourceTag against Source.Tag. Veja o guia de links e referências para essas classes de campo.
Dicas e Melhores Práticas
- Atribua a cada
SourceumTagúnico – é o único valor queFieldCitation.SourceTageFieldBibliography.SourceTagusam para encontrar o registro correto. - Preencha apenas os campos
Sourcerelevantes ao seuSourceType– uma fonteBook, por exemplo, não tem uso paraBroadcasterouCaseNumber, mas a classe não impõe isso para você. - Use
Personpara um único contribuinte nomeado,PersonCollectionpara várias pessoas no mesmo cargo eCorporatequando o contribuinte for uma organização em vez de uma pessoa — atribua o que for adequado à propriedade de cargoContributorCollectioncorrespondente. Bibliography.BibliographyStyleregistra qual nome de estilo de citação aplicar; mantenha-o consistente com a forma como os camposFieldCitationesperam que sua saída seja formatada.- Adicione cada
SourceaDocument.Bibliography.Sourcesantes de atualizar os camposCITATIONouBIBLIOGRAPHYque o referenciam — uma fonte ausente significa que o campo de referência não tem nada para resolver.
Problemas Comuns
| Problema | Causa | Correção |
|---|---|---|
O campo CITATION ou BIBLIOGRAPHY não resolve | O Source.Tag não corresponde exatamente ao SourceTag do campo | Confirme se as tags correspondem e se o Source foi adicionado ao Document.Bibliography.Sources |
| Tipo de colaborador incorreto atribuído a um papel | Um Person foi atribuído onde existem múltiplos contribuidores, ou vice-versa | Use PersonCollection para múltiplas pessoas em um cargo, Person para um único indivíduo, Corporate para uma organização |
| Os campos de origem parecem inconsistentes para seu tipo | Campos de um SourceType diferente foram preenchidos (por exemplo campos da web em uma fonte Book) | Preencha apenas os campos relevantes ao SourceType escolhido |
FAQ
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 (povoado com instâncias de Person via Add()) à propriedade de função ContributorCollection relevante, como Author.
Como cito uma organização em vez de um indivíduo?
Atribua uma instância de 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, correspondido por SourceTag. Veja o guia de links e referências.
API Reference Resumo
| Classe / Enum | Descrição |
|---|---|
Bibliography | Raiz dos dados de bibliografia, via Document.Bibliography; BibliographyStyle, Sources |
Source | Uma fonte de citação individual; dezenas de campos específicos por categoria mais Contributors |
SourceType | Enum dos tipos de fonte: Book, JournalArticle, InternetSite, Patent, Case, e mais |
ContributorCollection | Propriedades do colaborador por função (Author, Editor, Translator e outras) em um Source |
Contributor | Base comum para Person, PersonCollection e Corporate |
Person / PersonCollection | Um único colaborador individual, ou uma coleção deles |
Corporate | Uma organização atuando como contribuinte |