Giter VIP home page Giter VIP logo

Comments (5)

XiangyunHuang avatar XiangyunHuang commented on August 30, 2024 2

@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.

yihui avatar yihui commented on August 30, 2024

原稿中我基本全是用 dev = 'tikz' 生成的 PDF 图形。如果要考虑非 PDF 输出的话,这问题会有点复杂。需要先生成 PDF 再转 PNG。其实在 R Markdown 中用 dev = 'tikz' 就已经够复杂了,里面涉及到一些 tikzDevice 包的选项配置,尤其是图中包含中文时。这些配置可能世界上只有一两个人明白……

如果不是为了图形中的字体漂亮的话,也可以放弃 tikz 图形设备,改用基础图形系统中丑陋的 plotmath 办法,也就是用 expression() 写数学公式。

from msg.

pzhaonet avatar pzhaonet commented on August 30, 2024

目前的 pdf 书稿里,有一部分图不是 tikz。我想尽可能全部用 tikz,但是中文支持有问题:为了使用 tikz,我设置 fig.showtext = FALSE,导致图中的中文全显示为空心小方块;如果设置 fig.showtext = TRUE,中文是正常显示了,但 tikz 就失效。这是不是需要 @XiangyunHuang 说的“自定义的 tikz 模板”来解决?

from msg.

XiangyunHuang avatar XiangyunHuang commented on August 30, 2024

@pzhaonet 是的。要自定义,可以参考这一节 https://masr.netlify.app/chap-data-visualization.html#subsec:tikz-device

from msg.

pzhaonet avatar pzhaonet commented on August 30, 2024

@XiangyunHuang 好的,我试试看成不成。涉及中文的图倒是不太多,不成就忽略了。

from msg.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.