Как написать оператор if-then в LaTeX, используя значение переменной R в knitr/Sweave
в настоящее время я использую knitr вместе с R 3.0.2 и RStudio для создания отчета LaTeX. Мой отчет набирается как .Файл Rnw и скомпилирован с помощью функции knit2pdf.
Я хотел бы использовать если-то формулировка в латексе чтобы создать отдельный раздел, но иметь условие if-then, используйте значение переменной из R (назовем его CreateOptionalSection
).
это возможно? Если да, то как я могу ссылаться на переменную R в .текс документ?
2 ответов
добавить \usepackage{comment}
к преамбуле вашего файла latex.
в строке перед началом необязательного раздела выполните
<<startcomment, results='asis', echo=FALSE>>=
if(!CreateOptionalSection){
cat("\begin{comment}")
}
@
в строке после завершения необязательного раздела do
<<endcomment, results='asis', echo=FALSE>>=
if(!CreateOptionalSection){
cat("\end{comment}")
}
@
вы можете сделать это непосредственно в R
код , используя cat
вставить раздел. Вот пример, когда x > 0
создает section 1
, когда x < 0
создает section 2
:
\documentclass{article}
\begin{document}
<<condition, include=FALSE, echo=FALSE>>=
x<- rnorm(1)
if(x>0){
text <- "\section{Section 1}
This is new section 1"
}else{
text <- "\section{Section 2}
This is new section 2"
}
@
Testing the code: the result of x (which here was \Sexpr{x}) will determine the section.
<<print, results='asis', echo=FALSE>>=
cat(text)
@
\end{document}
это даст вам: