Jak mogę umieścić podsumowanie wykonawcze przed spisem treści za pomocą bookdown?
Mam bookdown
projekt na zamówienie template.tex
i na zamówienie my-format.cls
. W moim template.tex
:
$if(abstract)$
\begin{abstract}
$abstract$
\end{abstract}
$endif$
\tableofcontents
\begin{body}
...
i pobierz streszczenie, aby wziąć moje niestandardowe formatowanie. Po części działa to dlatego, że treść streszczenia to tylko jeden akapit tekstu, który można umieścić w nagłówku YAML.
Czy jednak możliwe jest umieszczenie streszczenia przed spisem treści ?
Wiem, że mogę użyć (w moim index.Rmd
)
# Executive Summary {-}
a summary here
# Introduction
this is the first numbered section
Ale w takim przypadku, mimo że nagłówek sekcji „Streszczenie” nie jest numerowany, pojawia się po spisie treści. Czy można zmodyfikować template.tex
taki, że używając czegoś takiego jak:
$if(abstract)$
\begin{abstract}
$abstract$
\end{abstract}
$endif$
$if(executive_summary)$
\begin{executivesummary}
% insert summary content here
\end{executivesummary}
$endif$
\tableofcontents
\begin{body}
...
Mogę pobrać zawartość (w tym ryciny / tabele / itp.) Z nienumerowanej sekcji podsumowania wykonawczego (nawet jeśli musi pochodzić z innego .Rmd
pliku) i przypisać ją do jakiejś zmiennej (pandoc), do której można by się odwoływać zamiast % If I insert summary content here
powyższej? Chciałbym również usunąć tę samą zawartość z domyślnej przypisanej $body$
zmiennej (pandoc) .
Odpowiedzi
Dzięki @tarleb! Podejrzewam, że mogłem dostać to, czego chcę, przez filtr Lua, ale myślę, że znalazłem łatwiejszą drogę zgodnie z twoją odpowiedziąhttps://stackoverflow.com/a/53885034/1785752
W index.Rmd
YAML dodałem
executivesummary: |
```{r, echo=FALSE, results='asis'}
res <- knitr::knit_child(quiet = TRUE, 'executive-summary.Rmd')
cat(res, sep = '\n')
```
Wymaga to jednak kilku rzeczy:
- Że „zacienione” środowisko jest zdefiniowane w preambule
template.tex
$if(highlighting-macros)$
$highlighting-macros$
$endif$
- Czy
executive-summary.Rmd
jest zdefiniowany i nie ma YAML ani nagłówka poziomu 1 (nagłówek „Executive Summary” pochodzi z pliku szablonu / klasy)
Co ciekawe, mogłem po prostu umieścić zawartość w executivesummary
sekcji YAML (tj. Pominąć renderowanie dokumentu podrzędnego), ale opcje fragmentów kodu, które zawierają ciągi znaków, czasami są analizowane jako klucze YAML w tym przypadku, co powoduje niepowodzenie renderowania. Ponadto fragmenty kodu z wcięciem o 2 spacje nie otrzymują pomocy IDE przy sprawdzaniu składni lub autouzupełnianiu.