2017-02-21 4 views
5

私は問題https://github.com/rstudio/rmarkdown/issues/967を報告しましたが、これに対して回避策(この作業を行う方法)がありますか? Iは、Rmarkdownオーバーラップ出力

あなたの例では、生成HTMLを見て
--- 
title: "Test links to sections in DT" 
output: html_document 
--- 

```{r setup, include=FALSE} 
knitr::opts_chunk$set(echo=FALSE) 
knitr::opts_chunk$set(message=FALSE) 
knitr::opts_chunk$set(warning=FALSE) 

## DT Test 

```{r echo=FALSE} 
library(DT) 

n <- 1000 
nGroup <- 100 

testDF <- data.frame(text=paste0("Section", 1:n), 
        number=1:n, 
        group=rep(1:(n/nGroup), n/nGroup)) 

datatable(head(testDF), caption="Whole table", rownames=FALSE, escape=FALSE, options=list(paging=FALSE, info=FALSE)) 

getDT<-function(x) { 
    a <- list() 
    a[[1]] <- htmltools::tags$h3("test1") 
    a[[2]] <- datatable(x[, c("text", "number")], caption=htmltools::tags$caption(style="caption-side: top; text-align: left;", "Group: ", htmltools::strong(x$group)), rownames=FALSE, escape=FALSE, filter=c("none"), options=list(paging=FALSE, info=FALSE)) 
    a[[3]] <- htmltools::tags$h4("test1") 

    return(a) 
} 

res <- lapply(split(testDF, testDF$group), getDT) 

htmltools::tagList(res) 
``` 

答えて

5

: - (なしオーバーラップN = 100とnGroup = 10の効果を見るためにn及びnGroup変化)

enter image description here

再現以下の実施例

<div class="datatables html-widget html-widget-static-bound" 
    id="htmlwidget-3efe8ca4aa087193f03e" 
    style="width:960px;height:500px;"> 

注500個のピクセルまでの高さを設定し、インラインスタイル:次のようになりdivタグの束を参照してください。しかし、divのコンテンツは500ピクセルよりもはるかに大きいので、divの境界を越えてオー​​バーフローしています。

500pxはどこから来ているのかわかりませんが、回避策として別のスタイルで上書きできます。例えば、(ヘッダの後に)あなたのRMarkdownの先頭にこれを追加します。

<style type="text/css"> 
    div.datatables { height: auto !important;} 
</style> 

それとも、あなたはCSSと整頓あなたのRMarkdownを維持することを好む場合は、別々ので

div.datatables { 
    height: auto !important; 
} 

を置きますCSSファイルを作成し、次のようにRMarkdownヘッダーにリンクします。

--- 
title: "Test links to sections in DT" 
output: 
    html_document: 
    css: overlap_workaround.css 
--- 
関連する問題