1
我正在修补bookdown
并生成html和pdf输出。格式化pdf输出块的登记
对于html输出呈现的R
输入和输出被放置在具有灰色背景的块中。对于pdf输出,输入块突出显示,但输出不是。例如,下面的源代码
Blah blah blah
```{r, message=FALSE}
library(mosaic) # Load mosiac-pakken
tally(~ Smoke, data=fev) # Optæl Smoke
```
Blah blah blah
结果在此特输出:
\begin{Shaded}
\begin{Highlighting}[]
\KeywordTok{library}\NormalTok{(mosaic) }\CommentTok{# Load mosiac-pakken}
\KeywordTok{tally}\NormalTok{(}\OperatorTok{~}\StringTok{ }\NormalTok{Smoke, }\DataTypeTok{data=}\NormalTok{fev) }\CommentTok{# Optæl Smoke}
\end{Highlighting}
\end{Shaded}
\begin{verbatim}
Smoke
0 1
589 65
\end{verbatim}
输入被包裹在Shaded
和Highlighting
可在TEX文件的前序部分进行修改。然而,输出只包含在一个标准的verbatim
环境中,这会在文件中重新定义问题(因为重新定义会使其他部分混乱)。我如何设置我的配置以将输出封装在可以重新定义的环境中?或者可能只是保持输入和输出包装在同一个环境中?
我_output.yml
文件看起来像这样(这或多或少从一汇复制)
bookdown::pdf_book:
highlight: zenburn
includes:
in_header: latex/preamble.tex
before_body: latex/before_body.tex
after_body: latex/after_body.tex
keep_tex: yes
dev: "cairo_pdf"
latex_engine: xelatex
citation_package: natbib
template: null
pandoc_args: --chapters
toc_depth: 3
toc_unnumbered: no
toc_appendix: yes
quote_footer: ["\\VA{", "}{}"]
如何更改代码以添加一个包装或者只是重新定义输出块的格式?
这不会取代*所有*逐字环境吗?我只想替换输出块,而不是其他实例的逐字环境。例如,原始文本可能被包含在'''中,我不想使用相同的环境(尽管可以通过创建一个自定义块来解决这个问题) – ekstroem
你是对的。那么我没有更好的解决方案。我们面临的挑战是,无法为Pandoc Markdown中的特定围栏代码块指定特定的LaTeX环境(否则,您可以修改knitr的输出钩子,并使用不同类型的围栏代码块来从R块中输出文本)。 –