Почему умные цитаты и тире не отображаются на слайдах Xaringan? - PullRequest
1 голос
/ 30 марта 2020

Проблема

Согласно документам, Xaringan должен

  1. превратить обычные кавычки " " в умные кавычки “”, а

  2. превратить последовательность из 3 дефисов "---" в em-da sh "-"

Проблема, с которой я столкнулся, заключается в том, что эти преобразования происходят только для строки в метаданных yaml (которые отображаются на титульном слайде), но не для текста на обычных слайдах.

Пример

Файл minimal.Rmd содержит следующий код:

---
title: "\"It works, doesn't it?\" --- this is the title slide"
subtitle: "Smart quotes and em dash work in yaml"
output: 
  xaringan::moon_reader
---

# This is a normal slide

It works in the slides too, doesn't it? --- "I hope so", he said.

No, it doesn't.

После вязания я получаю следующие слайды в minimal.html:

  1. Заголовок слайда (обратите внимание на умные цитаты и em-da sh):

    first slide

  2. Второй слайд (уродливые кавычки и 3 дефиса):

    second slide

Идеи

  1. Я почти уверен, что Xaringan не использует Pando c для сгенерировать html. Если бы в процессе использовался Pando c, он по умолчанию украсит кавычки.

  2. Я попытался использовать smart: true в метаданных yaml, как показано в книге RMarkdown , но это не имеет никакого эффекта.

  3. Глядя на код для moon_reader функции , я вижу, что она вызывает rmarkdown::html_document для генерации html.

  4. В этом открытом выпуске в репозитории RMarkdown Github обсуждается параметр smart: true и эквивалентный параметр в вызове Pando c. Автор проблемы предлагает отказаться от опции yaml и оставить ее до Pando c, чтобы украсить кавычки и c.

    Но Xaringan не использует Pando c, так может ли это иметь значение?

Моя настройка

R version 3.6.3 (2020-02-29)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.04.4 LTS

xaringan_0.15
knitr_1.28
rmarkdown_2.1

Заранее спасибо за помощь.

1 Ответ

0 голосов
/ 10 апреля 2020

Ссылка на решение

https://github.com/fnaufel/smartify

Подробности

Ни xaringan , ни замечание js В конце концов, был ответственен за украшение цитат и тире.

Я искал Javascript решений для моей проблемы, но в конце концов решил реализовать свое собственное. С парой строк, добавленных к in_header.html и after_body.html, вы можете загрузить и запустить мой взлом Javascript, чтобы соразмерять цитаты и тире на ваших слайдах. Не нужно ничего устанавливать.

Подробнее на https://github.com/fnaufel/smartify.

Надеюсь, это будет полезно другим людям.

Еще раз спасибо Вы @ YihuiX ie за ваши комментарии.

...