0

テキストと表を含むパラメーター化された R マークダウン レポートを作成しようとしています。最初にhtml出力を作成し(カスタムスタイルにはcssを使用)、次にpagedownパッケージで出力します。一部のレポートで表が改ページでうまく印刷されないことを除いて、すべてがほぼ完璧です。問題が反応可能なパッケージに起因するのか、ページダウンに起因するのかはわかりません。しかし、Chrome から手動で印刷しようとしましたが、出力はまったく同じではありません。結果が良好な場合もあれば、新しいページの最初の行がまだ少し押しつぶされている場合もありました (ただし、pagedown::chrome_print の場合よりは小さくなります)。

これは、出力がどのように見えるかです: 1

そして、それはどのように見えるべきか: 2

コード例:

---
title: "test"
output: html_document
knit: pagedown::chrome_print
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
library(reactable)
# create some input
sometext <- "Lorem ipsum dolor sit amet, consectetur adipiscing elit. In mattis nec erat et pellentesque. Integer varius rhoncus velit, a luctus lectus aliquam vitae. Mauris pulvinar turpis nibh, ut porttitor velit congue luctus. Mauris cursus convallis dui molestie ornare. Vestibulum enim nibh, iaculis aliquam velit in, aliquam placerat enim. Sed interdum non ex et fringilla. Quisque massa orci, auctor nec consequat non, posuere eget mi. Vestibulum lacinia quis arcu vel malesuada. In risus lacus, auctor at nisi non, tincidunt condimentum enim. Maecenas posuere pellentesque feugiat. Cras vel lectus placerat, euismod ipsum a, vulputate felis. Morbi bibendum ex id quam consectetur dapibus. Ut vel magna ac nulla venenatis imperdiet sit amet in mi."
sometext <- strsplit(sometext, split = ",")[[1]]
sometext <- rep(sometext, 3)
sometext <- as.data.frame(matrix(sometext, ncol = 2))
```
<br><br>

```{r}
reactable::reactable(sometext, sortable = FALSE, highlight = TRUE, pagination = FALSE, rownames = TRUE, columns = list('V1' = colDef(maxWidth = 355),'V2' = colDef(maxWidth = 355)))
```

それを機能させるために何を別の方法で設定できるかについてのアドバイスはありますか?

4

1 に答える 1

1

最後に、テーブルの別のパッケージで解決策を見つけたので、今後の参考のためにここに投稿します。

フォーマット可能なパッケージを使用しました:

```{r}
row.names(sometext) <- NULL
formattable::format_table(sometext, align = "l")
```

反応可能なものと同じフォーマットを実現するために、css コードを追加しました。

.table tbody tr td {
    padding: 7px 9px;
    line-height: 1.42857143;
    vertical-align: top;
    border-top: .5px solid #f2f2f2 }

.table thead tr th {
    padding: 7px 9px;
    vertical-align: bottom;
    border-bottom: 2px solid #e9e9e9 }

実際には、新しいページにヘッダーが自動的に追加されるため、formattable を使用すると印刷結果がさらに向上します。

于 2021-02-16T23:46:18.737 に答える