rstudio / pagedown

Paginate the HTML Output of R Markdown with CSS for Print
https://pagedown.rbind.io
Other
885 stars 129 forks source link

Problème de mise en page pour mon CV après version 1.2.5042 #317

Open AlexGSL36 opened 1 year ago

AlexGSL36 commented 1 year ago

Bonjour, Je me permets de vous écrire pour vous signaler un problème entre le package pagedown et l'application R Studio après la version 1.2.5042; Comme vous le verrez sur mon CV , sur la version 1.2.5042, les mises en pages sont corrects et tout semble bien se passer Par contre, passé cette version, des choses se cassent (sur la 2ème page du 2eme fichier PDF nommé CV R_2023.06.02, vous pourrez voir ce dont je parle) et je n'arrive pas à améliorer le script R.. Vous pouvez également trouver mon code (CV V.10) en fichier ZIP*

Si bien sûr, la solution existe sur le forum GitHub, je veux bien que vous me partagiez le lien en réponse à mon sujet :)

Dans l'attente de votre retour, Cordialement, *CV_avec_R.zip

AlexGSL36

cderv commented 1 year ago

Bonjour Alex,

Même si c'est ok de tenter le français dans ce dépôt, il est généralement préférable de privilégier l'anglais si possible.

Cela étant dit,

un problème entre le package pagedown et l'application R Studio après la version 1.2.5042;

Est ce que pagedown fonctionne tjs en dehors de RStudio ? Juste avec la console R ?

Est ce que le problème est uniquement avec le PDF après chrome_print() ou bien aussi dans le HTML dans le viewer ou le browser ?

L'IDE RStudio ne devrait pas avoir d'impact sur le PDF qui est généré avec Chrome. As tu Chrome d'installer ? Est ce que ouvrir le HTML et faire une impression manuellement depuis chrome fonctionne ?

Il y a peut être eu une mise à jour des composants avec la mise à jour RStudio, mais nous n'avons pas eu d'autre rapport d'erreur sur les dernières versions de RStudio.

AlexGSL36 commented 1 year ago

Bonjour, ça marche, je vous remercie pour les informations apportées.

Alors, pour répondre point par point. Le pagedown fonctionne dans la console R, tout à fait.

Le problème semble bien être à la fois dans la visionneuse HTML dans le viewer, dans le broswer et dans la visionneuse PDF

Je n'ai pas Chrome d'installer en ce moment. Toutefois, je l'ai eu, et le problème était également présent ! Pour la fonction servr::httd("."), où dans le codage, dois-je l'insérer svp ?

Oui cela est possible que les composants de Rstudio, mais, du coup, PageDown, ne peut-il pas être mise à jour dans ce sens ?

cderv commented 1 year ago

Le pagedown fonctionne dans la console R, tout à fait.

Qu'est ce qui fonctionne précisément ? Si cela marche, cela veut dire que tu peux produire un HTML que tu peux visionner dans un navigateur ou publier, et un pdf via pagedown::chrome_print() depuis la console R ?

Le problème semble bien être à la fois dans la visionneuse HTML dans le viewer, dans le browser et dans la visionneuse PDF

Rstudio n'intervient pas normalement si tu produit le PDF avec chrome_print(). ça va produire un pdf depuis une impression avec Chrome. c'est tout

Pour la fonction servr::httd("."), où dans le codage, dois-je l'insérer svp ?

C'est pas dans le codage exactement. C'est une fonction R qui permet de servir un document HTML avec serveur web local R. C'est nécessaire pour ouvrir le HTML produit avec pagedown afin que les CSS et JS de paged.js

Oui cela est possible que les composants de Rstudio, mais, du coup, PageDown, ne peut-il pas être mise à jour dans ce sens ?

Si c'est dans RStudio IDE, on ne peut pas trop adapter.

Mais reprenons depuis le début

(sur la 2ème page du 2eme fichier PDF nommé CV R_2023.06.02, vous pourrez voir ce dont je parle)

Quel est le problème exact ? Une capture d'écran ?

je n'arrive pas à améliorer le script R..

quel script R ? Le fichier Rmd ?

Peux tu aussi partager ce qui suit:

Peut être une version de paquet qui va pas.

Merci

cderv commented 1 year ago

Possible que ça soit lié à cet issue

Je pense que aside avec deux pages à un problème. 🤔 Pas sur duquel par contre...

cderv commented 1 year ago

Ok c'est un problème avec Pandoc 2.8. Avec pandoc 2.7.3 ça fonctionne.

L'update de RStudio a mis à jour Pandoc du coup.

AlexGSL36 commented 1 year ago

Le pagedown fonctionne dans la console R, tout à fait.

Qu'est ce qui fonctionne précisément ? Si cela marche, cela veut dire que tu peux produire un HTML que tu peux visionner dans un navigateur ou publier, et un pdf via pagedown::chrome_print() depuis la console R ? Oui c'est cela.

Le problème semble bien être à la fois dans la visionneuse HTML dans le viewer, dans le browser et dans la visionneuse PDF

