knitr中是否无法同时使用fig.pos与out.width/out.height参数?
问题根因
你在_output.yml中指定了自定义的template.tex模板,此时extra_dependencies: ["float"]配置不会自动注入到LaTeX导言区,该参数仅在使用bookdown默认LaTeX模板时生效。
- 单独使用
fig.pos = "!H"时未触发LaTeX对浮动选项的强制校验,因此可以正常运行 - 同时添加
out.height参数时,knitr会生成带[!H]选项的显式figure浮动环境,LaTeX会正式检查float包是否加载,未检测到就会抛出Unknown float option 'H'报错
解决方案
最简单的通用解决方式是直接在你的_assets/preamble.tex文件开头添加一行代码:
\usepackage{float}
修改后重新knit即可正常生成PDF,无需调整其他配置。
如果不想修改preamble文件,也可以在需要设置固定位置的代码块头部额外添加参数fig.env = "Hfigure"即可单次生效。
内容的提问来源于stack exchange,提问作者FrsLry
相关产品推荐
相关产品推荐

