如何在R Markdown中实现图片文字环绕排版美化
R Markdown 渲染为HTML文档时,直接通过CSS浮动属性就能实现文字环绕效果,不需要安装额外依赖,调整内联样式还能同步优化排版美观度,以下是可用的完整实现代码和调整说明。
完整可运行示例代码
--- title: "测试文档" author: "me" date: "`r Sys.Date()`" output: html_document --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE, fig.align = 'center')
R Markdown 正文测试
这是一份R Markdown测试文档。Markdown是一套用于编写HTML、PDF、Word文档的轻量标记语法。
点击Knit按钮即可生成包含正文、代码块运行结果的完整文档。
注意:设置echo = FALSE参数可以隐藏生成图表的R代码,只显示最终输出结果。
这是一份R Markdown测试文档。Markdown是一套用于编写HTML、PDF、Word文档的轻量标记语法。
点击Knit按钮即可生成包含正文、代码块运行结果的完整文档。
注意:设置echo = FALSE参数可以隐藏生成图表的R代码,只显示最终输出结果。
这是一份R Markdown测试文档。Markdown是一套用于编写HTML、PDF、Word文档的轻量标记语法。
点击Knit按钮即可生成包含正文、代码块运行结果的完整文档。
注意:设置echo = FALSE参数可以隐藏生成图表的R代码,只显示最终输出结果。
这是一份R Markdown测试文档。Markdown是一套用于编写HTML、PDF、Word文档的轻量标记语法。
点击Knit按钮即可生成包含正文、代码块运行结果的完整文档。
注意:设置echo = FALSE参数可以隐藏生成图表的R代码,只显示最终输出结果。
```## 自定义调整说明 - 环绕方向切换:外层容器的`float: right`代表图片居右、文字在左侧环绕;改为`float: left`即可实现图片居左、文字在右侧环绕,对应调整边距为`margin: 0 20px 15px 0`即可保证留白合理 - 尺寸适配:外层容器设置百分比宽度可自适应不同屏幕尺寸,图片设置`width: 100%`会自动匹配容器宽度,不会出现图片溢出、拉伸变形的问题,可根据需求调整宽度占比(一般30%-40%阅读体验最佳) - 美观度优化:默认给图片容器加了圆角、淡阴影,图片和正文之间留了足够边距,不会出现文字紧贴图片边缘的问题;需要加图注直接放开注释代码即可,图注自带浅灰背景、小字号居中样式,和图片风格统一 - 环绕范围控制:如果不需要后续内容继续环绕图片,在对应位置插入`<div style="clear: both;"></div>`即可清除浮动,后续内容恢复通栏排版 - 兼容代码生成图:如果是R代码块直接生成的统计图表,不需要手动写img标签,直接把代码块放到浮动div内部即可实现环绕效果,示例如下: ```html <div style="float: right; width: 40%; margin: 0 0 15px 20px;"> ```{r 压力数据图, echo=FALSE} plot(pressure)
注意:该方案仅适用于输出格式为
html_document的场景。如果需要导出Word/PDF格式,CSS浮动属性不生效,需要借助officer、kableExtra等包针对对应输出格式做单独适配。
内容的提问来源于stack exchange,提问作者symkly


