在 bookdown 项目中,代码块中设置 dev.args=list(family = "serif") 指定图形设备参数,在编译出来的 gitbook 网页文档中,缺失对图片的引用,但是图片是正确的生成了, PNG 和 PDF 图片都使用了指定的字体

```{r times,out.width = "45%",fig.width=27/7,fig.asp=1,dev.args=list(family = "serif")}
data(ais, package = 'DAAG')
plot(hg ~ rcc,
  data = ais,
  xlab = expression("Red cell count (" * 10^12 * italic(l)^{
    -1
  } * ")"),
  ylab = expression("Hemaglobin (" * g * dot(" ") * daL^{
    -1
  } * ")")
)
```

会有警告提示 The label(s) fig:times not found ,使用 bookdown 自带的 demo 项目即可重现此问题

附上运行环境

xfun::session_info('bookdown')

R version 3.5.2 (2018-12-20)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Mojave 10.14.3, RStudio 1.2.1256

Locale: en_US.UTF-8 / en_US.UTF-8 / en_US.UTF-8 / C / en_US.UTF-8 / en_US.UTF-8

Package version:
  base64enc_0.1.3 bookdown_0.9    digest_0.6.18   evaluate_0.12   glue_1.3.0      graphics_3.5.2  grDevices_3.5.2 highr_0.7      
  htmltools_0.3.6 jsonlite_1.6    knitr_1.21      magrittr_1.5    markdown_0.9    methods_3.5.2   mime_0.6        Rcpp_1.0.0     
  rmarkdown_1.11  stats_3.5.2     stringi_1.2.4   stringr_1.4.0   tinytex_0.10    tools_3.5.2     utils_3.5.2     xfun_0.4       
  yaml_2.2.0     

另外,我在 Windows 上也可以重现这个问题

    Cloud2016 我没空研究这个问题,欢迎自行查找出原因之后去 Github 发合并请求。

      Cloud2016 我这里显示跟 dev.args=list(family = "serif")没关系。只是因为缺少了 fig.cap

      ```{r times, fig.cap='caption', dev.args=list(family = "serif") , echo=FALSE}
      plot(cars)
      ```
      
      Fig. \@ref(fig:times).

      如果去掉 fig.cap,就会显示 The label(s) fig:times not found.

        我都没仔细看,原来连图片标题都没有。

        这下我得说一下排错的第一法则了:如果怀疑某部分代码导致了某个问题,首先把那部分删掉看问题能否重现。在这个例子里,有没有 dev.args 应该都能重现问题,所以问题不是出在这个选项上。

        这个法则的推论就是:排错最重要的能力就是删删删,把一个有问题的例子删到最简的状态。楼主的例子离最简状态还有那么一两公里,起码 DAAG 包是不必要的,我当时就是因为看见要新装一个包,才失去了重现的初动力,再加上你指引的这个方向看起来很诡异(我想不出来 dev.args 怎么可能跟图片引用牵连上),所以让你自己去排错。

          yihui
          唉鸭,突然发现中科大被这么夸奖了一番,因为是母校我就一衣带水强行认为也是夸我吧😝

            yihui dapengde 其实,我要是看仔细点也不会报这么个所谓的 「BUG」这应该是不好好看文档,折腾配置的反面例子

            yihui 每次分享链接,我都看了一遍,慢慢地,养成一个习惯,从随意翻翻,到现在一有空闲就去点一下,看有没有更新,这里歪个楼,话说要怎么才能搜索到谢大帖子的内容,比如说去掉 MacOS 截图立体阴影,我记得谢大分享过一篇博文专门讲这个事情,后来自己凭着模糊的记忆一篇篇回去翻才找到的,不知道有没有方便一点的办法。

            自问自答,我常常忘了自己现在可以方便上网了,这里安利一下这样放狗搜就可以了

            yihui 去掉 MacOS 截图立体阴影

              tctcab 嗯嗯,这个办法比我的好,刚一不小心点成了 Gitlab 原来谢大2015年就占好位置了

              https://gitlab.com/yihui

              后悔自己没有早点占好坑,现在 xiangyunxiangyunhuang 这两个 ID 都没有了,我只好把 cosx 占了,已经严重歪楼😄

                Cloud2016 我一般先在博客首页 Ctrl + F 搜标题,要是想不起来标题的关键词就在本地的 GIT 库里用 RStudio 查找 Ctrl + Shift + F。你要是订阅 RSS 就不用隔三差五去看有没有更新了,我平均大概一个月更新一次,偶尔半年更新一次

                Cloud2016 然而那并不是我,我 2013 年就去占坑了,但当时 yihui 好像已经被人占了,我只好占了个 https://gitlab.com/xie 我也不知道为什么这个 yihui 的 ID 2015 年才注册。不过无所谓了,反正我也不怎么用 Gitlab。我占坑的最大夙愿就是把 yihui.org 占到手,已经等候多年了,那哥们儿注册了这个域名又不用,也不说要卖。

                tctcab 就算你不是中科大的,我也一样夸(一连夸二连夸三连夸四连夸)。

                10 天 后
                Cloud2016 更改标题为「[已解决]设置 dev.args 参数导致图片失去引用
                8 个月 后