3

.docx レポートに含めるために残りのテキストを変更せずに、セルの一部の書式を変更したい:
例: サブディビジョン 22-32 (バルト海) の Brill ( Scophthalmus rhombus )

私のデータは、関数を使用して変更しようとしている HTML タグで設定されていdisplay()ます。私の例は (やや明らかに) セル全体を変更します。ネストされたフォーマットを可能にするためにpattern引数を変更できると{{moustaches}}思いますが、うまくいきませんでした。

library(flextable)
library(officer)
library(dplyr)

data <- structure(list(Description = c("Brill (<em>Scophthalmus rhombus</em>) in subdivisions 22-32 (Baltic Sea)", 
                                       "Cod (<em>Gadus morhua</em>) in subdivisions 22-24, western Baltic stock (western Baltic Sea)", 
                                       "Cod (<em>Gadus morhua</em>) in subdivisions 25-32, eastern Baltic stock (eastern Baltic Sea)", 
                                       "Dab (<em>Limanda limanda</em>) in subdivisions 22-32 (Baltic Sea)", 
                                       "Flounder (<em>Platichthys flesus</em>) in subdivisions 22 and 23 (Belt Seas and the Sound)", 
                                       "Flounder (<em>Platichthys flesus</em>) in subdivisions 24 and 25 (west of Bornholm and southwestern central Baltic)"),
                       SpeciesScientificName = c("Scophthalmus rhombus", "Gadus morhua", "Gadus morhua", "Limanda limanda", "Platichthys flesus", "Platichthys flesus")),
                  .Names = c("Description", "SpeciesScientificName"), 
                  row.names = c(NA, 6L), class = "data.frame")

data %>% 
  mutate(Description = gsub("<em>.*?</em>", "%s", Description)) %>%
  flextable() %>% 
  display(col_key = "Description", pattern = "{{sp_italics}}",
          formatters = list(sp_italics ~ sprintf(Description, SpeciesScientificName)),
          fprops = list(sp_italics = fp_text(italic = TRUE)))
4

2 に答える 2