Cómo trabajar con Bibliografía en .NET

Cómo trabajar con Bibliografía en .NET

Esta guía muestra cómo crear los datos de origen de citas detrás de la función de bibliografía de Word en Aspose.Words FOSS para .NET, usando el Source, Contributor, Person, y Corporate clases en el Aspose.Words.Bibliography namespace. Cubre la creación de registros de origen, la elección del tipo de fuente correcto, la asignación de colaboradores individuales y corporativos, y la adición de fuentes para que CITATION and BIBLIOGRAPHY los campos puedan resolverlos.

Guía paso a paso

Paso 1: Instalar el paquete

Aspose.Words FOSS for .NET aún no publica un paquete NuGet — construya la biblioteca desde el código fuente en su lugar. Clone https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git, luego compile Aspose.Words.sln en configuración Release con el SDK .NET y haga referencia al ensamblado Aspose.Words resultante desde su proyecto. La biblioteca tiene como objetivo .NET Standard 2.0, por lo que se ejecuta en .NET Framework 4.6.2+ y .NET 6/8/10.


Paso 2: Importar las clases requeridas

Agregue una directiva using Aspose.Words; para Document, y una directiva using Aspose.Words.Bibliography; para Source, SourceType, Contributor, ContributorCollection, Person, PersonCollection y Corporate.


Paso 3: Obtener los datos de bibliografía del documento

Document.Bibliography devuelve una instancia de Bibliography. Su propiedad Sources es un IList<Source> que contiene cada registro de fuente disponible para el documento, y BibliographyStyle registra el nombre del estilo de citación – por ejemplo APA o MLA – que debe aplicarse cuando se actualiza un campo BIBLIOGRAPHY.


Paso 4: Crear un registro de fuente

Construya un Source con Source(tag, sourceType): Tag es el identificador corto con el que FieldCitation.SourceTag y FieldBibliography.SourceTag coinciden más adelante, y SourceType es un valor enum que identifica el tipo de fuente – Book, BookSection, JournalArticle, ArticleInAPeriodical, ConferenceProceedings, Report, Patent, Case, InternetSite, DocumentFromInternetSite, Interview, Film, SoundRecording, Performance, Art, Electronic o Misc. Asigne a cada Source un Tag único – es el único valor que los campos de citación usan para encontrar el registro correcto.


Paso 5: Rellenar los campos para el tipo de fuente elegido

Más allá de Title y ShortTitle, Source expone docenas de campos específicos de categoría – rellene solo los que sean relevantes para el SourceType elegido. Las fuentes de libro usan BookTitle, Edition, NumberVolumes, Volume, Pages y ChapterNumber. Las fuentes de publicación periódica usan JournalName, PeriodicalTitle, PublicationTitle y Issue. Las fuentes web usan InternetSiteTitle, Url, DayAccessed, MonthAccessed y YearAccessed. Las fuentes legales usan CaseNumber, AbbreviatedCaseNumber, Court y Reporter. Las fuentes de grabación y transmisión usan AlbumTitle, Broadcaster, BroadcastTitle, RecordingNumber, Medium, ProductionCompany, Distributor, Station y Theater. Los campos de uso general se aplican a la mayoría de los tipos de fuente: Publisher, City, StateOrProvince, CountryOrRegion, Year, Month, Day, Comments, Guid, Doi, Version, RefOrder y Lcid.


Paso 6: Asignar contribuyentes individuales

Source.Contributors devuelve 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 la clase base abstracta Contributor. Asigne un Person (construido a partir de Last, First, Middle) a una propiedad de rol para un individuo nombrado.


Paso 7: Asignar Contribuyentes Múltiples o Corporativos

Cuando un rol tiene más de un contribuyente individual, asigna un PersonCollection en lugar de un solo Person – PersonCollection también se deriva de Contributor e implementa IEnumerable<Person>, con Add(), Remove(), RemoveAt(), Clear(), Contains() y Count para gestionar sus miembros. Cuando el contribuyente es una organización en lugar de una persona, asigna un Corporate (construido a partir de su Name) a la propiedad del rol en su lugar. Person, PersonCollection y Corporate cumplen todos la misma propiedad de rol de tipo Contributor, así que elige la que mejor se ajuste a la fuente.


Paso 8: Añadir la Fuente para que los Campos de Cita Puedan Resolverla

Añade cada completado Source to Document.Bibliography.Sources antes de actualizar cualquiera CITATION or BIBLIOGRAPHY campo que lo referencia – una fuente que se construyó pero nunca se añadió no tiene nada a lo que el campo de referencia pueda resolver. Source Los registros solo suministran datos; no generan el texto de cita o bibliografía por sí mismos. La generación ocurre a través de FieldCitation and FieldBibliography, cubierto en el guía de enlaces y referencias.

Problemas Comunes y Soluciones

Un campo CITATION o BIBLIOGRAPHY no se resuelve El Source.Tag no coincide exactamente con el del campo’s SourceTag. Confirma que las etiquetas coincidan, y que el Source realmente se añadió a Document.Bibliography.Sources.

Tipo de colaborador incorrecto asignado a un rol Un Person se asignó donde existen varios colaboradores, o viceversa. Usa PersonCollection para múltiples individuos en un rol, Person para un solo individuo, y Corporate para una organización.

Los campos de origen parecen inconsistentes para su tipo Campos para un diferente SourceType fueron completados – por ejemplo, campos web como Url and DayAccessed establecido en un Book origen. Complete solo los campos relevantes para el elegido SourceType.

Una fuente con varios autores solo muestra un nombre Un único Person fue asignado a Author en lugar de un PersonCollection. Crear un PersonCollection, agrega cada Person with Add(), y asigna la colección a la propiedad role.

BibliographyStyle no coincide con el formato de cita que espero Bibliography.BibliographyStyle registra qué nombre de estilo de cita aplicar – mantenlo consistente con cómo el documento FieldCitation los campos esperan su salida formateada.

Preguntas frecuentes

¿Cómo agrego una fuente de libro con un solo autor?

Cree un Source con SourceType.Book, configure BookTitle, Publisher, Year y los campos relacionados, luego asigne un Person a Source.Contributors.Author.

¿Cómo agrego una fuente con varios autores?

Asigne un PersonCollection – poblado con instancias de Person 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 una persona?

Asigne 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 Source en el documento renderizado?

No se renderizan por sí mismos – FieldCitation and FieldBibliography los campos generan contenido construido a partir de ellos, coincidente con SourceTag. Ver el guía de enlaces y referencias.

¿Qué identifica un registro Source para los campos que lo citan?

Source.Tag, establecido en el constructor Source(tag, sourceType) — FieldCitation.SourceTag y FieldBibliography.SourceTag coinciden con este valor exacto.

Ver también

 Español