如何在RMarkdown乳胶文档中编写特殊字符?

时间:2014-11-08 19:44:41

标签: r pdf latex r-markdown

我正在尝试用RMarkdown pdf写一篇论文。但我不知道如何使用像“İ,ı,ğ,ü,ö”这样的特殊字符。这些角色出现在土耳其语中。我可以使用例如Latex在Latex中轻松使用它们。 \ u {g} - ğ,\ c {c} - ç,\“{u} - ü,{\ i} - ı等

请告诉我怎样才能在RMarkdown中做同样的事情?

我在哪里可以找到一些Rmarkdown纸质或书籍模板?

4 个答案:

答案 0 :(得分:9)

土耳其字符的HTML代码可以使用(例如来自wikipedia):

---
title: "My doc"
output: pdf_document
---

HTML      char  detail                            anglicized
-------   --    ------------------------------    ---
Ğ   Ğ       Uppercase "G" with breve accent   gh1
İ     İ     Uppercase dotted "I"²               i (as in "tree")
Ş     Ş     Uppercase "S" with cedilla          sh
ğ     ğ     Lowercase "g" with breve accent   gh1
ı     ı     Lowercase dotless "i"³              ou (as in "in")
ş     ş     Lowercase "s" with cedilla          sh
-------   --    -------------------------------   --

这样可以像这样呈现PDF:

enter image description here

对于文章模板,请参阅rticles包或make your own

对于图书模板,请查看pandoc ebookgitbookbookdown


我最初建议的xelatex选项适用于土耳其语字符:

这种事情xelatex enginerecommended。然后,您可以使用mainfont argument

访问系统字体
---
title: "My doc"
output:
  pdf_document:
    latex_engine: xelatex
mainfont: "name of your system font that has all those characters"
---

PDF output will be in the font you specify. 

Just type as normal with no special codes.

答案 1 :(得分:3)

rmarkdown使用LaTeX创建PDF,因此您应该只能使用LaTeX标记。举个例子:

---
title: "Test"
output: pdf_document
---

This is a special character: \u{g}.

此外,根据特定字符,您可以按原样键入它们(例如,请参阅here)。

答案 2 :(得分:3)

我猜这个问题本身已经过时了。截至目前(rmarkdown V1.4 / knitr V1.15.1),knitr会自动遵循this问题的建议并包含

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

在LaTeX输出的序言中(警告:当然这意味着你的文档编辑器必须使用UTF-8,但是例如,RStudio默认使用它)。

然后按预期工作:

---
title: "Test"
output: pdf_document
---

Here are some special characters: İ ı Ş Ğ ş ğ ö ü

这不是灵丹妙药,因为许多剧本仍然需要更多的修补(我试过韩语,中文和日语)。如果您需要更多种类繁多的字体,请参阅here,了解如何开始支持序言。

答案 3 :(得分:0)

除土耳其语外,如果您需要其他语言的特殊字符,您可以输入此网页上列出的代码:

http://www.starr.net/is/type/htmlcodes.html

请务必加入;