Работа с библиографией

Работа с библиографией

Работа с библиографией

Функция цитирования и библиографии в Word хранит исходные данные отдельно от полей, которые их отображают. Aspose.Words FOSS для .NET модели, получающие данные через Aspose.Words.Bibliography пространство имён – Source, Contributor, Person, и Corporate – доступно из Document.Bibliography. Эта страница охватывает создание и чтение этих данных; the CITATION and BIBLIOGRAPHY поля, которые их отображают, рассматриваются в the Руководство по ссылкам и источникам.


Модель данных библиографии

Document.Bibliography — это экземпляр Bibliography с BibliographyStyle — названием стиля цитирования (например APA или MLA), которое должно применяться при обновлении поля BIBLIOGRAPHY — и Sources, IList<Source>, содержащим все записи источников, доступные документу.


Записи источников

Source создаётся с помощью Source(tag, sourceType), где Tag — короткий идентификатор, с которым сопоставляются FieldCitation.SourceTag и FieldBibliography.SourceTag, а SourceType — перечисление, определяющее тип источника — значения включают Book, BookSection, JournalArticle, ArticleInAPeriodical, ConferenceProceedings, Report, Patent, Case, InternetSite, DocumentFromInternetSite, Interview, Film, SoundRecording, Performance, Art, Electronic и Misc. Source.Type отдельно хранит тип источника как обычную строку. Помимо Title и ShortTitle, Source раскрывает десятки полей, специфичных для категории, по мере необходимости для выбранного SourceType — полей книги (BookTitle, Edition, NumberVolumes, Volume, Pages, ChapterNumber), полей периодических изданий (JournalName, PeriodicalTitle, PublicationTitle, Issue), веб-полей (InternetSiteTitle, Url, DayAccessed, MonthAccessed, YearAccessed), юридических полей (CaseNumber, AbbreviatedCaseNumber, Court, Reporter), полей записей и трансляций (AlbumTitle, Broadcaster, BroadcastTitle, RecordingNumber, Medium, ProductionCompany, Distributor, Station, Theater), PatentNumber, StandardNumber, полей диссертации (ThesisType, Institution, Department) и общих полей (Publisher, City, StateOrProvince, CountryOrRegion, Year, Month, Day, Comments, Guid, Doi, Version, RefOrder, Lcid).


Contributors

Source.Contributors — это ContributorCollection с одним свойством для каждой роли участника — Author, Editor, Translator, Compiler, Composer, Conductor, Counsel, Director, Interviewee, Interviewer, Inventor, Performer, Producer, Writer, Artist и BookAuthor — каждое типизировано как Contributor, общая база для двух видов участников, описанных ниже.


Физические лица vs. корпоративные участники

Contributor реализуется двумя классами: Person (First, Middle, Last) для отдельного физического лица и Corporate (Name) для организации. PersonCollection также наследуется от Contributor и реализует IEnumerable<Person> (Add, Remove, RemoveAt, Clear, Contains, Count), поэтому роли участника, имеющей несколько индивидуальных авторов, может быть присвоен PersonCollection так же легко, как роль с одним автором получает Person — оба, вместе с Corporate, удовлетворяют одно и то же свойство роли типа Contributor.


Отображение содержимого библиографии

Source записи только предоставляют данные – они не формируют текст цитаты или библиографии сами. Это происходит через FieldCitation and FieldBibliography, которые ищут Source по совпадению SourceTag against Source.Tag. См. Руководство по ссылкам и источникам для этих классов полей.


Советы и лучшие практики

  • Присвойте каждому Source уникальный Tag — это единственное значение, которое FieldCitation.SourceTag и FieldBibliography.SourceTag используют для поиска нужной записи.
  • Заполняйте только те поля Source, которые имеют отношение к её SourceType — например, источник Book не использует Broadcaster или CaseNumber, но класс не принуждает вас к этому.
  • Используйте Person для одного именованного участника, PersonCollection для нескольких лиц в одной роли и Corporate, когда участник является организацией, а не человеком — назначьте подходящее значение в соответствующее свойство роли ContributorCollection.
  • Bibliography.BibliographyStyle фиксирует, какое название стиля цитирования применять; держите его согласованным с тем, как ваши поля FieldCitation ожидают форматировать вывод.
  • Добавьте каждый Source в Document.Bibliography.Sources перед обновлением полей CITATION или BIBLIOGRAPHY, которые ссылаются на него — отсутствие источника означает, что у поля-ссылки нет чего-то, к чему можно привязаться.

Общие проблемы

ПроблемаПричинаИсправление
CITATION или BIBLIOGRAPHY поле не разрешаетсяЗначение Source.Tag не точно совпадает с SourceTag поляУбедитесь, что теги совпадают, и что Source был добавлен в Document.Bibliography.Sources
Неправильный тип участника назначен ролиБыл назначен Person, где существует несколько участников, или наоборотИспользуйте PersonCollection для нескольких лиц в одной роли, Person для одного лица, Corporate для организации
Поля источника выглядят несогласованными с их типомПоля для другого SourceType были заполнены (например, веб-поля в источнике Book)Заполните только поля, относящиеся к выбранному SourceType

FAQ

Как добавить источник книги с одним автором?

Создайте Source с помощью SourceType.Book, задайте BookTitle, Publisher, Year и связанные поля, затем назначьте Person для Source.Contributors.Author.

Как добавить источник с несколькими авторами?

Назначьте PersonCollection (заполненный экземплярами Person через Add()) соответствующему свойству роли ContributorCollection, например Author.

Как мне цитировать организацию вместо отдельного лица?

Назначьте экземпляр Corporate (созданный с использованием Name организации) свойству роли ContributorCollection вместо Person или PersonCollection.

Где фактически появляются записи Source в отрендеренном документе?

Они не отображаются сами по себе – FieldCitation and FieldBibliography поля отображают контент, построенный из них, сопоставленный с SourceTag. См. руководство по ссылкам и справочным материалам.


API Reference Сводка

Класс / ПеречислениеОписание:
BibliographyКорневой элемент данных библиографии, через Document.Bibliography; BibliographyStyle, Sources
SourceОтдельный источник цитирования; десятки полей, специфичных для категорий, плюс Contributors
SourceTypeПеречисление типов источников: Book, JournalArticle, InternetSite, Patent, Case и др.
ContributorCollectionСвойства участника по ролям (Author, Editor, Translator и др.) на Source
ContributorОбщая база для Person, PersonCollection и Corporate
Person / PersonCollectionОдин отдельный участник-вкладчик, либо их совокупность
CorporateОрганизация, действующая в качестве участника-вкладчика

См. также:

 Русский