Quarto是一个全新的开源科技出版系统,号称是“RStudio 的下一代 R Markdown 版本”。我是一个狂热的 RMarkdown 用户,但我还没有完全理解使用 Quarto 相对于 RMarkdown 的优势是什么。两者看起来非常相似。
RMarkdown 和 Quarto 之间是否有需要注意的重要区别?
四开本
我正在创建一个网站,Quarto并希望有一个两列布局,这样我就可以很好地并排显示文本。streamlit您可以使用它columns来获得两列布局。以下是如何布局的示例代码:
---
title: "Two columns layout Quarto"
format: 
  html:
    code-fold: true
engine: knitr
---
I would like to have text here                                               and here
Sentence becomes longer, it should automatically stay in their column        More text
输出:
正如您所看到的,文本被组合成一个句子,而我希望将其分开,就像两列布局一样。所以我想知道这是否可能Quarto?
流线型
这是一个例子streamlit:
# Package
import streamlit as st
# Function with columns
def txt(a, b):
    col1, col2 = st.columns([7,2])
    with col1:
        st.markdown(a)
    with col2: 
        st.markdown(b)
# Example
st.write('# Example in Streamlit')
txt('I …我在 R 中有一个 bookdown 项目,想切换到 Quarto。在 bookdown 项目中,我有一个 R 脚本_common.R(它包括库以及各种设置和辅助函数)在渲染每一章(单独的 qmd 文件)之前运行。
如何在 Quarto 中实现这样的脚本文件?
我尝试在 _quarto.yml 中设置:
project:
  type: book
  pre-render: _common.R
但这只会在整本书渲染之前运行一次脚本,而不是在每一章之前运行一次。每个章节似乎都是在自己的环境中呈现的,因此所有设置和脚本_common.R都不可用。
解决方法是包括
```{r echo = FALSE, message=FALSE, warning=FALSE}
source("_common.R")
```
在每个 .Rmd/.qmd 文件的顶部。有更好的解决方案吗?
任何帮助表示赞赏!
是否可以通过在 YAML 标头中指定来一次从 Quarto/R Markdown 文档创建多种输出格式?
我的猜测没有成功:
---
title: Stacked Area chart with Annotations
format: 
  - html
  - gfm
---
我在下面提供了一个可重现的小示例。我想为命名 list 中的每个 ggplot 对象在四开中生成选项卡plots。下面的四开文档将在其自己的二级标题中呈现图形,但不会按预期呈现在选项卡中。
---
title: "Untitled"
format: html
---
```{r}
library(tidyverse)
data <- iris %>% as_tibble()
plots <- data %>%
  group_nest(Species) %>% 
  deframe() %>% 
  map(., ~ {
    ggplot(.x, aes(x = Sepal.Length, y = Sepal.Width)) + 
      geom_point()
  })
```
# Iris Plots 
::: {.panel-tabset}
```{r}
#| column: screen
#| fig-width: 12
#| fig-height: 8
#| fig-align: center
#| results: asis
iwalk(plots, ~ {
  cat('## ', .y, '\n\n')
  
  print(.x)
  
  cat('\n\n')
  
})
```
:::
当块选项(除 results:asis 之外的所有选项)被删除时,文档将按预期正确渲染选项卡内的绘图。
# Iris …如何在四开PDF文档中自定义字体?mainfont我意识到和选项的存在fontfamily,但文档没有提供如何使用它们以及哪些字体可用的示例。另外,有哪些字体可供使用monofont?
这是文档:https://quarto.org/docs/reference/formats/pdf.html#fonts
我是在 R 和 RStudio 中使用 Quarto 制作 Revealjs 幻灯片的新手。我想在具有默认 gt 样式的幻灯片上包含一个 {gt} 表 ( https://gt.rstudio.com/ )。但我遇到的问题是该表是 HTML,并且从演示文稿 CSS 继承了自定义 CSS 样式。
例如,呈现的表格如下所示:字体不是默认的 gt 字体以及其他一些小样式。
---
format: 
  revealjs: 
    theme: [night]
    highlight-style: a11y
    transition: fade
    slide-number: true
    chalkboard: true
execute:
  freeze: auto
---
我尝试过的让我接近的一件事是将knit_print()gt 表的默认方法覆盖为 1. 将表转换为图像gt::gtsave(),然后 2. 使用 {magick} pkg 将图像转换为 ggplot,然后 3. knit_print() ggplot。但它在图像的左侧和右侧增加了空白。
library(tidyverse)
library(gtsummary)
library(knitr)
knit_print.gt_tbl <- function(x, ...) {
  # save gt as image -----------------------------------------------------------
  path_gt_table_image <- fs::file_temp(ext = "png")
  gt_table_image <- …我想创建一个下拉菜单来Quarto显示多个绘图。这R Markdown真的很简单,每个图都使用# Dropdown menu {.tabset .tabset-dropdown}一些。##这是 R markdown 中的一个可重现的示例:
---
title: "Dropdown menu in Rmarkdown"
date: "2022-08-29"
output: html_document
---
# Dropdown menu {.tabset .tabset-dropdown}
## Plot 1
```{r, echo=FALSE}
plot(1:10, 10:1)
```
## Plot 2
```{r, echo=FALSE}
hist(rnorm(100))
```
## Plot 3 
```{r, echo=FALSE}
plot(rnorm(10), rnorm(10))
```
输出:
正如您在输出中看到的,有一个下拉菜单可以单独显示每个图。我在 中找到了一些有关Tabsets 部分的Quarto信息,也许认为使用::: {.tabset-dropdown})可以完成这项工作。我在 a 中尝试了以下代码.tabset-dropdown:
---
title: "Dropdown menu in Quarto"
format: html
---
::: …我想将样式应用于四开块输出。
我做的第一件事是将一些 CSS 属性嵌入到.outputQuarto 文档的类中,然后使用以下命令引用它:
```{r class.output="output"}
```
它有效,但我认为它不是很有效,因为我必须在每个文档中编写它。
所以我在custom.scss.output文件中编写了一个带有一些 CSS 属性的类,但现在
```{r class.output="output"}
```
不起作用。
那么我应该在哪里以及如何申报呢?
非常感谢!