Rstudio n'intervient pas normalement si tu produit le PDF avec chrome_print(). ça va produire un pdf depuis une impression avec Chrome. c'est tout D'accord. A savoir que j'utilise Microsoft Edge depuis toujours, et qu'il est basé sur Chrome...

Pour la fonction servr::httd("."), où dans le codage, dois-je l'insérer svp ?

C'est pas dans le codage exactement. C'est une fonction R qui permet de servir un document HTML avec serveur web local R. C'est nécessaire pour ouvrir le HTML produit avec pagedown afin que les CSS et JS de paged.js D'accord

Oui cela est possible que les composants de Rstudio, mais, du coup, PageDown, ne peut-il pas être mise à jour dans ce sens ?

Si c'est dans RStudio IDE, on ne peut pas trop adapter. D'accord Mais reprenons depuis le début

(sur la 2ème page du 2eme fichier PDF nommé CV R_2023.06.02, vous pourrez voir ce dont je parle)

Quel est le problème exact ? Une capture d'écran ? Le problème exact est directement trouvable sur le fichier en question, c'est le décalage du ::aside:: sur la droite. et la présence de NA du coup, en lien avec ce décalage du ::aside::. si vous comparez le premier PDF avec le deuxième, vous verrez la différence. Le 1er est ce que je souhaite obtenir en tout temps.

je n'arrive pas à améliorer le script R..

quel script R ? Le fichier Rmd ? Oui, le fichier RMD, les élements que l'on ajoute ou supprime dans la partie gauche de RStudio une fois ouvert. Peux tu aussi partager ce qui suit:

  • rmarkdown::render() dans ta console R
  • puis xfun::session_info() à coller ici. **Pour X fun, j'ai ça : > xfun::session_info() R version 4.3.1 (2023-06-16 ucrt) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 11 x64 (build 22621)

Locale: LC_COLLATE=French_France.1252 LC_CTYPE=French_France.1252 LC_MONETARY=French_France.1252 LC_NUMERIC=C LC_TIME=French_France.1252

time zone: Europe/Berlin tzcode source: internal

Package version: base64enc_0.1.3 bslib_0.5.1 cachem_1.0.8 cli_3.6.1 compiler_4.3.1
digest_0.6.33 ellipsis_0.3.2 evaluate_0.21 fastmap_1.1.1 fontawesome_0.5.2 fs_1.6.3 glue_1.6.2 graphics_4.3.1 grDevices_4.3.1 highr_0.10
htmltools_0.5.6 jquerylib_0.1.4 jsonlite_1.8.7 knitr_1.43 lifecycle_1.0.3
magrittr_2.0.3 memoise_2.0.1 methods_4.3.1 mime_0.12 R6_2.5.1
rappdirs_0.3.3 rlang_1.1.1 rmarkdown_2.24 sass_0.4.7 stats_4.3.1
stringi_1.7.12 stringr_1.5.0 tinytex_0.46 tools_4.3.1 utils_4.3.1
vctrs_0.6.3 xfun_0.40 yaml_2.3.7**

Pour rmarkdown::render(), j'ai ça : Erreur dans rmarkdown::render() : l'argument "input" est manquant, avec aucune valeur par défaut De plus : Message d'avis : R graphics engine version 16 is not supported by this version of RStudio. The Plots tab will be disabled until a newer version of RStudio is installed.

Peut être une version de paquet qui va pas.

Merci

AlexGSL36 commented 1 year ago

Ok c'est un problème avec Pandoc 2.8. Avec pandoc 2.7.3 ça fonctionne.

L'update de RStudio a mis à jour Pandoc du coup.

D'accord, c'est donc ce logiciel de conversion qui pose problème. Par quel moyen peut-on y remédier ?

cderv commented 1 year ago

Par quel moyen peut-on y remédier ?

