tutorial the sheet results guide false definitive cheat r latex markdown knitr pandoc

the - Establezca el tamaño de margen al convertir de Markdown a PDF con pandoc



r markdown the definitive guide pdf (2)

Versiones recientes de rmarkdown y pandoc

En versiones más recientes de rmarkdown , la configuración de los márgenes se puede hacer en el encabezado YAML a través de la geometry elemento de nivel superior. Lo que especifique en la etiqueta de geometry se canalizará a la plantilla de LaTeX que se envía con Pandoc a través del siguiente fragmento de LaTeX.

$if(geometry)$ /usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry} $endif$

Por ejemplo, para especificar márgenes de 2 cm de ancho, uno incluiría

--- title: "Habits" author: John Doe date: March 22, 2005 geometry: margin=2cm output: pdf_document ---

Para que las especificaciones más complejas pasen al paquete de LaTeX de geometría , combine las opciones como lo haría con LaTeX:

--- title: "Habits" author: John Doe date: March 22, 2005 geometry: "left=3cm,right=3cm,top=2cm,bottom=2cm" output: pdf_document ---

Respuesta original

Esta es una pregunta de LaTeX, ya que Pandoc está renderizando a PDF a través de LaTeX, con lo que se vincula representa los márgenes predeterminados en un documento LaTeX.

El paquete LaTeX de geometría , por ejemplo, se puede usar para alterar los márgenes de la página. Sin embargo, necesitará una forma de decirle a Pandoc que lo use incluyéndolo en el encabezado LaTeX aplicado al archivo md convertido.

Cómo se hace esto está documentado en la Guía del usuario de Pandoc . Ver en particular el argumento de línea de comando --template=FILE y la sección de Plantillas . Básicamente, encuentre y modifique la plantilla predeterminada para incluir las instrucciones LaTeX que desea usar o inicie su propia plantilla desde cero y colóquela en la ubicación adecuada; ver el argumento de línea de comando --data-dir .

Otra alternativa si está utilizando una versión reciente de Pandoc es usar el argumento variable (establecido con -V KEY[=VAL] o --variable=KEY[:VAL] ). El paquete de geometry se agregó a la plantilla LaTeX predeterminada en mayo de 2012 (consulte esta discusión ). Como tal, si desea cambiar los márgenes de página, puede usar:

pandoc -V geometry:margin=1in -o output.pdf input.md

También puede especificar múltiples valores de variable. Por ejemplo, si quiere crear un pdf de 4 por 6 pulgadas con márgenes de media pulgada, puede usar:

pandoc -V geometry:paperwidth=4in -V geometry:paperheight=6in -V geometry:margin=.5in -o output.pdf input.md

Creé un archivo de RMarkdown en RStudio y logré tejerlo con knitr en un archivo HTML y .md. A continuación, utilicé pandoc para convertir el archivo .md en un archivo PDF (obtengo un error si intento convertir desde el archivo .html). Sin embargo, el PDF que se produce tiene márgenes masivos (como este http://johnmacfarlane.net/pandoc/demo/example13.pdf ). ¿Cómo puedo obtener pandoc para producir algo con márgenes más pequeños? Revisé la guía de usuario de pandoc, pero no encontré nada útil.


En versiones más recientes de pandoc, puede establecer una serie de parámetros en el encabezado YAML . Puede establecer la geometría aquí, por ejemplo:

--- title: Pandoc nice margins example author: naught101 geometry: margin=3cm --- body text of document

Cuando pandoc lo convierte a un pdf, debe tener márgenes correctos.