Jak pracować z bibliografią w .NET
Ten przewodnik pokazuje, jak zbudować dane źródeł cytowań stojące za funkcją bibliografii w programie Word Aspose.Words FOSS dla .NET, używając Source, Contributor, Person, oraz Corporate klasy w Aspose.Words.Bibliography przestrzeni nazw. Obejmuje tworzenie rekordów źródeł, wybór odpowiedniego typu źródła, przypisywanie indywidualnych i korporacyjnych współtwórców oraz dodawanie źródeł, aby CITATION and BIBLIOGRAPHY pola mogły je rozwiązać.
Przewodnik krok po kroku
Krok 1: Zainstaluj pakiet
Aspose.Words FOSS for .NET nie publikuje jeszcze pakietu NuGet – zamiast tego zbuduj bibliotekę ze źródeł. Sklonuj https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git, a następnie zbuduj Aspose.Words.sln w konfiguracji Release przy użyciu SDK .NET i odwołaj się do powstałego zestawu Aspose.Words w swoim projekcie. Biblioteka celuje w .NET Standard 2.0, więc działa na .NET Framework 4.6.2+ i .NET 6/8/10.
Krok 2: Zaimportuj wymagane klasy
Dodaj dyrektywę using Aspose.Words; dla Document oraz dyrektywę using Aspose.Words.Bibliography; dla Source, SourceType, Contributor, ContributorCollection, Person, PersonCollection i Corporate.
Krok 3: Uzyskaj dane bibliograficzne dokumentu
Document.Bibliography zwraca instancję Bibliography. Jej właściwość Sources jest IList<Source>, która przechowuje każdy rekord źródła dostępny w dokumencie, a BibliographyStyle zapisuje nazwę stylu cytowania — na przykład APA lub MLA — który powinien być zastosowany, gdy pole BIBLIOGRAPHY zostanie zaktualizowane.
Krok 4: Utwórz rekord źródła
Utwórz Source przy użyciu Source(tag, sourceType): Tag jest krótkim identyfikatorem, z którym FieldCitation.SourceTag i FieldBibliography.SourceTag będą się później porównywać, a SourceType jest wartością wyliczeniową określającą rodzaj źródła — Book, BookSection, JournalArticle, ArticleInAPeriodical, ConferenceProceedings, Report, Patent, Case, InternetSite, DocumentFromInternetSite, Interview, Film, SoundRecording, Performance, Art, Electronic lub Misc. Przypisz każdemu Source unikalny Tag — jest to jedyna wartość, której pola cytowania używają, aby znaleźć właściwy rekord.
Krok 5: Wypełnij pola dla wybranego typu źródła
Poza Title i ShortTitle, Source udostępnia dziesiątki pól specyficznych dla kategorii — wypełnij tylko te, które są istotne dla wybranego SourceType. Źródła książkowe używają BookTitle, Edition, NumberVolumes, Volume, Pages i ChapterNumber. Źródła periodyczne używają JournalName, PeriodicalTitle, PublicationTitle i Issue. Źródła internetowe używają InternetSiteTitle, Url, DayAccessed, MonthAccessed i YearAccessed. Źródła prawne używają CaseNumber, AbbreviatedCaseNumber, Court i Reporter. Źródła nagrań i transmisji używają AlbumTitle, Broadcaster, BroadcastTitle, RecordingNumber, Medium, ProductionCompany, Distributor, Station i Theater. Pola ogólnego przeznaczenia mają zastosowanie w większości typów źródeł: Publisher, City, StateOrProvince, CountryOrRegion, Year, Month, Day, Comments, Guid, Doi, Version, RefOrder i Lcid.
Krok 6: Przypisz indywidualnych współtwórców
Source.Contributors zwraca ContributorCollection z jedną właściwością dla każdej roli współtwórcy – Author, Editor, Translator, Compiler, Composer, Conductor, Counsel, Director, Interviewee, Interviewer, Inventor, Performer, Producer, Writer, Artist i BookAuthor – każda typowana jako abstrakcyjna klasa bazowa Contributor. Przypisz Person (zbudowany z Last, First, Middle) do właściwości roli dla jednej nazwanej osoby.
Krok 7: Przypisz wielu lub korporacyjnych współtwórców
Gdy rola ma więcej niż jednego indywidualnego współtwórcę, przypisz PersonCollection zamiast pojedynczego Person — PersonCollection również pochodzi od Contributor i implementuje IEnumerable<Person>, z Add(), Remove(), RemoveAt(), Clear(), Contains() i Count do zarządzania jej członkami. Gdy współtwórcą jest organizacja, a nie osoba, przypisz Corporate (zbudowany z jej Name) do własności roli zamiast tego. Person, PersonCollection i Corporate spełniają tę samą własność roli typu Contributor, więc wybierz tę, która pasuje do źródła.
Krok 8: Dodaj źródło, aby pola cytowań mogły je rozwiązać
Dodaj każdy ukończony Source to Document.Bibliography.Sources przed aktualizacją jakiejkolwiek CITATION or BIBLIOGRAPHY pole, które się do niego odwołuje — źródło, które zostało utworzone, ale nigdy nie dodane, nie ma nic, do czego odwołujące się pole mogłoby się odnieść. Source rekordy jedynie dostarczają danych; nie renderują same tekstu cytowania ani bibliografii. Renderowanie odbywa się poprzez FieldCitation and FieldBibliography, opisane w przewodniku po linkach i odniesieniach.
Typowe problemy i rozwiązania
Pole CITATION lub BIBLIOGRAPHY nie rozwiązuje się Ten Source.Tag nie pasuje dokładnie do pola SourceTag. Potwierdź, że znaczniki się zgadzają i że Source zostało faktycznie dodane do Document.Bibliography.Sources.
Nieprawidłowy typ współtwórcy przypisany do roli A Person zostało przypisane, gdy istnieje wielu współtwórców, lub odwrotnie. Użyj PersonCollection dla wielu osób w jednej roli, Person dla jednej osoby, oraz Corporate dla organizacji.
Pola źródła wydają się niezgodne z jego typem Pola dla innego SourceType zostały wypełnione — na przykład pola internetowe takie jak Url and DayAccessed ustawione na Book źródło. Wypełnij tylko pola istotne dla wybranego SourceType.
Źródło z wieloma autorami wyświetla tylko jedno nazwisko Jedno Person zostało przypisane do Author zamiast a PersonCollection. Utwórz PersonCollection, dodaj każdy Person with Add(), i przypisz kolekcję do właściwości role.
BibliographyStyle nie pasuje do formatu cytowania, którego oczekuję Bibliography.BibliographyStyle rejestruje, którą nazwę stylu cytowania zastosować – utrzymaj to spójne z tym, jak dokument FieldCitation pola oczekują sformatowanego wyjścia.
Najczęściej zadawane pytania
Jak dodać źródło książki z jednym autorem?
Utwórz Source z SourceType.Book, ustaw BookTitle, Publisher, Year oraz powiązane pola, a następnie przypisz Person do Source.Contributors.Author.
Jak dodać źródło z wieloma autorami?
Przypisz PersonCollection — wypełniony instancjami Person za pomocą Add() — do odpowiedniej właściwości roli ContributorCollection, np. Author.
Jak cytować organizację zamiast osoby?
Przypisz instancję Corporate, skonstruowaną przy użyciu Name organizacji, do właściwości roli ContributorCollection zamiast Person lub PersonCollection.
Gdzie rekordy Source faktycznie pojawiają się w renderowanym dokumencie?
Nie renderują się samodzielnie – FieldCitation and FieldBibliography pola renderują treść zbudowaną na ich podstawie, dopasowaną przez SourceTag. Zobacz przewodnik po odnośnikach i referencjach.
Co identyfikuje rekord Source w polach, które go cytują?
Source.Tag, ustawiony w konstruktorze Source(tag, sourceType) – FieldCitation.SourceTag i FieldBibliography.SourceTag dopasowują się do tej dokładnej wartości.