markfairbanks / tidytable

Tidy interface to 'data.table'
https://markfairbanks.github.io/tidytable/
Other
450 stars 32 forks source link

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

Closed jospueyo closed 4 months ago

jospueyo commented 4 months ago

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

markfairbanks commented 4 months ago

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.

jospueyo commented 4 months ago

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.

markfairbanks commented 4 months ago

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)?

markfairbanks commented 4 months ago

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