たまたま、Pandocで処理されるMarkdownファイルのYAMLヘッダーオプションでtoc: true
行を使用しているサンプルドキュメントを見ました。 Pandoc docs では、YAMLヘッダーを使用して目次を制御するためのこのオプションについて言及していませんでした。さらに、同じPandocのREADMEサイトのサンプルドキュメントには、いくぶん任意の行があります。
主な質問:
メタ質問:
注:私のワークフローは、Markdownファイル(.md
)を使用し、Pandocを介して処理してPDFファイルを取得します。
pandoc --standalone --smart \
--from=markdown+yaml_metadata_block \
--filter pandoc-citeproc \
my_markdown_file.md \
-o my_pdf_file.pdf
実際、それはすべてPandocの [〜#〜] manual [〜#〜] に含まれています。具体的には:
テンプレートには変数が含まれる場合があります。
たとえば、HTML template の場合、次のように記述できます。
<title>$title$</title>
これらのテンプレート変数は、--variable KEY[=VAL]
オプションで設定できます。
ただし、これらはドキュメントメタデータからも設定され、次のいずれかを使用して設定できます。
--metadata KEY[=VAL]
オプション、--metadata-file
オプション。--variable
オプションは文字列をそのままテンプレートに挿入し、--metadata
オプションは文字列をエスケープします。 YAMLメタデータの文字列(--metadata-file
を使用する場合も)は、マークダウンとして解釈されます。これは、pandoc markdownの generic raw attributes を使用して回避できます。 HTML出力の例:
`<script>alert()</script>`{=html}
これを参照してください --variable
vs --metadata
vs YAMLメタデータの図表 。
あなたの質問に答えるために:テンプレートは、YAMLメタデータブロックのどのフィールドが効果を持つかを決定します。たとえば、ラテックステンプレートを表示するには、次を使用します。
$ pandoc -D latex
Pandocによって自動的に設定されるいくつかの変数を表示するには、 マニュアルを参照 。最後に、pandocのその他の動作(マークダウン拡張機能など)は、コマンドラインオプションとしてのみ設定できます( wrapper script を使用する場合を除く)。
これはかなり長いリストであり、コマンドラインでman pandoc
を実行し、「TEMPLATES」の下の「Panddocによって設定された変数」セクションに移動することで参照できます。
リストの上部には、他の多くのオプションの中で次のものが含まれます。
Variables set by pandoc
Some variables are set automatically by pandoc. These vary somewhat depending on the
output format, but include metadata fields as well as the following:
title, author, date
allow identification of basic aspects of the document. Included in PDF metadata
through LaTeX and ConTeXt. These can be set through a pandoc title block, which
allows for multiple authors, or through a YAML metadata block:
---
author:
- Aristotle
- Peter Abelard
...
subtitle
document subtitle; also used as subject in PDF metadata
abstract
document summary, included in LaTeX, ConTeXt, AsciiDoc, and Word docx
keywords
list of keywords to be included in HTML, PDF, and AsciiDoc metadata; may be
repeated as for author, above
header-includes
contents specified by -H/--include-in-header (may have multiple values)
toc non-null value if --toc/--table-of-contents was specified
toc-title
title of table of contents (works only with EPUB and docx)
include-before
contents specified by -B/--include-before-body (may have multiple values)
include-after
contents specified by -A/--include-after-body (may have multiple values)
body body of document
`` `
ヒントについては、pandocのドキュメントを参照してください。 http://pandoc.org/getting-started.html
しかし、それがどこで使用されるかを正確に知るには、pandocのテンプレートソースを探すことができます: https://github.com/jgm/pandoc-templates
たとえば、html5出力の場合、ファイルは次のとおりです。 https://github.com/jgm/pandoc-templates/blob/master/default.html5
コードのセクションは次のとおりです。
<title>$if(title-prefix)$$title-prefix$ - $endif$$pagetitle$</title>
ご覧のとおり、title-prefix
およびpagetitle
。
ドキュメントを見ることができますが、最善の解決策は、使用しているバージョンのソースコードを探すことです。