Рассмотрим файл minimum.Rnw, содержащий
\documentclass[
paper=a4,% 210mm × 297mm
pagesize% write page size to dvi
]{article}
\usepackage[american]{babel}
\usepackage{fancyvrb}
\begin{document}
\SweaveOpts{engine=R}
\SweaveOpts{pdf=TRUE}
Some text
\end{document}
Когда я компилирую его с помощью R CMD Sweave, я получаю файл .tex, который выглядит так:
\documentclass[%
NA
pagesize% write page size to dvi
]{article}
\usepackage[american]{babel}
\usepackage{fancyvrb}
\usepackage{Sweave}
\begin{document}
Some text
\end{document}
У меня есть два вопроса:
1) Почему первый вариант \documentclass
заменен на NA
и как этого избежать?
2) Я читал, что \SweaveOpts
следует ставить после \begin{document}
, но, видимо, это создает пустые строки (которые соответствуют новым абзацам в сгенерированном .tex-файле). Как я могу предотвратить это?
Если это важно: я работаю с Emacs 24 на Mac OS X 10.7.3 с R 2.14.0 и TeXLive 2011.
ОБНОВЛЕНИЕ
Что касается проблемы 1), я изменил свой вызов Sweave (из Emacs) в .emacs следующим образом (чтобы сообщить Sweave кодировку файла) — тем не менее, он создает NA
в строке, содержащей не-ASCII-символ:
(add-hook 'Rnw-mode-hook
(lambda ()
(add-to-list 'TeX-command-list
'("Sweave" "R CMD Sweave --encoding='utf8' %s"
TeX-run-command nil t :help "Run Sweave") t)
(setq TeX-command-default "Sweave")))
\% 210mm × 297mm
. Не испытано. - person MYaseen208   schedule 29.02.2012\SweaveOpts
перед\begin{document}
, туда будут вставлены пустые строки. Я считаю это концептуальной ошибкой, хотя, конечно, не слишком важной. С 1) я до сих пор не знаю. Что меня пугает, так это то, что я не знаю, какие другие неизвестные мне части будут автоматически заменены Sweave. Это точно опаснее - person Marius Hofert   schedule 29.02.2012\SweaveOpts
не обязательно должно стоять после\begin{document}
; Я обычно ставлю перед\documentclass
- person Brian Diggs   schedule 29.02.2012x
на,
решает проблемуNA
. Тем не менее, не должно иметь значения, что комментарий что-то меняет (я думаю) - person Marius Hofert   schedule 29.02.2012×
. Вы должны открыть R и сообщитьsessionInfo()
. - person Yihui Xie   schedule 29.02.2012sessionInfo()
показывает:R version 2.14.0 (2011-10-31)
,Platform: x86_64-apple-darwin11.2.0/x86_64 (64-bit)
,locale: C
(остальное наверное не интересно). Как я могу сообщить Sweave о кодировке файла, чтобы избежать такой проблемы? - person Marius Hofert   schedule 29.02.2012sessionInfo()
изR.app
дает мнеlocale: C/en_US.UTF-8/C/C/C/C
... Я нашел именно эту проблему на stackoverflow.com/questions/7509395/ Тем не менее, я не знаю, как сообщить Sweave, что кодировка UTF-8 - person Marius Hofert   schedule 29.02.2012