Narzędzia użytkownika

Narzędzia witryny


markdown_ogonki

To jest stara wersja strony!


Polskie znaki na wykresach raportów rmarkdown w PDF

Pod Windows-ami i MacOs-em domyślna funkcja, którą R generuje PDF-y wykresów (pdf()) nie radzi sobie poprawnie z polskimi znakami. Istnieją dwa sposoby obejścia tego problemu w raportach rmarkdown:

  • Wymuszenie strony kodowej używanej przez funkcję pdf():
    pdf.options(encoding = 'CP1250')
    • Szybko, prosto i przyjemnie.
    • Nie wystarczy, jeśli mamy pecha i na wykresie używamy znaków z kilku kodowań (np. znaków polskich i któregoś z krajów bałtyckich).
  • Wymuszenie korzystania przy generacji raportów do PDF (i tylko wtedy) z funkcji cairo_pdf():
      if(opts_knit$get('rmarkdown.pandoc.to') == 'latex'){ # czy eksport do PDF
        cairo = capabilities()['cairo']
        if(cairo %in% TRUE){ # czy dostępna funkcja cairo_pdf()?
          opts_chunk$set('dev' = 'cairo_pdf')
        }else{
          pdf.options(encoding = 'CP1250') # jeśli nie, zastosuj pierwszą metodę
        }
      }

Przedstawiony powyżej kod wstawiamy przed pierwszym wykresem w szablonie markdown (a najlepiej w ogóle na początku dokumentu).

Napisałem do twórców pakietu rmarkdown, czy by może nie przenieśli drugiej z powyższych metod do opcji YAML dokumentu, a sam kod zintegrowali z rkmarkdown::render(). Zobaczymy, czy coś z tego będzie.

markdown_ogonki.1422274589.txt.gz · ostatnio zmienione: 2015/01/26 13:16 przez zozlak