You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Quarto文档的每个代码块前后自动执行R代码?

在Quarto中统一为所有代码块添加计时功能
  • 先在文档开头的代码块中提前加载tictoc包:

    library(tictoc)
    
  • 接着用Quarto基于knitr的代码块钩子功能,在文档开头添加以下配置代码,实现全局自动计时:

    knitr::knit_hooks$set(
      before = function(before, options, envir) {
        if (before) tic()
      },
      after = function(after, options, envir) {
        if (after) toc()
      }
    )
    
  • 原理说明:这段代码会给所有代码块绑定两个钩子——执行前自动触发tic()开启计时,执行后自动触发toc()输出耗时,无需逐个代码块手动添加函数。

  • 例外处理:如果某几个代码块不需要计时,可以单独在代码块的选项中关闭钩子,比如:

    #| before: false
    #| after: false
    cat("这个代码块不会被计时")
    

内容的提问来源于stack exchange,提问作者Rainer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 08:33:14