Como posso colocar um sumário executivo antes do TOC usando bookdown?
Tenho um bookdown
projeto com um customizado template.tex
e customizado my-format.cls
. Posso fazer coisas como o seguinte em meu template.tex
:
$if(abstract)$
\begin{abstract}
$abstract$
\end{abstract}
$endif$
\tableofcontents
\begin{body}
...
e obter o resumo para minha formatação personalizada. Isso funciona em parte porque o conteúdo do resumo é apenas um parágrafo de texto, que pode ser colocado na capa do YAML.
No entanto, é possível incluir um sumário executivo antes do índice ?
Eu sei que posso usar (no meu index.Rmd
)
# Executive Summary {-}
a summary here
# Introduction
this is the first numbered section
Mas, nesse caso, embora o cabeçalho da seção "Resumo executivo" não seja numerado, ele aparece após o sumário. É possível modificar o de template.tex
tal forma que usando algo como:
$if(abstract)$
\begin{abstract}
$abstract$
\end{abstract}
$endif$
$if(executive_summary)$
\begin{executivesummary}
% insert summary content here
\end{executivesummary}
$endif$
\tableofcontents
\begin{body}
...
Posso descolar o conteúdo (incluindo figuras / tabelas / etc.) De uma seção de resumo executivo não numerada (mesmo que tenha que vir de um .Rmd
arquivo diferente ) e atribuí-lo a alguma variável (pandoc) que poderia fazer referência no lugar do % If I insert summary content here
acima? Eu também precisaria desse mesmo conteúdo removido da $body$
variável padrão atribuída (pandoc) .
Respostas
Obrigado @tarleb! Suspeito que poderia conseguir o que desejo por meio de um filtro Lua, mas acho que encontrei uma maneira mais fácil ao longo das linhas de sua respostahttps://stackoverflow.com/a/53885034/1785752
No index.Rmd
YAML eu adicionei
executivesummary: |
```{r, echo=FALSE, results='asis'}
res <- knitr::knit_child(quiet = TRUE, 'executive-summary.Rmd')
cat(res, sep = '\n')
```
No entanto, isso requer algumas coisas:
- Que o ambiente "sombreado" é definido no preâmbulo de
template.tex
$if(highlighting-macros)$
$highlighting-macros$
$endif$
- Que o
executive-summary.Rmd
esteja definido e não tenha YAML e nenhum cabeçalho de nível 1 (o título "Sumário Executivo" vem do arquivo de modelo / classe)
Curiosamente, eu poderia apenas colocar conteúdo na executivesummary
seção YAML (ou seja, pular a renderização do documento filho), mas as opções de fragmentos de código que incluem strings às vezes são analisadas como chaves YAML neste caso, o que faz com que a renderização falhe. Além disso, pedaços de código recuado de 2 espaços não recebem ajuda do IDE para verificação de sintaxe ou preenchimento automático.