Trabajando con Bibliografía
Trabajando con Bibliografía
La función de citas y bibliografía de Word almacena sus datos de origen por separado de los campos que los renderizan. Aspose.Words FOSS para .NET modelos que obtienen datos a través del Aspose.Words.Bibliography namespace – Source, Contributor, Person, y Corporate – accesible desde Document.Bibliography. Esta página cubre la creación y lectura de esos datos; los CITATION and BIBLIOGRAPHY campos que los renderizan están cubiertos en el guía de enlaces y referencias.
El modelo de datos de la bibliografía
Document.Bibliography es una instancia de Bibliography con BibliographyStyle — el nombre del estilo de citación (por ejemplo APA o MLA) que debe aplicarse cuando se actualiza un campo BIBLIOGRAPHY — y Sources, un IList<Source> que contiene todos los registros de origen disponibles para el documento.
Registros de origen
Source se construye con Source(tag, sourceType), donde Tag es el identificador corto contra el que FieldCitation.SourceTag y FieldBibliography.SourceTag coinciden, y SourceType es un enum que identifica el tipo de fuente — los valores incluyen Book, BookSection, JournalArticle, ArticleInAPeriodical, ConferenceProceedings, Report, Patent, Case, InternetSite, DocumentFromInternetSite, Interview, Film, SoundRecording, Performance, Art, Electronic y Misc. Source.Type contiene por separado el tipo de fuente como una cadena simple. Más allá de Title y ShortTitle, Source expone docenas de campos específicos de categoría según sea necesario para el SourceType seleccionado — campos de libro (BookTitle, Edition, NumberVolumes, Volume, Pages, ChapterNumber), campos de publicación periódica (JournalName, PeriodicalTitle, PublicationTitle, Issue), campos web (InternetSiteTitle, Url, DayAccessed, MonthAccessed, YearAccessed), campos legales (CaseNumber, AbbreviatedCaseNumber, Court, Reporter), campos de grabación y difusión (AlbumTitle, Broadcaster, BroadcastTitle, RecordingNumber, Medium, ProductionCompany, Distributor, Station, Theater), PatentNumber, StandardNumber, campos de tesis (ThesisType, Institution, Department), y campos generales (Publisher, City, StateOrProvince, CountryOrRegion, Year, Month, Day, Comments, Guid, Doi, Version, RefOrder, Lcid).
Contributors
Source.Contributors es un ContributorCollection con una propiedad por rol de colaborador – Author, Editor, Translator, Compiler, Composer, Conductor, Counsel, Director, Interviewee, Interviewer, Inventor, Performer, Producer, Writer, Artist, y BookAuthor – cada una tipada como Contributor, la base común para los dos tipos de colaborador descritos a continuación.
Colaboradores Individuales vs. Corporativos
Contributor se implementa mediante dos clases: Person (First, Middle, Last) para un solo individuo, y Corporate (Name) para una organización. PersonCollection también deriva de Contributor e implementa IEnumerable<Person> (Add, Remove, RemoveAt, Clear, Contains, Count), por lo que un rol de colaborador que tiene varios autores individuales puede asignarse un PersonCollection tan fácilmente como a un rol con un solo autor se le asigna un Person – ambos, junto con Corporate, satisfacen la misma propiedad de rol tipada como Contributor.
Renderizado de contenido de bibliografía
Source Los registros solo suministran datos – no generan el texto de cita o bibliografía por sí mismos. Eso ocurre a través de FieldCitation and FieldBibliography, que buscan un Source mediante la coincidencia de SourceTag against Source.Tag. Ver el guía de enlaces y referencias para esas clases de campo.
Consejos y mejores prácticas
- Asigne a cada
SourceunTagúnico – es el único valor queFieldCitation.SourceTagyFieldBibliography.SourceTagusan para encontrar el registro correcto. - Rellene solo los campos
Sourcerelevantes para suSourceType– una fuenteBookno tiene uso paraBroadcasteroCaseNumber, por ejemplo, pero la clase no impone esto por usted. - Utilice
Personpara un único colaborador nombrado,PersonCollectionpara varias personas en el mismo rol, yCorporatecuando el colaborador es una organización en lugar de una persona — asigne la que corresponda a la propiedad de rolContributorCollection. Bibliography.BibliographyStyleregistra qué nombre de estilo de citación aplicar; manténgalo coherente con la forma en que sus camposFieldCitationesperan que se formatee la salida.- Agregue cada
SourceaDocument.Bibliography.Sourcesantes de actualizar los camposCITATIONoBIBLIOGRAPHYque lo referencian — una fuente ausente significa que el campo que hace referencia no tiene nada a lo que resolver.
Problemas comunes
| Problema | Causa | Solución |
|---|---|---|
El campo CITATION o BIBLIOGRAPHY no se resuelve | El Source.Tag no coincide exactamente con el SourceTag del campo | Confirma que las etiquetas coincidan, y que el Source se haya añadido a Document.Bibliography.Sources |
| Tipo de colaborador incorrecto asignado a un rol | Se asignó un Person donde existen varios colaboradores, o viceversa | Utiliza PersonCollection para varias personas en un mismo rol, Person para una sola persona, Corporate para una organización |
| Los campos de origen parecen inconsistentes para su tipo | Se rellenaron campos de un SourceType diferente (por ejemplo, campos web en una fuente Book) | Rellena solo los campos relevantes para el SourceType seleccionado |
FAQ
¿Cómo añado una fuente de libro con un solo autor?
Cree un Source con SourceType.Book, establezca BookTitle, Publisher, Year y los campos relacionados, luego asigne un Person a Source.Contributors.Author.
¿Cómo añado una fuente con varios autores?
Asignar un PersonCollection (poblado con Person instancias a través de Add()) a la propiedad de rol ContributorCollection correspondiente, como Author.
¿Cómo cito a una organización en lugar de a un individuo?
Asignar una instancia de Corporate (construida con el Name de la organización) a la propiedad de rol ContributorCollection en lugar de un Person o PersonCollection.
¿Dónde aparecen realmente los registros de Source en el documento renderizado?
No se renderizan por sí solos – FieldCitation and FieldBibliography los campos generan contenido construido a partir de ellos, coincidente con SourceTag. Ver el guía de enlaces y referencias.
Resumen de API Reference
| Clase / Enumeración | Descripción |
|---|---|
Bibliography | Raíz de datos de la bibliografía, vía Document.Bibliography; BibliographyStyle, Sources |
Source | Una fuente de cita individual; docenas de campos específicos de categoría más Contributors |
SourceType | Enumeración de tipos de origen: Book, JournalArticle, InternetSite, Patent, Case, y más |
ContributorCollection | Propiedades del colaborador por rol (Author, Editor, Translator, y otros) en un Source |
Contributor | Base común para Person, PersonCollection y Corporate |
Person / PersonCollection | Un único colaborador individual, o una colección de ellos |
Corporate | Una organización que actúa como colaborador |