insert_reference_mark property
FieldNoteRef.insert_reference_mark property
Inserts the reference mark with the same character formatting as the Footnote Reference or Endnote Reference style.
@property
def insert_reference_mark(self) -> bool:
...
@insert_reference_mark.setter
def insert_reference_mark(self, value: bool):
...
Examples
Shows to insert NOTEREF fields, and modify their appearance.
doc = aw.Document()
builder = aw.DocumentBuilder(doc=doc)
# Create a bookmark with a footnote that the NOTEREF field will reference.
ExField._insert_bookmark_with_footnote(builder, 'MyBookmark1', 'Contents of MyBookmark1', 'Footnote from MyBookmark1')
# This NOTEREF field will display the number of the footnote inside the referenced bookmark.
# Setting the InsertHyperlink property lets us jump to the bookmark by Ctrl + clicking the field in Microsoft Word.
self.assertEqual(' NOTEREF MyBookmark2 \\h', ExField._insert_field_note_ref(builder, 'MyBookmark2', True, False, False, 'Hyperlink to Bookmark2, with footnote number ').get_field_code())
# When using the \p flag, after the footnote number, the field also displays the bookmark's position relative to the field.
# Bookmark1 is above this field and contains footnote number 1, so the result will be "1 above" on update.
self.assertEqual(' NOTEREF MyBookmark1 \\h \\p', ExField._insert_field_note_ref(builder, 'MyBookmark1', True, True, False, 'Bookmark1, with footnote number ').get_field_code())
# Bookmark2 is below this field and contains footnote number 2, so the field will display "2 below".
# The \f flag makes the number 2 appear in the same format as the footnote number label in the actual text.
self.assertEqual(' NOTEREF MyBookmark2 \\h \\p \\f', ExField._insert_field_note_ref(builder, 'MyBookmark2', True, True, True, 'Bookmark2, with footnote number ').get_field_code())
builder.insert_break(aw.BreakType.PAGE_BREAK)
ExField._insert_bookmark_with_footnote(builder, 'MyBookmark2', 'Contents of MyBookmark2', 'Footnote from MyBookmark2')
doc.update_page_layout()
doc.update_fields()
doc.save(file_name=ARTIFACTS_DIR + 'Field.NOTEREF.docx')
Shows to insert NOTEREF fields, and modify their appearance (InsertFieldNoteRef).
@staticmethod
def _insert_field_note_ref(builder, bookmark_name, insert_hyperlink, insert_relative_position, insert_reference_mark, text_before):
builder.write(text_before)
field = builder.insert_field(field_type=aw.fields.FieldType.FIELD_NOTE_REF, update_field=True).as_field_note_ref()
field.bookmark_name = bookmark_name
field.insert_hyperlink = insert_hyperlink
field.insert_relative_position = insert_relative_position
field.insert_reference_mark = insert_reference_mark
builder.writeln()
return field
@staticmethod
def _insert_bookmark_with_footnote(builder, bookmark_name, bookmark_text, footnote_text):
builder.start_bookmark(bookmark_name)
builder.write(bookmark_text)
builder.insert_footnote(footnote_type=aw.notes.FootnoteType.FOOTNOTE, footnote_text=footnote_text)
builder.end_bookmark(bookmark_name)
builder.writeln()
See Also
- module aspose.words.fields
- class FieldNoteRef