Installer une ancienne version de Pandoc qui fonctionne (la version 2.7.3 dispo à https://github.com/jgm/pandoc/releases/tag/2.7.3) et l'utiliser avec R Markdown (variable d'environnement RSTUDIO_PANDOC qui pointe vers cette version), ou bien attendre une résolution dans ce package pour que ça fonctionne (mais ça sera plus long car il faut trouver le problème exacte, et ensuite une solution).

AlexGSL36 commented 1 year ago

Par quel moyen peut-on y remédier ?

Installer une ancienne version de Pandoc qui fonctionne (la version 2.7.3 dispo à https://github.com/jgm/pandoc/releases/tag/2.7.3) et l'utiliser avec R Markdown (variable d'environnement RSTUDIO_PANDOC qui pointe vers cette version), ou bien attendre une résolution dans ce package pour que ça fonctionne (mais ça sera plus long car il faut trouver le problème exacte, et ensuite une solution).

Actuellement, le problème est toujours présent malgré le fait que R Studio ait Pandoc 2.7.3 ! Comment puis-je indiquer à R Studio de pointer vers cette version, avec votre variable d'environnement que vous citez ? J'ai installer le fichier pandoc 2.3.7 .msi sur mon ordinateur. et j'ai également essayer cette commande > library(pandoc)

Install version

pandoc_install("2.7.3") ✔ Pandoc 2.7.3 already installed. Use 'force = TRUE' to overwrite.

Autre problème avec la nouvelle version de RStudio 2023.06.2 Construire 561, j'ai une erreur dans le runtime lors de l'exécution, je n'ai plus de page de prévisualisation comme avant, le PDF est bien généré toutefois.

A runtime exception has occured while executing JavaScript Runtime exception message: TypeError: Cannot read properties of undefined (reading 'innerText')

cderv commented 1 year ago

Il y a plusieurs façon:

Normalement, via le package Pandoc, il y a une façon proche de cela: https://bookdown.org/yihui/rmarkdown-cookbook/install-pandoc.html pour faire depuis le document directement.

Mais pour le moment, il y a un bug:

ça sera corrigé prochainement. Ce qui devrait permettre de faire

```{r setup, echo = FALSE}
pandoc::pandoc_activate("2.7.3", rmarkdown  = TRUE)

directement dans le document. 

Bref, voilà plusieurs solutions
AlexGSL36 commented 1 year ago

if (requireNamespace("pandoc") && pandoc::pandoc_is_installed("2.7.3")) { Sys.setenv(RSTUDIO_PANDOC = dirname(pandoc::pandoc_bin("2.7.3"))) }

En prenant cette formule, après insertion, il m'a indiqué > Le chargement a nécessité le package : pandoc

Et ça a fonctionné ! Enfin Bon, un bug ceci étant, est apparu, c'est celui ci : Receiving PDF from a stream stream chunk received stream chunk received No more stream chunk to read closing stream

Output created: CV.10.pdf Closing websocket connection Closing browser Cleaning browser working directory Closing local webserver

En d'autre terme, j'ai bien mon fichier PDF, là où il faut, mais je n'ai plus le rendu de prévisualisation directement qui se superposait à RStudio, comme c'était le cas avant... Bon, c'est peut être voulu avec cette version de pandoc ?!

cderv commented 1 year ago

Receiving PDF from a stream

C'est un message de log de pagedown https://github.com/rstudio/pagedown/blob/466c1c1e8fc4a679aeff25bdd19fd834c0b78bbd/R/chrome.R#L588

Et on active les log par défault quand on knit depuis RStudio https://github.com/rstudio/pagedown/blame/466c1c1e8fc4a679aeff25bdd19fd834c0b78bbd/R/chrome.R#L71-L74

Donc c'est pas censé être nouveau quand tu as dans ton yaml

knit: pagedown::chrome_print

ça date d'il y a 4 ans comme comportement https://github.com/rstudio/pagedown/commit/e2420277f1fe5e087421eee2a03d792a6bb80037

je n'ai plus le rendu de prévisualisation directement qui se superposait à RStudio

Est ce que ça ouvre le PDF à l'exterieur de RStudio ? de mon coté ça le fait toujours

AlexGSL36 commented 1 year ago

Receiving PDF from a stream

C'est un message de log de pagedown

ah oui, oui, je suis d’accord. https://github.com/rstudio/pagedown/blob/466c1c1e8fc4a679aeff25bdd19fd834c0b78bbd/R/chrome.R#L588

Et on active les log par défault quand on knit depuis RStudio https://github.com/rstudio/pagedown/blame/466c1c1e8fc4a679aeff25bdd19fd834c0b78bbd/R/chrome.R#L71-L74 je n’ai pas compris ? C’est une question ou bien quelque chose à faire sur ma machine ? Donc c'est pas censé être nouveau quand tu as dans ton yaml

knit: pagedown::chrome_print

ça date d'il y a 4 ans comme comportement e242027 d’accord c’est Noté.

je n'ai plus le rendu de prévisualisation directement qui se superposait à RStudio

Est ce que ça ouvre le PDF à l'exterieur de RStudio ? de mon coté ça le fait toujours Alors ça le génère dans le dossier là où il doit être et c’est tout. Pas de d’ouverture à l’extérieur de Rstudio. Avant, il y avait bien une ouverture (que je nomme previsualisation du rendu) Bon au pire, du moment que le PDF soit ok, on va dire que ce n’est pas gênant. Juste bon à savoir …

cderv commented 1 year ago

Je ne sais pas dire pourquoi ça s'ouvre pas. ça devrait normalement. ça le fait chez moi en tout cas, donc peut être que ça va revenir avec un prochain update ou autre.

Bref, corriger l'issue dans pagedown maintenant pour les pandoc récents. c'est la next step

AlexGSL36 commented 1 year ago

Tout à fait !

Le mar. 12 sept. 2023 à 10:03, Christophe Dervieux @.***> a écrit :

Je ne sais pas dire pourquoi ça s'ouvre pas. ça devrait normalement. ça le fait chez moi en tout cas, donc peut être que ça va revenir avec un prochain update ou autre.

Bref, corriger l'issue dans pagedown maintenant pour les pandoc récents. c'est la next step

— Reply to this email directly, view it on GitHub https://github.com/rstudio/pagedown/issues/317#issuecomment-1715207005, or unsubscribe https://github.com/notifications/unsubscribe-auth/BCJ2EY2KD3B7GSYJ2F433U3X2AJONANCNFSM6AAAAAA4IVNAOA . You are receiving this because you authored the thread.Message ID: @.***>