Я использую bookdown
в RStudio для компиляции серии конспектов лекций в одну рукопись. У меня есть настраиваемый блок, в котором есть пронумерованный список.
```{r, echo=FALSE}
instructorVersion<-TRUE
```
What is 1+1?
```{block, type='ANSWER', echo=instructorVersion, purl=FALSE}
1. This answer is easy
2. Yes, really, that's all that I was asking.
```
What is the meaning of life?
```{block, type='ANSWER', echo=instructorVersion, purl=FALSE}
The Answer is only for Instructor's Eyes
1. The answer is hard
2. You won't get it right
3. But try anyway
```
Первый блок получается в латексе нормально:
\begin{ANSWER}
\begin{enumerate}
\def\labelenumi{\arabic{enumi}.}
\tightlist
\item
This answer is easy
\item
Yes, really, that's all that I was asking.
\end{enumerate}
\end{ANSWER}
Но по какой-то причине второй блок имеет другой латексный код, что создает проблему при компиляции
\begin{ANSWER}
The Answer is only for Instructor's Eyes
\begin{enumerate}
\def\arabic{enumi}.{\arabic{enumi}.} %%% This line is different
\tightlist
\item
The answer is hard
\item
You won't get it right
\item
But try anyway
\end{enumerate}
\end{ANSWER}
Я получаю следующую ошибку:
! LaTeX Error: Something's wrong--perhaps a missing \item.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.181 T
he answer is hard
Удаление строки, отмеченной выше (с помощью %%%
), или замена ее версией в первом блоке позволяет латексу правильно компилироваться.
У меня нет проблем, если я использую блоки Div :::
(латексный код выглядит как первый код выше, который компилируется правильно).
```{r, echo=FALSE}
instructorVersion<-TRUE
```
What is 1+1?
::: {.ANSWER}
1. This answer is easy
2. Yes, really, that's all that I was asking.
:::
What is the meaning of life?
::: {.ANSWER}
The Answer is only for Instructor's Eyes
1. The answer is hard
2. You won't get it right
3. But try anyway
:::
Но я использую стиль ```block
, а не ::: .{ANSWER}
, потому что я хочу иметь возможность включать и выключать отображение текста, как я показал выше. Не знаю, могу ли я это сделать с форматом :::
. (Я был бы счастлив, если бы получил ответ, который показал мне, как использовать версию :::
, но с включением / выключением, как у меня сейчас.)
Вот моя команда среды в латексе, которая в основном делает текст красным (я не думаю, что это имеет значение, и я сделал это просто пустой средой и получил то же самое, но только для полноты)
\newenvironment{ANSWER}{%
\envspace\itshape\color{red}
}
{}
Кроме того, я запускаю это в RStudio с помощью следующей команды:
render_book('index.Rmd',envir=new.env(),clean=FALSE,output_dir='test', output_format=c('bookdown::pdf_book') )
R Studio 1.3.959, г.
> sessionInfo()
R version 4.0.1 (2020-06-06)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Catalina 10.15.4
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] bookdown_0.20
loaded via a namespace (and not attached):
[1] compiler_4.0.1 magrittr_1.5 htmltools_0.5.0 tools_4.0.1
[5] rstudioapi_0.11 yaml_2.2.1 tinytex_0.24 stringi_1.4.6
[9] rmarkdown_2.3 highr_0.8 knitr_1.29 stringr_1.4.0
[13] xfun_0.15 digest_0.6.25 rlang_0.4.7 evaluate_0.14
1 ответ
Я не знаю, что не так с движком block
в вашем вопросе, но если все, что вам нужно, это возможность переключать контент, вы можете использовать движок asis
и поместите Div внутрь блока asis
:
```{r, echo=FALSE}
instructorVersion <- TRUE
```
What is 1+1?
```{asis, echo=instructorVersion}
::: {.ANSWER data-latex=""}
1. This answer is easy
2. Yes, really, that's all that I was asking.
:::
```
What is the meaning of life?
```{asis, echo=instructorVersion}
::: {.ANSWER data-latex=""}
The Answer is only for Instructor's Eyes
1. The answer is hard
2. You won't get it right
3. But try anyway
:::
```
Обратите внимание, что data-latex=""
потребуется в следующей версии rmarkdown сильный>.
Похожие вопросы
Новые вопросы
r
R — это бесплатный язык программирования с открытым исходным кодом и программная среда для статистических вычислений, биоинформатики, визуализации и общих вычислений. Пожалуйста, используйте минимально воспроизводимые примеры, которые другие могут запустить с помощью копирования и вставки. Показать желаемый результат полностью. Используйте dput() для данных и укажите все небазовые пакеты с помощью library(). Не вставляйте изображения для данных или кода, вместо этого используйте блоки кода с отступом. Для вопросов по статистике используйте https://stats.stackexchange.com.