Come posso inserire un riepilogo esecutivo prima del sommario utilizzando il bookdown?
Ho un bookdown
progetto con una consuetudine template.tex
e una consuetudine my-format.cls
. Posso fare cose come le seguenti nel mio template.tex
:
$if(abstract)$
\begin{abstract}
$abstract$
\end{abstract}
$endif$
\tableofcontents
\begin{body}
...
e ottieni l'abstract per prendere la mia formattazione personalizzata. Questo funziona in parte perché il contenuto dell'abstract è solo un paragrafo di testo, che può essere inserito nella parte iniziale di YAML.
Tuttavia, è possibile includere un riepilogo esecutivo prima del sommario ?
So di poter usare (nel mio index.Rmd
)
# Executive Summary {-}
a summary here
# Introduction
this is the first numbered section
Ma in questo caso, anche se l'intestazione della sezione "Riepilogo esecutivo" non è numerata, viene visualizzata dopo il sommario. È possibile modificare il template.tex
tale che utilizzando qualcosa come:
$if(abstract)$
\begin{abstract}
$abstract$
\end{abstract}
$endif$
$if(executive_summary)$
\begin{executivesummary}
% insert summary content here
\end{executivesummary}
$endif$
\tableofcontents
\begin{body}
...
Posso estrarre il contenuto (comprese figure / tabelle / ecc.) Da una sezione di riepilogo esecutivo non numerata (anche se deve provenire da un .Rmd
file diverso ) e assegnarlo a qualche variabile (pandoc) che potrebbe fare riferimento al posto di % If I insert summary content here
sopra? Avrei anche bisogno che lo stesso contenuto fosse rimosso dalla $body$
variabile assegnata di default (pandoc) .
Risposte
Grazie @tarleb! Sospetto di poter ottenere ciò che voglio tramite un filtro Lua, ma penso di aver trovato un modo più semplice sulla falsariga della tua rispostahttps://stackoverflow.com/a/53885034/1785752
Nello index.Rmd
YAML ho aggiunto
executivesummary: |
```{r, echo=FALSE, results='asis'}
res <- knitr::knit_child(quiet = TRUE, 'executive-summary.Rmd')
cat(res, sep = '\n')
```
Tuttavia, questo richiede alcune cose:
- Che l'ambiente "ombreggiato" è definito nel preambolo di
template.tex
$if(highlighting-macros)$
$highlighting-macros$
$endif$
- Che
executive-summary.Rmd
sia definito e non abbia YAML e intestazione di livello 1 (l'intestazione "Riepilogo esecutivo" proviene dal file modello / classe)
È interessante notare che potrei semplicemente inserire il contenuto nella executivesummary
sezione YAML (cioè saltare il rendering del documento figlio), ma le opzioni di blocchi di codice che includono stringhe a volte vengono analizzate come chiavi YAML in questo caso, il che causa il fallimento del rendering. Inoltre, i blocchi di codice rientrati di 2 spazi non ricevono alcun aiuto IDE per il controllo della sintassi o il completamento automatico.