Sweave 仅在使用变音符号时才会产生 NA。

Sweave 仅在使用变音符号时才会产生 NA。

我在使用 Sweave 时遇到了问题。只要我使用任何变异元音/变音符号(ü、ä 等),Sweave 就会在文档中产生 NA,尽管它以前可以正常工作。我不知道该怎么办,所以任何帮助都将不胜感激。

以下是 Test.Rnw 文件的一个示例:

\documentclass[a4paper]{article}
\usepackage[latin1]{inputenc}
%aä
\begin{document}
The following section gives some descriptive statistics. ä
\end{document}

虽然生成了文件,但是只包含两个NA。

此外,我收到以下警告信息:

Warning message:
running command '"C:\PROGRA~2\MIKTEX~1.9\miktex\bin\texi2dvi.exe" --quiet --pdf     "First_Paper_Test.tex"  -I "C:/Program Files/R/R-2.13.1/share/texmf/tex/latex" -I   "C:/Program Files/R/R-2.13.1/share/texmf/bibtex/bst"' had status 1 

如果我删除变音符号,则不会出现任何问题。此外,如果我添加更多没有变音符号的段落,这些段落也会正常显示。我的 sessionInfo():

R version 2.13.1 (2011-07-08)
Platform: x86_64-pc-mingw32/x64 (64-bit)

locale:
[1] C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] tools_2.13.1

我正在运行 Windows 7。

答案1

您的 R 在 C 语言环境中运行,而不是 UTF-8 语言环境中运行。由于 R 必须解析和更新文件,因此我并不惊讶它不知道如何处理这些字符。尝试在 UTF-8 语言环境中运行 Sweave/R,看看是否有帮助。

例如,从 R 内部对文件进行 Sweave 处理会产生以下结果:

\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
%aä
\usepackage{Sweave}
\begin{document}
The following section gives some descriptive statistics. ä
\end{document}

我的 R 正在运行:

> sessionInfo()
R version 2.13.1 Patched (2011-07-08 r56332)
Platform: x86_64-unknown-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_GB.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_GB.UTF-8        LC_COLLATE=en_GB.UTF-8    
 [5] LC_MONETARY=C              LC_MESSAGES=en_GB.UTF-8   
 [7] LC_PAPER=en_GB.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
 [1] tools     grid      splines   stats     graphics  grDevices utils    
 [8] datasets  methods   base     

other attached packages:
[1] pscl_1.03.10     vcd_1.2-9        colorspace_1.0-1 gam_1.04        
[5] coda_0.14-2      lattice_0.19-23  mvtnorm_0.9-96   MASS_7.3-13

要查看当前语言环境,请使用Sys.getlocale(),要设置新语言环境,请使用Sys.setlocale()。另请参阅R for Windows 常见问题解答以及其中其他常见问题的链接。R 安装和管理手册

相关内容