Блок кода с меткой marginfigure
просто оборачивает содержимое в среде LaTeX под названием marginfigure
.Вы можете сделать это самостоятельно, и тогда встроенный код будет обработан правильно.
То есть вы замените это:
```{marginfigure, echo=TRUE}
Here is a margin figure with inline code that doesn't work: 2+3=`r 2+3` \newline\vspace{10pt}
```
на это:
\begin{marginfigure}
Here is a margin figure with inline code that *does* work: 2+3=`r 2+3` \newline\vspace{10pt}
\end{marginfigure}
Ваш первый пример немного сложнее.Его нужно разбить на три части:
\begin{marginfigure}
`r 'Here is a margin code block with code-generated text.'`
\end{marginfigure}
```{r block, fig.margin=TRUE, echo=FALSE}
mtcars %>% ggplot(aes(mpg, disp)) + geom_point()
```
\begin{marginfigure}
`r 'The text doesn\'t stay in the main body.'`
\end{marginfigure}
Вы просили вывод PDF, но просто для полноты, если вместо этого вы используете tufte::tufte_html
для вывода HTML, будет получен эквивалентный результатиспользуя
<span class="marginnote">
Here is a margin figure with inline code that *does* work: 2+3=`r 2+3`
</span>