脚注と文末脚注
脚注と文末脚注
Aspose.Words FOSS for .NET は、Footnote ノードクラスを 1 つだけ使用し、その FootnoteType プロパティで脚注と文末脚注を区別し、Aspose.Words.Notes 名前空間にある個別の番号オプションと区切りクラスと共に表現します。
脚注と文末脚注の内容を読む
Footnote は複合ストーリーノードであり、Body やテーブルセルのように、Paragraphs と Tables を含みます――脚注または文末脚注のテキストを保持します。その FootnoteType プロパティ(FootnoteType 列挙値、Footnote または Endnote)により、どの種類かが区別されます。ReferenceMark は設定された参照マーク文字を返し、ActualReferenceMark は実際にレンダリングされるマーク(自動番号付けを考慮)を返し、IsAuto はそのマークが自動番号付けかどうかを報告します。ParentParagraph は脚注または文末脚注の参照が出現するメインドキュメント本体の段落を特定します。GetText() は脚注のプレーンテキストコンテンツを抽出し、他のストーリーレベルノードで利用可能なメソッドと同様に動作します。
番号付けと位置の設定
番号付けと配置の動作は、脚注と文末脚注それぞれに対して FootnoteOptions と EndnoteOptions により個別に制御され、両方とも共通の IFootnoteOptions インターフェースを実装しています。FootnoteOptions.Position(FootnotePosition 値 ― BottomOfPage または BeneathText)と EndnoteOptions.Position(EndnotePosition 値 ― EndOfSection または EndOfDocument)は、各タイプの配置場所を決定します。両者は NumberStyle、StartNumber、および RestartRule(FootnoteNumberingRule 値 ― Continuous、RestartSection、RestartPage、または Default)を公開し、番号付けシーケンスを制御します。FootnoteOptions はさらに Columns を公開し、ページ下部に複数列で脚注を配置できるようにします。
脚注と文末脚注の区切り
FootnoteSeparator は、Word が本文と脚注/文末脚注の間に挿入するコンテンツを保持するストーリーノードです — デフォルトでは短い横線ですが、任意の段落コンテンツを含めることができます。その SeparatorType プロパティ(FootnoteSeparatorType 値)は、Word が定義する 6 つの区切りロールを区別します: FootnoteSeparator、FootnoteContinuationSeparator、FootnoteContinuationNotice、および文末脚注の同等物です。FootnoteSeparatorCollection は、GetByFootnoteSeparatorType(FootnoteSeparatorType) を介してドキュメント内のすべての区切りノードへの型付けされたアクセスを提供します。
ヒントとベストプラクティス
Footnote.FootnoteTypeを確認してから、Footnoteノードが脚注であると想定しないでください — 同じクラスが脚注と文末脚注の両方を表します。- 自動番号付けされたマークは設定されたマーク文字と異なるため、実際に表示されるマークが必要な場合は
ReferenceMarkではなくActualReferenceMarkを使用してください。 - 脚注/文末脚注のコンテンツを追加する前に
FootnoteOptionsとEndnoteOptionsを設定し、番号付けルールが最初のノートから一貫して適用されるようにします。 FootnoteSeparatorコンテンツはほとんどカスタマイズされません — 多くの文書は Word のデフォルト区切りに依存しています — しかし、文書がカスタムの継続通知を必要とする場合は完全にアクセス可能です。
一般的な問題
| 問題 | 原因 | 修正 |
|---|---|---|
| 脚注と文末脚注が処理ロジックで混同されている | 両方とも同じ Footnote クラスを使用している | Footnote.FootnoteType で分岐 |
| 参照マークのテキストがレンダリング結果と一致しない | ReferenceMark を ActualReferenceMark の代わりに使用した | レンダリングされたマークについては ActualReferenceMark を参照してください |
| ページまたはセクションごとに番号付けが予期せず再開します | RestartRule が RestartPage または RestartSection に設定されています | 文書全体の番号付けのために RestartRule を Continuous に設定します |
| ページ下部の脚注列は無視されます | FootnoteOptions.Columns が設定されていません | FootnoteOptions に Columns を明示的に設定します |
FAQ
コードで脚注と文末脚注を区別するにはどうすればよいですか?
FootnoteType プロパティを Footnote オブジェクトで確認してください — それは FootnoteType.Footnote または FootnoteType.Endnote を返します。
脚注と文末脚注は異なる番号付け規則を持つことができますか?
はい — FootnoteOptions と EndnoteOptions は独立して設定され、それぞれが独自の Position、NumberStyle、StartNumber、および RestartRule を持ちます。
FootnoteSeparator は何のために使用されますか?
これは、Word が本文と脚注または文末脚注を視覚的に区切るために挿入するコンテンツと、脚注が次のページに続く場合に表示される通知を表します。
Footnote はノート内でテーブルをサポートしますか?
はい — Footnote は、メイン本文と同様の複合ストーリーノードであるため、Paragraphs と同時に Tables プロパティを公開します。
API Reference 概要
| クラス / メソッド | 説明 |
|---|---|
Footnote | 1つの脚注または文末脚注の内容のためのコンテナノード |
FootnoteType | 列挙型: Footnote, Endnote |
FootnoteOptions | 文書/セクションの脚注の番号付けと位置設定 |
EndnoteOptions | 文書/セクションの文末脚注の番号付けと位置設定 |
FootnotePosition / EndnotePosition | 配置用列挙型(BottomOfPage/BeneathText, EndOfSection/EndOfDocument) |
FootnoteNumberingRule | 番号付けが再開されるタイミングを制御する列挙型 |
FootnoteSeparator | 脚注/文末脚注の区切りコンテンツ用ストーリーノード |
FootnoteSeparatorCollection | すべてのFootnoteSeparatorノードへの型付きアクセス |
FootnoteSeparatorType | ノードが表す 6 つのセパレータ ロールのうちどれかを識別する Enum |