我正在尝试使用 knitr 在 TeXstudio 中编写文档,并且希望 TeXstudio 能够识别丹麦字符 'æ'、'ø' 和 'å'。通常情况下,我使用以下命令可以毫无问题地完成此操作:
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[danish]{babel}
然而,对于 .Rnw 文件,这似乎不再起作用。当我运行以下 MWE 时
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[danish]{babel}
\begin{document}
æøå
\end{document}
我收到一份 PDF 内容
<U+00E6><U+00F8><U+00E5>
我将相同的 MWE 作为 .tex 运行没有任何问题,在 RStudio 中将 MWE 作为 .Rnw 运行也没有问题,所以我猜问题出在 TeXstudio 中设置 knitr 的方式上,尽管我似乎无法弄清楚到底出了什么问题。如果出现任何问题,我已将 TeXstudio 设置为使用 knitr,方法是在构建首选项中添加以下内容作为用户命令
Rscript -e "library(knitr); knit2pdf('%.Rnw')"
有任何想法吗?
编辑:设置 TeXShop 以与 knitr 配合使用,它会产生与 TeXstudio 相同的问题,所以我猜这个问题比我在 TeXstudio 中设置 knitr 的方式的具体问题更为普遍。仍然没有弄清楚。
再次编辑:对此做了一些调整。事实上,我可以通过添加
<<>>=
options(Encoding="UTF-8")
@
然而,区域字符仍然存在一些奇怪的情况。例如,包含 \Sexpr{} 会再次引发该问题。也就是说,虽然
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[danish]{babel}
\begin{document}
<<>>=
options(Encoding="UTF-8")
@
æøå
\end{document}
工作正常,以下
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[danish]{babel}
\begin{document}
<<>>=
options(Encoding="UTF-8")
@
æøå \Sexpr{1 + 1}
\end{document}
处理 R 表达式,但给出“æøå”的错误输出。这让我很困惑。
答案1
我在 MacOS 上使用 Texpad 时也遇到了同样的问题。欧元符号 (€) 变成了 。RStudio 可以毫无问题地运行 knitr。
编辑:我通过在 LaTeX 中加载 xunicode 包(“\usepackage{xunicode}”)解决了该问题!