让 TeXstudio+knitr 识别区域字符

让 TeXstudio+knitr 识别区域字符

我正在尝试使用 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}”)解决了该问题!

相关内容