r-markdown:德语引号将HTML文档中的粗体文本破坏

时间:2018-10-01 22:03:47

标签: r localization r-markdown knitr pandoc

当德语引号(“和”或HTML代码„“,请参见https://unicode-table.com/de/201E/https://unicode-table.com/de/201C/)位于粗体文本标记**...**之间时,那么当我在RStudio中进行编织时,pandoc不会将文本呈现为粗体。更糟糕的是,**是逐字打印在HTML文档中的。

示例:

---
output: html_document
lang: de
---

This is a **„Test“**.

Another **„Test“**.

This **"just works"**.

结果:

German quotation marks break the bold text

是否有任何pandoc选项或解决方法来解决此问题?

请注意,r-markdown: German quotation marks中的PDF输出也回答了类似的问题。但是我需要HTML输出。

2 个答案:

答案 0 :(得分:3)

本地报价的问题跟踪输入为https://github.com/jgm/pandoc/issues/661

同时,我建议使用非印刷引号("),对于HTML输出,建议使用--html-q-tags选项和some CSS, like

q {
  quotes: '„' '“';
}

答案 1 :(得分:0)

我的解决方法:我使用了命令行工具sed和正则表达式:

首先,修改.Rmd(或.md)文件,并用标准引号替换所有德语印刷引号:(警告:命令就地更改了文件!)

sed -i 's/„/"/g' mydocument.Rmd
sed -i 's/“/"/g' mydocument.Rmd

编织文档(或使用pandoc将其转换为HTML)。

然后,用英语替换所有英文印刷引号:

sed -i "s/“/„/g" mydocument.html
sed -i "s/”/“/g" mydocument.html