markfairbanks/tidytable

`tidytable` objects are not printed after loading `quarto`

jospueyo opened this issue · 4 comments

I am not sure if this is related to #139.

The issue I found is that when quarto is loaded, tidytable stops printing the objects to the console. It does not happen with data.table or tibble. Creating the reprex for this issue, I also discovered that reprex::reprex() neither prints the tidytable to the console.

library(tidytable)

# it prints on the console as expected
tidytable(a = 1)

library(quarto)

# it does not print the console anymore
tidytable(a = 1)
print(tidytable(a = 1))

sessionInfo()
#> R version 4.4.0 (2024-04-24 ucrt)
#> Platform: x86_64-w64-mingw32/x64
#> Running under: Windows 11 x64 (build 22631)
#> 
#> Matrix products: default
#> 
#> 
#> locale:
#> [1] LC_COLLATE=Catalan_Spain.utf8  LC_CTYPE=Catalan_Spain.utf8   
#> [3] LC_MONETARY=Catalan_Spain.utf8 LC_NUMERIC=C                  
#> [5] LC_TIME=Catalan_Spain.utf8    
#> 
#> time zone: Europe/Madrid
#> tzcode source: internal
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> other attached packages:
#> [1] quarto_1.4       tidytable_0.11.0
#> 
#> loaded via a namespace (and not attached):
#>  [1] vctrs_0.6.5       cli_3.6.2         knitr_1.47        rlang_1.1.4      
#>  [5] xfun_0.44         processx_3.8.4    jsonlite_1.8.8    data.table_1.15.4
#>  [9] glue_1.7.0        htmltools_0.5.8.1 ps_1.7.6          fansi_1.0.6      
#> [13] rmarkdown_2.27    evaluate_0.24.0   fastmap_1.2.0     yaml_2.3.8       
#> [17] lifecycle_1.0.4   compiler_4.4.0    fs_1.6.4          Rcpp_1.0.12      
#> [21] rstudioapi_0.16.0 later_1.3.2       digest_0.6.35     reprex_2.1.0     
#> [25] tidyselect_1.2.1  utf8_1.2.4        pillar_1.9.0      magrittr_2.0.3   
#> [29] tools_4.4.0       withr_3.0.0

Created on 2024-06-19 with reprex v2.1.0

Hmm that’s odd. I’ll take a look. I don’t use quarto but it doesn’t make sense that it wouldn’t print.

Now I checked and the same issue happens if rmarkdown (v 2.27) is loaded, but not with knitr (v 1.47).

Let me know if I can help somehow.

So it looks like it works properly if you're using Rmarkdown but only fails if you directly load it using library(rmarkdown). Is that the same with quarto?

Edit: Ah wait nvm I see that you mentioned everything works normally until you load quarto directly. Is there a reason you need to use library(quarto)?

To get paged printing to work in Rmarkdown I added the "paged_df" class when printing a tidytable. You can see it in line 61 in print.R

When I remove "paged_df" the issue goes away but now paged printing no longer works