[r] pandoc을 사용하여 Markdown에서 PDF로 변환 할 때 여백 크기 설정

RStudio에서 RMarkdown 파일을 만들고 knitr를 사용하여 HTML 및 .md 파일로 파일을 편성했습니다. 다음으로 pandoc을 사용하여 .md 파일을 PDF 파일로 변환했습니다 (.html 파일에서 변환하려고하면 오류가 발생 함). 그러나 생성 된 PDF는 http://johnmacfarlane.net/pandoc/demo/example13.pdf 와 같이 막대한 마진을 갖습니다 . 팬독을 통해 작은 여백을 가진 제품을 만들려면 어떻게해야합니까? pandoc 사용자 안내서를 살펴 보았지만 유용한 것을 찾지 못했습니다.



답변

rmarkdown 및 pandoc의 최신 버전

rmarkdown의 최신 버전에서는 최상위 요소를 통해 YAML 헤더에서 여백 설정을 수행 할 수 있습니다 geometry. geometry태그에 지정한 내용 은 다음 LaTeX 스 니펫을 통해 Pandoc과 함께 제공되는 LaTeX 템플릿으로 파이프됩니다.

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

예를 들어, 너비가 2cm 인 여백을 지정하려면

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

LaTeX와 같이 보다 복잡한 사양을 형상 LaTeX 패키지, 문자열 옵션과 함께 전달하려면 다음을 수행하십시오 .

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

원래 답변

Pandoc이 LaTeX를 통해 PDF로 렌더링 할 때 LaTeX 질문입니다. 링크 한 것은 LaTeX 문서의 기본 여백을 나타냅니다.

형상 , 예를 들어 LaTeX의 패키지는 페이지의 여백을 변경하는 데 사용할 수 있습니다. 그러나 Pandoc에게 변환 된 md 파일에 적용된 LaTeX 헤더에 포함시켜이를 사용하도록 지시하는 방법이 필요합니다.

이 작업을 수행하는 방법은 Pandoc 사용 설명서에 설명되어 있습니다. 특히 --template=FILE명령 행 인수 및 템플리트 섹션을 참조하십시오 . 기본적으로 사용하려는 LaTeX 명령어를 포함하도록 기본 템플릿을 찾아 수정하거나 고유 한 템플릿을 처음부터 시작하여 적절한 위치에 배치하십시오. --data-dir명령 행 인수를 참조하십시오 .


Pandoc의 최신 버전을 사용하는 경우 또 다른 대안은 변수 인수 ( -V KEY[=VAL]또는로 설정)를 사용하는 것 --variable=KEY[:VAL]입니다. geometry패키지가 2012 년 5 월 기본 LaTeX의 템플릿에 추가합니다 ( 이 토론을 ). 따라서 페이지 여백을 변경하려면 다음을 사용할 수 있습니다.

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

여러 변수 값도 지정할 수 있습니다. 예를 들어, 0.5 인치 여백을 가진 4 x 6 인치 pdf를 만들려면 다음을 사용할 수 있습니다.

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


답변

보다 최신 버전의 pandoc에서는 YAML 헤더 에서 여러 매개 변수를 설정할 수 있습니다 . 여기에서 지오메트리를 설정할 수 있습니다.

---
title:  Pandoc nice margins example
author: naught101
geometry: margin=3cm
---

body text of document

pandoc가 pdf로 변환 할 때 올바른 여백이 있어야합니다.


답변