2013-05-17 3 views
0

[crossposted из http://yihui.name/knitr/demo/sweave/]Форматирование встроенного выхода: как обеспечить формат с форматом() или Sprintf()

Я понимаю и ценю политику knitr для форматирования больших чисел в научной нотации. Однако я столкнулся с тем, что это происходит, даже если я намеренно использую format() для принудительного применения определенного формата. knitr, кажется, переопределяет это, и я действительно удивляюсь, как это возможно, так как оба формата() возвращают строку символов, правильно ?. Есть ли какие-либо варианты формата, которые глобально изменены knitr? Любая помощь с благодарностью оценена!

Cheers, Ulrich

ответ

0

Нет, это не возможно для knitr переформатировать результаты от format(). Как вы сказали, format() возвращает символьные строки. Я не вижу, как knitr отменяет результаты:

\documentclass{article} 
\begin{document} 
Here is a number \Sexpr{1e10}, and here is \Sexpr{format(1e10)}. 
\end{document} 

inline numbers in knitr

+0

Спасибо @Yihui за большой пакет. Я использую 'sweave' в течение долгого времени, и сейчас просматриваю руководство knitr. Я просто пытаюсь использовать свой первый пакет 'knitr', используя приведенный выше код. Однако приведенный выше код не работает. Это дает мне ошибку 'Line 5 Missing $ insert. ', И это утверждение дается дважды. Я запускаю последнюю версию R, LaTeX, knitr и RStudio на OS X Mavericks. – Shambho

+0

Интересно, что ошибка исходит от использования '1e10'. Если я использую '1.1e10', все работает отлично! – Shambho

+0

@Shambho Извините, что это известная ошибка в knitr 1.5, исправленная в версии для разработки: https://github.com/yihui/knitr –

Смежные вопросы