Як працювати з бібліографією у .NET

Як працювати з бібліографією у .NET

У цьому посібнику показано, як створити дані джерела цитування, що стоять за функцією бібліографії Word у Aspose.Words FOSS для .NET, використовуючи Source, Contributor, Person, і Corporate класи у Aspose.Words.Bibliography простір імен. У цьому розділі розглядаються створення записів джерел, вибір правильного типу джерела, призначення індивідуальних та корпоративних учасників, а також додавання джерел, щоб CITATION and BIBLIOGRAPHY поля могли їх розпізнавати.

Посібник крок за кроком

Крок 1: Встановити пакет

Aspose.Words FOSS for .NET ще не публікує пакет NuGet — замість цього зберіть бібліотеку з вихідного коду. Клонувати https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git, потім зібрати Aspose.Words.sln у конфігурації Release за допомогою SDK .NET і посилатися на отриману збірку Aspose.Words у вашому проєкті. Бібліотека орієнтована на .NET Standard 2.0, тому вона працює на .NET Framework 4.6.2+ та .NET 6/8/10.


Крок 2: Імпорт необхідних класів

Додайте директиву using Aspose.Words; для Document та директиву using Aspose.Words.Bibliography; для Source, SourceType, Contributor, ContributorCollection, Person, PersonCollection і Corporate.


Крок 3: Доступ до бібліографічних даних документа

Document.Bibliography повертає екземпляр Bibliography. Його Sources — це IList<Source>, що містить усі записи джерел, доступні документу, а BibliographyStyle зберігає назву стилю цитування – наприклад APA або MLA – який слід застосовувати, коли оновлюється поле BIBLIOGRAPHY.


Крок 4: Створити запис джерела

Створіть 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. Присвойте кожному Source унікальний Tag – це єдине значення, яке поля цитувань використовують для пошуку потрібного запису.


Крок 5: Заповнити поля для обраного типу джерела

Окрім 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. Поля загального призначення застосовуються до більшості типів джерел: Publisher, City, StateOrProvince, CountryOrRegion, Year, Month, Day, Comments, Guid, Doi, Version, RefOrder і Lcid.


Крок 6: Призначити окремих учасників

Source.Contributors повертає ContributorCollection з однією властивістю для кожної ролі учасника – Author, Editor, Translator, Compiler, Composer, Conductor, Counsel, Director, Interviewee, Interviewer, Inventor, Performer, Producer, Writer, Artist і BookAuthor – кожна типізована як абстрактний базовий клас Contributor. Призначте Person (сконструований з Last, First, Middle) до властивості ролі для окремої іменованої особи.


Крок 7: Призначити кілька або корпоративних учасників

Коли роль має більше одного окремого учасника, призначте PersonCollection замість одиничного Person – PersonCollection також походить від Contributor і реалізує IEnumerable<Person>, з Add(), Remove(), RemoveAt(), Clear(), Contains() та Count для керування його членами. Коли учасник є організацією, а не фізичною особою, призначте Corporate (складений з його Name) до властивості ролі замість цього. Person, PersonCollection і Corporate всі задовольняють одну й ту ж Contributor-типізовану властивість ролі, тому оберіть той, який відповідає джерелу.


Крок 8: Додати джерело, щоб поля цитування могли його розв’язати

Додайте кожен завершений Source to Document.Bibliography.Sources перед оновленням будь-якого CITATION or BIBLIOGRAPHY поле, що посилається на нього – джерело, яке було створено, але ніколи не додано, не має нічого, до чого могло б посилатися поле. Source recordи лише постачають дані; вони самі не генерують текст цитування чи бібліографії. Рендеринг виконується через FieldCitation and FieldBibliography, охоплене в посібнику з посилань та джерел.

Поширені проблеми та виправлення

Поле CITATION або BIBLIOGRAPHY не розв’язується The Source.Tag не зовсім відповідає полю SourceTag. Підтвердіть, що теги збігаються, і що Source було фактично додано до Document.Bibliography.Sources.

Неправильний тип учасника призначено ролі A Person було присвоєно там, де існує кілька учасників, або навпаки. Використовуйте PersonCollection для декількох осіб в одній ролі, Person для однієї особи, і Corporate для організації.

Поля джерела виглядають несумісними з їх типом Поля для іншого SourceType були заповнені – наприклад, веб-поля, такі як Url and DayAccessed встановлені на Book джерело. Заповнюйте лише поля, що стосуються обраного SourceType.

Джерело з кількома авторами показує лише одне ім’я Один Person було призначено Author замість PersonCollection. Створіть PersonCollection, додайте кожен Person with Add(), і призначте колекцію властивості role.

BibliographyStyle не відповідає формату цитування, який я очікую Bibliography.BibliographyStyle записує назву стилю цитування, який слід застосувати – зберігайте послідовність з тим, як у документі FieldCitation поля очікують їх вихід у відформатованому вигляді.

Поширені запитання

Як додати джерело книги з одним автором?

Створіть 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. Дивіться посібник з посилань і посилань.

Що ідентифікує запис Source у полях, які його цитують?

Source.Tag, встановлений у конструкторі Source(tag, sourceType) – FieldCitation.SourceTag і FieldBibliography.SourceTag порівнюються з цим точним значенням.

Дивіться також

 Українська