yaml - example - pandoc package
¿Qué puedo controlar con las opciones de encabezado YAML en pandoc? (3)
En realidad, todo está contenido en el MANUAL de Pandoc. Específicamente:
Las plantillas pueden contener variables.
Por ejemplo, en su template HTML, podría escribir:
<title>$title$</title>
Estas variables de plantilla se pueden configurar con la opción --variable KEY[=VAL]
.
Sin embargo, también se configuran a partir de los metadatos del documento, que a su vez se pueden configurar mediante:
- La
--metadata KEY[=VAL]
, - un bloque de metadatos YAML , o
- La opción
--metadata-file
.
Los metadatos se tomarán de los campos del objeto YAML y se agregarán a los metadatos de cualquier documento existente. Los metadatos pueden contener listas y objetos (anidados arbitrariamente), pero todos los escalares de cadena se interpretarán como markdown. [...]
Para responder a su pregunta: la plantilla determina qué campos en el bloque de metadatos de YAML tienen un efecto. Para ver, por ejemplo, la plantilla de látex, use:
$ pandoc -D latex
Para ver algunas variables que se configuran automáticamente por pandoc, consulte el Manual . Finalmente, otros comportamientos de pandoc (como las extensiones de reducción, etc.) solo se pueden configurar como opciones de línea de comandos (excepto cuando se usa un script de envoltorio ).
Solo por casualidad vi un documento de ejemplo usando la línea toc: true
en sus opciones de encabezado YAML en un archivo Markdown para ser procesado por Pandoc. Y los documentos de Pandoc no mencionaron esta opción para controlar la tabla de contenido utilizando el encabezado YAML. Además, veo líneas un tanto arbitrarias en documentos de ejemplo en el mismo sitio readme de Pandoc.
Pregunta principal:
- ¿Qué opciones de Pandoc están disponibles usando el encabezado YAML?
Meta-pregunta:
- ¿Qué determina las opciones disponibles de Pandoc que están disponibles para establecer usando el encabezado YAML?
Nota: mi flujo de trabajo es usar archivos de Markdown ( .md
) y procesarlos a través de Pandoc para obtener archivos PDF. Se ha organizado jerárquicamente la escritura manuscrita con matemáticas. Como:
pandoc --standalone --smart /
--from=markdown+yaml_metadata_block /
--filter pandoc-citeproc /
my_markdown_file.md /
-o my_pdf_file.pdf
Es una lista bastante larga que puede examinar ejecutando man pandoc
en la línea de comandos y navegando a la sección "Variables set by pandoc" en "TEMPLATES".
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 utilizará, puede buscar las 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 puedes ver tiene title-prefix
y pagetitle
.
Puede consultar la documentación, pero la mejor solución es buscar el código fuente de la versión que está utilizando.