#r #sweave #tikz
#r #sweave #tikz
Вопрос:
Простой случай.
- R-2.13.2
- pgfSweave 1.2.1
- pgf 2.10
Я определяю очень простой файл для тестирования.
documentclass{article}
title{Testing pgfSweave figures with tikz device}
begin{document}maketitle
<<testfigure, fig=T, tikz=T>>=
plot(density(rnorm(1000)))
@
end{document}
но когда я запускаю pgfSweave("test.Rnw", pdf=T, compile.tex=T)
, я получаю эту ошибку.
! Undefined control sequence.
l.379 {tikzexternaldisable
И то, что выходит в pdf, является тарабарщиной. Что не так?
Ответ №1:
Вы должны usepackage{tikz}
Комментарии:
1. Разве pgfSweave не должен добавлять это автоматически?
2. @AndrewRedd — Я не уверен, должен ли pgfSweave , но мне тоже нужно включить эту строку в сценарий. Когда я этого не делаю, я получаю только сообщение об ошибке, которое вы сделали. Кроме того, обе виньетки pgfSweave включают
usepackage{tikz}
директивы в свои примеры.Rnw
сценариев.3. На самом деле, я помню
pgfSweave
, что он автоматически добавитсяusepackage{tikz}
в ваш документ tex, но по какой-то причине он больше не работает. Я называю подобные вещиheader
компонентом в моем пакете, который принимает разумные значения по умолчанию, и пользователи также могут определить его и будут добавлены раньшеbegin{document}
.4. pgfSweave добавит другие материалы в ваш документ, но нет
usepackage{tikz}
, причина в том, что вы можете захотеть добавить его, а затем использовать свои собственные библиотеки tikz.