gpt4 book ai didi

r-markdown - 如何使用 bookdown 将执行摘要放在 TOC 之前?

转载 作者:行者123 更新时间:2023-12-04 15:08:00 26 4
gpt4 key购买 nike

我有一个包含自定义 template.tex 和自定义 my-format.clsbookdown 项目。我可以在我的 template.tex 中执行如下操作:

$if(abstract)$
\begin{abstract}
$abstract$
\end{abstract}
$endif$

\tableofcontents

\begin{body}
...

并获取摘要以采用我的自定义格式。之所以可行,部分原因是摘要的内容只是一段文本,可以放在 YAML 前端。

但是,是否可以在目录之前包含执行摘要?

我知道我可以使用(在我的 index.Rmd 中)


# Executive Summary {-}

a summary here

# Introduction

this is the first numbered section

但在那种情况下,即使“执行摘要”部分标题没有编号,它也会出现在目录之后。是否可以修改 template.tex 以便使用类似的东西:

$if(abstract)$
\begin{abstract}
$abstract$
\end{abstract}
$endif$

$if(executive_summary)$
\begin{executivesummary}
% insert summary content here
\end{executivesummary}
$endif$

\tableofcontents

\begin{body}
...

我可以从未编号的执行摘要部分(即使它必须来自不同的 .Rmd 文件)剥离内容(包括图形/表格/等)并将其分配给一些(pandoc) 变量可以代替 % I insert summary content here above?我还需要从默认分配的 (pandoc) $body$ 变量中删除相同的内容。

最佳答案

谢谢@tarleb!我怀疑我可以通过 Lua 过滤器得到我想要的东西,但我想我找到了一种更简单的方法,符合您的回答 https://stackoverflow.com/a/53885034/1785752

在我添加的index.Rmd YAML中

executivesummary: |

```{r, echo=FALSE, results='asis'}
res <- knitr::knit_child(quiet = TRUE, 'executive-summary.Rmd')
cat(res, sep = '\n')
```

不过这需要一些东西:

  • “阴影”环境在 template.tex 的序言中定义
$if(highlighting-macros)$
$highlighting-macros$
$endif$
  • executive-summary.Rmd 已定义,并且没有 YAML 和 1 级标题(“Executive Summary”标题来自模板/类文件)

有趣的是,我可以只将内容放在 executivesummary YAML 部分(即跳过子文档呈现),但包含字符串的代码块选项有时会被解析为在这种情况下,YAML key 会导致呈现失败。此外,2 个空格缩进的代码块在语法检查或自动完成方面没有 IDE 帮助。

关于r-markdown - 如何使用 bookdown 将执行摘要放在 TOC 之前?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65727380/

26 4 0