使用ggmap调用Google API生成地图,RMarkdown转PDF遇LaTeX Unicode错误求助
解决ggmap生成地图时RMarkdown转PDF的LaTeX错误
问题根源
报错核心是ggmap注册Google API时输出的终端富文本提示信息(带转义字符和特殊链接标记)被写入LaTeX文件,导致编译失败。第一个错误的U+001B是终端转义符,第二个错误的\]8;;...是终端富文本链接格式,LaTeX无法识别。
解决方案
1. 抑制ggmap的注册提示
在调用register_google()时添加quiet=TRUE参数,直接关闭提示输出:
library(ggmap) google_api = "AIzaSyBagqJeHTLlxDajY5t01iQE2CcI7LXwOzk" ggmap::register_google(key=google_api, quiet = TRUE) # 新增quiet参数 bbox = c(left=-125,bottom=24,right=-67,top=49) statesmap = ggmap(get_stamenmap(bbox,zoom=5,maptype="toner-lite")) statesmap + geom_point(data = d3, aes(x = lon, y = lat, size = cases), color="plum4",alpha = 0.3)
2. 过滤代码块的冗余输出
如果仍有意外输出,给R代码块添加message=FALSE和warning=FALSE选项,阻止非必要信息写入LaTeX:
```{r, message=FALSE, warning=FALSE} # 你的ggmap代码放在这里
### 3. 修正输出格式配置 不要同时指定多个PDF输出格式,选择其中一个并配置正确的LaTeX引擎,比如: ```yaml output: bookdown::pdf_document2: latex_engine: lualatex
或者
output: tufte::tufte_handout: latex_engine: xelatex
内容的提问来源于stack exchange,提问作者Jessica Xu
相关产品推荐
相关产品推荐

