Comments (5)
@yihui 明白了,我准备引入 magick 包将自动生成的 PDF 图片转 PNG 图片
# convert pdf to png
to_png <- function(fig_path) {
png_path <- sub("\\.pdf$", ".png", fig_path)
magick::image_write(magick::image_read_pdf(fig_path), format = "png", path = png_path)
return(png_path)
}
生成这类图形的代码块选项添加 dev='tikz',fig.process=to_png
,如果再遇到中文,我就写一个自定义的 tikz 的模板,而不是调默认的模板
from msg.
原稿中我基本全是用 dev = 'tikz'
生成的 PDF 图形。如果要考虑非 PDF 输出的话,这问题会有点复杂。需要先生成 PDF 再转 PNG。其实在 R Markdown 中用 dev = 'tikz'
就已经够复杂了,里面涉及到一些 tikzDevice 包的选项配置,尤其是图中包含中文时。这些配置可能世界上只有一两个人明白……
如果不是为了图形中的字体漂亮的话,也可以放弃 tikz 图形设备,改用基础图形系统中丑陋的 plotmath 办法,也就是用 expression()
写数学公式。
from msg.
目前的 pdf 书稿里,有一部分图不是 tikz。我想尽可能全部用 tikz,但是中文支持有问题:为了使用 tikz,我设置 fig.showtext = FALSE
,导致图中的中文全显示为空心小方块;如果设置 fig.showtext = TRUE
,中文是正常显示了,但 tikz 就失效。这是不是需要 @XiangyunHuang 说的“自定义的 tikz 模板”来解决?
from msg.
@pzhaonet 是的。要自定义,可以参考这一节 https://masr.netlify.app/chap-data-visualization.html#subsec:tikz-device
from msg.
@XiangyunHuang 好的,我试试看成不成。涉及中文的图倒是不太多,不成就忽略了。
from msg.
Related Issues (20)
- 部分包有被提及但是没有使用 HOT 3
- 14 年后取消限制条款的出处? HOT 1
- 表 6.1 的显示有点乱 HOT 2
- ! Package caption Error: \caption outside float. HOT 1
- 转向 GithHub Action 测试
- 直播活动收集来的问题及谢大的回复 HOT 1
- Why not Noto? HOT 2
- 【数据】卫星图像的效果出不来 HOT 3
- 收集关于 MSG 的评论介绍
- 图书二维码
- 【封面】 MSG 书籍封面 HOT 4
- 此处编译 pdf 似乎已经无法通过,会生成一个 animategraphics HOT 1
- pandoc 和 rmarkdown 还支持 ascii_identifiers 吗? HOT 3
- 【第一版出版事宜】 HOT 14
- Travis-CI 报错集中处理 HOT 8
- 致谢 HOT 10
- LaTeX 输出的 pdf 代码格式里引号和中文字符之间的空格问题 HOT 4
- 1986 挑战者号失事的 O 型环故障与温度的关系图 HOT 6
- 部分目录链接错误
- 5.5.4 地图,建议更改显示地区
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from msg.