Ошибка с немецкими умлаутами в R Markdown генерируется pdf, когда строка вставляется функцией - PullRequest
0 голосов
/ 08 июня 2018

Я столкнулся со странной проблемой при попытке использовать самодельную функцию, которая вставляет строки из кадра данных в определенном формате, в зависимости от их расположения в тексте, в документ с несколькими дочерними документами.Генерация PDF-документа всегда останавливается с кодом ошибки LaTeX 1, после использования названия немецкого учреждения с umlauts в моем df строк.Никакой обходной путь кодирования (например, \"u, ü) не решает проблему.

Настройка : RStudio (1.1.442) с rmarkdown (1.9) и папайей (0.1.0) в Windows 10 (1803).Функция определена в основном документе, но вызывается во время вязания в дочернем документе.

Я уже поработал с настройками кодировки / языка LaTeX-шаблонов, но безуспешно.Умлауты в основном документе работают, как и ожидалось, поэтому я почти уверен, что что-то не так с вязанием дочерних документов.

Примечание : Я уже решил это для себя (см. Ответы).Тем не менее, я полагаю, что это проблема с функциями и дочерними документами, а не с пакетом папайи, так что это может быть полезно в подобных случаях.Может быть, кто-то еще может сказать больше об этой проблеме, или есть более надежный способ предотвратить это?

1 Ответ

0 голосов
/ 08 июня 2018

В конечном итоге мне удалось решить эту проблему, используя ОБА методы, описанные Георгией и Дирком Эддельбюттелем в этом вопросе.

Короче говоря :

  1. Проверьте кодировку всех задействованных документов и при необходимости установите их в UTF-8
  2. Измените умлауты в строках, которые печатаются вашей функцией, на нотацию амперсанда html.

Я обнаружил, что дочерний документ имел неправильную кодировку, но изменение его на UTF-8 решило проблему только для самого документа.Когда функция печатает строку от основного до дочернего, LaTeX все равно выдаст ошибку.Многочисленные попытки вязания тоже не сработали.После дополнительного обмена 'ü' на ü все прошло нормально.

Я не знаю, что происходит за кулисами, но я предполагаю, что кодировка как-то испортилась, когда строка помещается впредполагаемое место в дочернем документе.

...