Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中使用knitr和markdown的自定义CSS_R_Markdown_Knitr - Fatal编程技术网

在R中使用knitr和markdown的自定义CSS

在R中使用knitr和markdown的自定义CSS,r,markdown,knitr,R,Markdown,Knitr,我发现了这篇关于如何修改在Rstudio中使用markdown和knitr创建的HTML报告的css格式的精彩教程。这个帖子可以找到 我希望在这个概念的基础上,通过使用相同的css来模拟页面的布局。我试图简单地复制/粘贴/组合我在查看页面源代码时发现的两个css文件 如果您能提供任何帮助,我们将不胜感激!这是我第一次尝试做任何事情 这是RStudio提供的方法: 我从来没能让它正常工作,所以我做的有点不同: 我通过创建标准输出文件来实现这一点,然后将标题和css代码放在R的顶部: tmp &l

我发现了这篇关于如何修改在Rstudio中使用markdown和knitr创建的HTML报告的css格式的精彩教程。这个帖子可以找到

我希望在这个概念的基础上,通过使用相同的css来模拟页面的布局。我试图简单地复制/粘贴/组合我在查看页面源代码时发现的两个css文件


如果您能提供任何帮助,我们将不胜感激!这是我第一次尝试做任何事情

这是RStudio提供的方法:


我从来没能让它正常工作,所以我做的有点不同:

我通过创建标准输出文件来实现这一点,然后将标题和css代码放在R的顶部:

tmp <- readLines("your.html") 
tmp <- tmp[-c(1:50)] # or however many lines it is before the css ends
write(tmp,"your.html")
在RStudio之外(可能也适用于它-我不确定,因为我不太使用它),您可以使用选项“markdown.HTML.stylesheet”来设置自定义样式表。然后,它会将.css文件中的所有内容导入到新创建的html文件中

以下是一个例子:

## Set file names
htmlName <- "test.html"
rmdName <- gsub("html","Rmd", htmlName) 
stylesheetName <- 'style.css'

## Generate rmd file from R
sink(file = rmdName, type='output') 
    cat('\n<textarea maxlength="3000" cols="70">') 
    cat("Hello World!") 
    cat('</textarea>\n') 
sink()

## Generate style sheet from R
sink(file = stylesheetName, type='output') 
    cat("textarea {color: #a10000; }\n")
sink()

## Set knitr options and knit html
require(knitr) 
options(markdown.HTML.stylesheet = stylesheetName)
knit2html(rmdName, output = htmlName) 
##设置文件名

htmlName谢谢!仍然不完美,但这很有帮助。是的,我从来没有运气使用第一种方法,所以我只是后期处理。如果你让它工作-让我知道!根据RStudio页面,您可以直接转到Pandoc,通过将
RStudio.markdownToHTML
函数更改为通过Pandoc,而不是使用内置的markdown-to-html转换函数,将此过程简化为一步。(朝底部)
system("pandoc -s -S your.html -c your.css -o output.html")
## Set file names
htmlName <- "test.html"
rmdName <- gsub("html","Rmd", htmlName) 
stylesheetName <- 'style.css'

## Generate rmd file from R
sink(file = rmdName, type='output') 
    cat('\n<textarea maxlength="3000" cols="70">') 
    cat("Hello World!") 
    cat('</textarea>\n') 
sink()

## Generate style sheet from R
sink(file = stylesheetName, type='output') 
    cat("textarea {color: #a10000; }\n")
sink()

## Set knitr options and knit html
require(knitr) 
options(markdown.HTML.stylesheet = stylesheetName)
knit2html(rmdName, output = htmlName)