Поместите часть текста жирным шрифтом в \ sexp с помощью Sweave - PullRequest
0 голосов
/ 30 сентября 2019

Я использовал условие для отображения двух разных текстов с помощью Sweave. После этого я отображаю этот текст.

Но я бы хотел выделить часть моего первого текста жирным шрифтом.

<<condition, echo=FALSE>>=
if (x > 0) {
  text <- paste("text 1 start :",paste(variables, collapse = ","), ". text 1 end.")
  } else {
    text <- paste("text 2")
  }
@

\Sexpr{text}

Здесь фактический результат в моем report.pdf:

текст 1 начало: var1, var2, var3 текст 1 конец

Но я бы хотел:

текст 1 начало: var1, var2, var3 . конец текста 1

1 Ответ

1 голос
/ 30 сентября 2019

Вы можете вернуть свои данные отдельно и использовать обычные команды LaTeX, такие как \Sexpr{foo} \textbf{\Sexpr{bar}} \textbf{\Sexpr{foobar}}.

В качестве альтернативы, вы можете встроить необходимую команду LaTeX в R следующим образом:

\documentclass[A4]{article}
\begin{document}
<<>>=
foo <- paste(1, 2, "\\\\textbf{", 3, "}", '4')
@

Test text with some \Sexpr{foo} with formatting.
\end{document}

Mindнеобходимо множество обратных наклонных черт.

Редактировать :

Для knitr код требует некоторых модификаций:

\documentclass[A4]{article}
\begin{document}
<<>>=
foo <- paste(1, 2, "\\textbf{", 3, "}", '4')
@

Test text with some \Sexpr{asis_output(foo)} with formatting.
\end{document}
...