Bookdown kullanarak TOC'nin önüne nasıl yönetici özeti koyabilirim?

Jan 15 2021

bookdownGelenek template.texve görenek olan bir projem var my-format.cls. Aşağıdaki gibi şeyler yapabilirim template.tex:

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

\tableofcontents

\begin{body}
...

ve özel biçimlendirmemi almak için özeti alın. Bu kısmen işe yarıyor çünkü özetin içeriği YAML ön maddesine yerleştirilebilen metnin sadece bir paragrafı.

Bununla birlikte, içindekiler tablosunun önüne bir yönetici özeti eklemek mümkün müdür ?

Kullanabileceğimi biliyorum (benimde index.Rmd)


# Executive Summary {-}

a summary here

# Introduction

this is the first numbered section

Ancak bu durumda "Yönetici Özeti" bölüm başlığı numaralandırılmamış olsa bile, TOC'den sonra görünür. Aşağıdaki template.texgibi bir şey kullanarak değiştirmek mümkün mü :

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

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

\tableofcontents

\begin{body}
...

Numaralandırılmamış bir yönetici özeti bölümünden içeriği (şekiller / tablolar / vb. .RmdDahil) ayırabilirim ( farklı bir dosyadan gelmesi gerekse bile ) ve % If I insert summary content hereyukarıdakinin yerine referans verebilecek bir (pandoc) değişkenine atayabilir miyim ? Aynı içeriğin varsayılan atanmış (pandoc) değişkenden kaldırılmasına da ihtiyacım olacak $body$.

Yanıtlar

2 MattPollock Jan 15 2021 at 23:32

Teşekkürler @tarleb! İstediğimi bir Lua filtresiyle alabileceğimi sanıyorum, ancak sanırım cevabınızın çizgisinde daha kolay bir yol buldumhttps://stackoverflow.com/a/53885034/1785752

In index.RmdYAML I eklendi

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

Bu, birkaç şey gerektirir:

  • "Gölgeli" ortamın önsözünde tanımlandığını template.tex
$if(highlighting-macros)$
$highlighting-macros$
$endif$
  • Yani executive-summary.Rmdtanımlanmış ve hiçbir YAML ve hiçbir seviye 1 header ( "Yönetici Özeti" başlığı şablonu / sınıf dosyasından gelir) sahiptir

İlginçtir, ben olabilir sadece içerik koymak executivesummaryYAML bölümünde (yani çocuk belge oluşturmayı atlayın), fakat bazen render başarısız olmasına neden olan bu durumda, içinde YAML tuşları olarak çözümlenen olsun dizeleri şunlardır kod yığın seçenekleri. Ayrıca, 2 boşluklu girintili kod parçaları, sözdizimi denetimi veya otomatik tamamlama için IDE yardımı almaz.