Как добавить сноску без нумерации в файл *.docx с помощью ReporteRs?
При использовании ReporteRs
В пакете кажется, что единственный способ вставить текст в нижний колонтитул страницы заключается в том, чтобы поместить в сноску номерную сноску в тексте текста, а сноска должна отображаться с таким же номером в нижнем колонтитуле. Я хотел бы иметь возможность поместить текст в нижний колонтитул страницы без нумерации впереди.
library(ReporteRs)
doc1 <- docx()
doc1 <- addFlexTable(doc1,vanilla.table(head(iris)))
Foot <- Footnote()
Foot <- addParagraph(Foot,"This should not have a number in front of it")
doc <- addParagraph(doc,pot("There should be no number after this",footnote=Foot))
writeDoc(doc1, file = "footnote1.docx")
В качестве альтернативы, если можно просто поместить абзац внизу страницы, это также решит мою проблему. Это можно сделать, выяснив, сколько еще строк поместится на странице, но если бы был какой-то способ сделать вертикальное выравнивание нижней частью страницы для последнего абзаца, это было бы идеально.
doc2 <- docx()
doc2 <- addFlexTable(doc2,vanilla.table(head(iris)))
doc2 <- addParagraph(doc2,c(rep("",33),"Text placed by dynamically finding bottom of the page"))
writeDoc(doc2, file = "footnote2.docx")
1 ответ
То, что вы пытаетесь сделать, не соответствует ReporteRs::Footnote
как было написано, как показано в справке:
Если в объекте docx сноска будет помечена номером, следующим сразу за той частью текста, на которую ссылается примечание.
Однако то, что вам нужно, достижимо, если я правильно понимаю ваш вопрос. Примечание в вашей таблице и текст в нижнем колонтитуле не будут связаны каким-либо образом, например, гиперссылка, предоставленная Footnote
,
Существует также проблема, которая ReporteRs
не предоставляет метод для размещения текста в нижнем колонтитуле без использования закладок (кроме Footnote
, который мы сейчас со скидкой). Это означает, что нам нужно использовать шаблон docx вместо пустого документа, сгенерированного пакетом.
Создание шаблона
шаги:
- Из MS Word я открыл пустой документ
- Поместить курсор в область нижнего колонтитула
- Вставить => Закладка
- Введите имя закладки, я только что использовал
FOOTER
и нажмите кнопку Добавить - Сохранить документ
Генерация документов с ReporteRs
С нашим новым шаблоном следующие шаги покажутся вам более знакомыми.
library(ReporteRs)
doc <- docx(template = "Doc1.docx")
# do the flextable, note that I add your table footer here
ftable <- vanilla.table(head(iris))
ftable <- addFooterRow(
ftable,
value = c("There should be no number after this"),
colspan = 5
)
doc <- addFlexTable(doc, ftable)
# check for the presence of our bookmark
list_bookmarks(doc)
# [1] "FOOTER"
# now add the footer text using the bookmark
doc <- addParagraph(
doc, stylename = "footer", bookmark = "FOOTER",
pot("This should not have a number in front of it")
)
# and finally write the document
writeDoc(doc, file = "doc.docx")
Конечный продукт
В таблице, которую вы можете лучше отформатировать, чтобы удовлетворить, я не удалил границу добавленной строки.
Нижний колонтитул, в стандартном стиле нижнего колонтитула, который снова можно изменить в соответствии с требованиями.