ブックダウンを使用して、TOCの前にエグゼクティブサマリーを配置するにはどうすればよいですか?
私が持っているbookdown
カスタムでプロジェクトtemplate.tex
とカスタムをmy-format.cls
。私は私の中で次のようなことをすることができますtemplate.tex
:
$if(abstract)$
\begin{abstract}
$abstract$
\end{abstract}
$endif$
\tableofcontents
\begin{body}
...
アブストラクトを取得して、カスタムフォーマットを取得します。これは、要約の内容がテキストの1段落にすぎず、YAMLフロントマターに配置できるため、部分的に機能します。
ただし、目次の前にエグゼクティブサマリーを含めることはできますか?
私は(私の中でindex.Rmd
)使用できることを知っています
# Executive Summary {-}
a summary here
# Introduction
this is the first numbered section
ただし、その場合、「エグゼクティブサマリー」セクションのヘッダーには番号が付けられていなくても、目次の後に表示されます。template.tex
次のようなものを使用するように変更することは可能ですか?
$if(abstract)$
\begin{abstract}
$abstract$
\end{abstract}
$endif$
$if(executive_summary)$
\begin{executivesummary}
% insert summary content here
\end{executivesummary}
$endif$
\tableofcontents
\begin{body}
...
番号のないエグゼクティブサマリーセクションからコンテンツ(図/表などを含む.Rmd
)をはがし(別のファイルから取得する必要がある場合でも)、% If I insert summary content here
上記の代わりに参照できる(pandoc)変数に割り当てることができますか?また、デフォルトで割り当てられた(pandoc)変数からこれと同じコンテンツを削除する必要があり$body$
ます。
回答
ありがとう@tarleb!Luaフィルターを介して欲しいものを手に入れることができたと思いますが、あなたの答えに沿ってもっと簡単な方法を見つけたと思いますhttps://stackoverflow.com/a/53885034/1785752
でindex.Rmd
YAML I追加
executivesummary: |
```{r, echo=FALSE, results='asis'}
res <- knitr::knit_child(quiet = TRUE, 'executive-summary.Rmd')
cat(res, sep = '\n')
```
ただし、これにはいくつかのことが必要です。
- 「影付き」環境がの前文で定義されていること
template.tex
$if(highlighting-macros)$
$highlighting-macros$
$endif$
- これ
executive-summary.Rmd
(「エグゼクティブ・サマリー」の見出しは、テンプレート/クラスファイルから来ている)定義されており、何のYAMLなしレベル1のヘッダを持っていません
興味深いことに、私は可能性だけでコンテンツを入れexecutivesummary
YAMLセクション(すなわち、子文書のレンダリングをスキップ)、時にはレンダリングが失敗するこの場合、でYAMLキーとして解析されます文字列が含まれるコードチャンクのオプション。また、2スペースインデントされたコードチャンクは、構文チェックやオートコンプリートのためのIDEヘルプを取得しません。