Робота з бібліографією
Робота з бібліографією
Функція цитування та бібліографії в Word зберігає свої вихідні дані окремо від полів, які їх відображають. Aspose.Words FOSS для .NET моделі, які отримують дані через Aspose.Words.Bibliography простір імен – Source, Contributor, Person, і Corporate – доступний з Document.Bibliography. Ця сторінка охоплює створення та читання цих даних; CITATION and BIBLIOGRAPHY поля, які їх відображають, розглядаються у Посібник з посилань і бібліографії.
Модель даних бібліографії
Document.Bibliography — це Bibliography екземпляр з BibliographyStyle — назвою стилю цитування (наприклад APA або MLA), яку слід застосовувати під час оновлення поля BIBLIOGRAPHY — та Sources, IList<Source>, що містить усі записи джерел, доступні документу.
Записи джерел
Source створюється за допомогою Source(tag, sourceType), де Tag — це короткий ідентифікатор, з яким порівнюються FieldCitation.SourceTag і FieldBibliography.SourceTag, а SourceType — це enum, що визначає тип джерела — значення включають 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 | Організація, що діє як учасник |