online example yaml pandoc

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:

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.