Solución:
Casi todo lo que se establece en los metadatos YAML solo tiene un efecto a través de la plantilla pandoc en uso.
Las plantillas de Pandoc pueden contener variables. Por ejemplo, en su plantilla HTML, podría escribir:
<title>$title$</title>
Estas variables de plantilla se pueden configurar con el --variable KEY[=VAL]
opción.
Sin embargo, también se establecen a partir de los metadatos del documento, que a su vez se pueden configurar mediante:
- los
--metadata KEY[=VAL]
opción, - un bloque de metadatos YAML, o
- los
--metadata-file
opción.
los --variable
options inserta cadenas textualmente en la plantilla, mientras que --metadata
escapa de las cuerdas. Cadenas en metadatos YAML (también cuando se usa --metadata-file
) se interpretan como rebajas, que puede eludir mediante el uso de los atributos genéricos en bruto de pandoc markdown. Por ejemplo, para salida HTML:
`<script>alert()</script>`{=html}
Consulte esta tabla para ver un esquema:
| | --variable | --metadata | YAML metadata and --metadata-file |
|------------------------|-------------------|-------------------|-----------------------------------|
| values can be… | strings and bools | strings and bools | also YAML objects and lists |
| strings are… | inserted verbatim | escaped | interpreted as markdown |
| accessible by filters: | no | yes | yes |
Para responder a su pregunta: la plantilla determina qué campos del bloque de metadatos YAML tienen efecto. Para ver, por ejemplo, la plantilla de látex predeterminada, use:
$ pandoc -D latex
Para ver algunas variables que pandoc configura automáticamente, consulte el Manual. Finalmente, otros comportamientos de pandoc (como extensiones de rebajas, etc.) solo se pueden configurar como opciones de línea de comandos (excepto cuando se usa un script de envoltura).
Es una lista bastante larga que puede navegar ejecutando man pandoc
en la línea de comando y navegando a la sección “Variables establecidas por pandoc” en “PLANTILLAS”.
La parte superior de la lista incluye lo siguiente, entre muchas otras opciones:
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
”
Puede ver la documentación de pandoc para obtener una pista: http://pandoc.org/getting-started.html
Pero para saber exactamente dónde se usará, puede buscar fuentes de plantillas de pandoc: https://github.com/jgm/pandoc-templates
Por ejemplo, para la salida html5, el archivo es: https://github.com/jgm/pandoc-templates/blob/master/default.html5
Aquí hay una sección del código:
<title>$if(title-prefix)$$title-prefix$ - $endif$$pagetitle$</title>
Como puede ver, tiene title-prefix
y pagetitle
.
Puedes buscar la documentación, pero la mejor solución es buscar el código fuente de la versión que estás usando.