Gostaria de gerar documentos do Word com "oficial" que contenham links para outros locais no mesmo documento, por exemplo, se houver uma figura que seja mencionada em outro lugar no texto. Aqui está um exemplo simples do que eu esperava:
library(officer)
library(dplyr)
doc <- read_docx() %>%
body_add_par('1. Introduction', style = 'heading 1') %>%
# hyperlink_ftext() %>% # I want to link this to Figure 1
body_add_par('Figure 1', style = 'heading 2')
print(doc, target = 'test.docx')
Existe algo que eu possa passar para o href
argumento hyperlink_ftext
para fazer isso? Se não, existe alguma outra maneira de fazer isso?
Observação: Parece que esta postagem abordava o mesmo assunto, mas nunca recebeu nenhuma resposta. Também não vi nenhum tópico relevante na página do pacote no GitHub. Há ph_slidelink
links internos no PowerPoint, mas todos os exemplos que encontrei para o Word eram de URLs.
Em geral,
hyperlink_ftext
seria a melhor opção. Mas, depois de analisar a documentação, o código-fonte e alguns experimentos, acho que, no momento, apenas links externos são suportados.No entanto, com algum conhecimento de OOXML e seus componentes internos,
officer
não é difícil implementar links internos. Abaixo, crio umabody_add_par_hyperlink
função que é basicamente um copiar e colar,body_add_par
mas com um argumento adicionalanchor=
para adicionar um link interno.Observação: além disso, precisamos adicionar um marcador como destino para o link interno.