چگونه با کتابشناسی در .NET کار کنیم
این راهنما نشان میدهد چگونه دادههای منبع استنادی پشت ویژگی کتابنامه ورد را در Aspose.Words FOSS برای .NET، با استفاده از Source, Contributor, Person، و Corporate کلاسها در Aspose.Words.Bibliography فضای نام. این راهنما شامل ایجاد رکوردهای منبع، انتخاب نوع منبع صحیح، تعیین مشارکتکنندگان فردی و شرکتی، و افزودن منابع است تا CITATION and BIBLIOGRAPHY فیلدها بتوانند آنها را حل کنند.
راهنمای گامبهگام
مرحله ۱: نصب بسته
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 اجرا میشود.
مرحله ۲: وارد کردن کلاسهای مورد نیاز
یک دستور using Aspose.Words; برای Document اضافه کنید، و یک دستور using Aspose.Words.Bibliography; برای Source، SourceType، Contributor، ContributorCollection، Person، PersonCollection و Corporate اضافه کنید.
مرحلهٔ ۳: دسترسی به دادههای کتابنامه سند
Document.Bibliography یک نمونهٔ Bibliography برمیگرداند. ویژگی Sources آن یک IList<Source> است که تمام رکوردهای منبع موجود در سند را نگه میدارد، و BibliographyStyle نام سبک استناد را ثبت میکند – برای مثال APA یا MLA – که باید هنگام بهروزرسانی فیلد BIBLIOGRAPHY اعمال شود.
مرحلهٔ ۴: ایجاد یک رکورد منبع
یک 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 یک Tag یکتا بدهید – این تنها مقداری است که فیلدهای استناد برای یافتن رکورد صحیح از آن استفاده میکنند.
مرحلهٔ ۵: پر کردن فیلدها برای نوع منبع انتخابی
فراتر از 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.
مرحلهٔ ۶: اختصاص مشارکتکنندگان فردی
Source.Contributors یک ContributorCollection برمیگرداند که یک خصوصیت برای هر نقش مشارکتکننده دارد – Author، Editor، Translator، Compiler، Composer، Conductor، Counsel، Director، Interviewee، Interviewer، Inventor، Performer، Producer، Writer، Artist و BookAuthor – که هرکدام به عنوان کلاس پایهٔ انتزاعی Contributor تایپ شدهاند. یک Person (ساختهشده از Last، First، Middle) را به خصوصیت نقش برای یک فرد نامگذاریشده اختصاص دهید.
مرحله ۷: اختصاص مشارکتکنندگان چندگانه یا شرکتی
زمانی که یک نقش بیش از یک مشارکتکننده فردی دارد، به جای یک Person واحد، یک PersonCollection اختصاص دهید — PersonCollection نیز از Contributor مشتق میشود و IEnumerable<Person> را پیادهسازی میکند، با Add()، Remove()، RemoveAt()، Clear()، Contains() و Count برای مدیریت اعضای آن. وقتی مشارکتکننده یک سازمان به جای یک شخص باشد، بهجای آن یک Corporate (ساختهشده از Name آن) به ویژگی نقش اختصاص دهید. Person، PersonCollection و Corporate همگی ویژگی نقش با نوع Contributor یکسان را برآورده میکنند، بنابراین هر کدام که به منبع میخورد را انتخاب کنید.
مرحله ۸: افزودن منبع تا فیلدهای ارجاع بتوانند آن را حل کنند
هر تکمیل شده را اضافه کنید. Source to Document.Bibliography.Sources قبل از بهروزرسانی هرکدام CITATION or BIBLIOGRAPHY فیلدی که به آن ارجاع میدهد – منبعی که ساخته شده اما هرگز اضافه نشده، هیچ مقداری برای حل شدن فیلد ارجاعی ندارد. Source رکوردها فقط دادهها را فراهم میکنند؛ آنها خود متن استناد یا کتابشناسی را رندر نمیکنند. رندرینگ از طریق FieldCitation and FieldBibliography، که در راهنمای پیوندها و مراجع.
مشکلات رایج و راهحلها
یک فیلد CITATION یا BIBLIOGRAPHY حل نمیشود این 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 با این مقدار دقیق مطابقت میکنند.