.NET で文献リストを操作する方法

.NET で文献リストを操作する方法

このガイドでは、Word の参考文献機能の背後にある引用ソースデータを構築する方法を示します in Aspose.Words FOSS for .NET, 使用する Source, Contributor, Person, そして Corporate クラスは Aspose.Words.Bibliography 名前空間です。このガイドでは、ソースレコードの作成、適切なソースタイプの選択、個人および法人の貢献者の割り当て、そしてソースの追加について説明します so CITATION and BIBLIOGRAPHY フィールドがそれらを解決できるようにします。

ステップバイステップガイド

ステップ 1: パッケージをインストールする

Aspose.Words FOSS for .NET はまだ NuGet パッケージを公開していません – 代わりにソースからライブラリをビルドしてください。https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git をクローンし、.NET SDK を使用して Release 構成で Aspose.Words.sln をビルドし、生成された Aspose.Words アセンブリをプロジェクトから参照します。このライブラリは .NET Standard 2.0 をターゲットにしているため、.NET Framework 4.6.2+ および .NET 6/8/10 上で動作します。


ステップ 2: 必要なクラスをインポートする

Document 用の using Aspose.Words; ディレクティブを追加し、Source, SourceType, Contributor, ContributorCollection, Person, PersonCollection, Corporate 用の using Aspose.Words.Bibliography; ディレクティブを追加します。


ステップ 3: ドキュメントの参考文献データにアクセスする

Document.Bibliography は Bibliography インスタンスを返します。その Sources プロパティは、ドキュメントで利用可能なすべてのソースレコードを保持する IList<Source> であり、BibliographyStyle は引用スタイル名――例えば APA や MLA――を記録します。これは、BIBLIOGRAPHY フィールドが更新されたときに適用されるべきです。


ステップ 4: ソースレコードを作成する

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 に一意の 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 は、各貢献者ロールごとに 1 つのプロパティを持つ ContributorCollection を返します――Author、Editor、Translator、Compiler、Composer、Conductor、Counsel、Director、Interviewee、Interviewer、Inventor、Performer、Producer、Writer、Artist、および BookAuthor – それぞれが抽象 Contributor 基底クラスとして型付けされています。Last、First、Middle から構成された Person を、単一の名前付き個人のロールプロパティに割り当てます。


ステップ 7: 複数または法人の貢献者を割り当てる

役割に複数の個人貢献者がいる場合、単一の Person の代わりに PersonCollection を割り当てます – 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 レコードはデータを提供するだけで、引用や参考文献のテキストを自らレンダリングしません。レンダリングは次を通じて行われます FieldCitation and FieldBibliography, 以下でカバーされています リンクと参照ガイド.

一般的な問題と対策

CITATION または BIBLIOGRAPHY フィールドは解決されません その Source.Tag はフィールドのものと完全には一致しません SourceTag. タグが一致していること、そして Source が実際に追加された Document.Bibliography.Sources.

ロールに割り当てられた寄稿者タイプが間違っています A Person が複数の寄稿者が存在する場所に割り当てられた、またはその逆です。使用してください PersonCollection 1つのロールで複数の個人の場合、 Person 単一の個人の場合、そして Corporate 組織の場合。

ソースフィールドがそのタイプに対して一貫性がないように見えます 別のもののフィールド SourceType が入力されていました――例えば、Web フィールドとしては Url and DayAccessed に設定された Book ソースです。選択したものに関連するフィールドだけを入力してください SourceType.

複数の著者がいるソースは、1つの名前しか表示されません 単一の Person が割り当てられました Author a の代わりに PersonCollection。作成します PersonCollection、各を追加 Person with Add()、コレクションを role プロパティに割り当てます。

BibliographyStyle は期待する引用形式と一致しません Bibliography.BibliographyStyle 適用する引用スタイル名を記録します――文書の… と一貫性を保つように FieldCitation フィールドは出力がフォーマットされることを期待します。

よくある質問

単一の著者の書籍ソースを追加するにはどうすればよいですか?

Source を SourceType.Book と共に作成し、BookTitle、Publisher、Year および関連フィールドを設定し、最後に Person を Source.Contributors.Author に割り当てます。

複数の著者がいるソースを追加するにはどうすればよいですか?

PersonCollection を割り当てます――Add() を介して Person インスタンスで入力されたもの――関連する ContributorCollection の role プロパティに、例えば Author のように。

個人ではなく組織を引用するにはどうすればよいですか?

組織の Name で構築された Corporate インスタンスを、Person または PersonCollection の代わりに ContributorCollection ロールプロパティに割り当てます。

Source レコードは、レンダリングされたドキュメントのどこに実際に表示されますか?

それらは単体ではレンダリングされません―― FieldCitation and FieldBibliography フィールドはそれらから作成されたコンテンツをレンダリングし、~にマッチします SourceTag. 参照してください リンクと参照ガイド.

Source レコードを引用するフィールドに対して、何がそのレコードを識別しますか?

Source.Tag は、Source(tag, sourceType) コンストラクタで設定されます — FieldCitation.SourceTag と FieldBibliography.SourceTag はこの正確な値と一致します。

参照

 日本語