Bagaimana saya bisa meletakkan ringkasan eksekutif sebelum TOC menggunakan bookdown?
Saya punya bookdown
proyek dengan custom template.tex
dan custom my-format.cls
. Saya dapat melakukan hal-hal seperti berikut ini di template.tex
:
$if(abstract)$
\begin{abstract}
$abstract$
\end{abstract}
$endif$
\tableofcontents
\begin{body}
...
dan dapatkan abstrak untuk mengambil pemformatan kustom saya. Ini berfungsi sebagian karena konten abstrak hanyalah satu paragraf teks, yang dapat ditempatkan di materi depan YAML.
Namun, apakah mungkin untuk memasukkan ringkasan eksekutif sebelum daftar isi ?
Saya tahu saya bisa menggunakan (dalam saya index.Rmd
)
# Executive Summary {-}
a summary here
# Introduction
this is the first numbered section
Namun dalam kasus tersebut meskipun header bagian "Ringkasan Eksekutif" tidak diberi nomor, ia muncul setelah TOC. Apakah mungkin untuk memodifikasi template.tex
sedemikian rupa menggunakan sesuatu seperti:
$if(abstract)$
\begin{abstract}
$abstract$
\end{abstract}
$endif$
$if(executive_summary)$
\begin{executivesummary}
% insert summary content here
\end{executivesummary}
$endif$
\tableofcontents
\begin{body}
...
Saya dapat mengupas konten (termasuk gambar / tabel / dll.) Dari bagian ringkasan eksekutif yang tidak dinomori (bahkan jika harus berasal dari .Rmd
file yang berbeda ) dan menetapkannya ke beberapa variabel (pandoc) yang dapat menjadi referensi sebagai pengganti di % If I insert summary content here
atas? Saya juga ingin konten yang sama ini dihapus dari $body$
variabel default yang ditetapkan (pandoc) .
Jawaban
Terima kasih @tarleb! Saya curiga saya bisa mendapatkan apa yang saya inginkan melalui filter Lua, tetapi saya rasa saya menemukan cara yang lebih mudah di sepanjang garis jawaban Andahttps://stackoverflow.com/a/53885034/1785752
Di index.Rmd
YAML saya menambahkan
executivesummary: |
```{r, echo=FALSE, results='asis'}
res <- knitr::knit_child(quiet = TRUE, 'executive-summary.Rmd')
cat(res, sep = '\n')
```
Ini membutuhkan beberapa hal:
- Bahwa lingkungan "Berbayang" didefinisikan dalam pembukaan
template.tex
$if(highlighting-macros)$
$highlighting-macros$
$endif$
- Itu
executive-summary.Rmd
sudah ditentukan, dan tidak memiliki YAML dan tidak ada header tingkat 1 (judul "Ringkasan Eksekutif" berasal dari file template / kelas)
Menariknya, saya bisa saja meletakkan konten di bagian executivesummary
YAML (yaitu, melewatkan rendering dokumen anak), tetapi opsi potongan kode yang menyertakan string terkadang diurai sebagai kunci YAML dalam kasus ini, yang menyebabkan rendering gagal. Selain itu, potongan kode berlekuk 2 ruang tidak mendapatkan bantuan IDE untuk pemeriksaan sintaks atau pelengkapan otomatis.