PDF를 만드는 동안 마크 다운 페이지 나누기


84

doxygen (1.8.6)을 사용하여 마크 다운 텍스트 파일의 pdf를 만들고 있습니다. 이제 마크 다운 파일의 특정 단계에서 페이지 나누기를 원하는데이 링크를 사용했습니다 .

주어진 링크에서 그들은 줄 바꿈에 '>'를 사용한다고 언급했습니다. 그러나 그들은 페이지 나누기에 대해 언급하지 않았습니다. 예, 페이지 나누기에도 '>'를 사용할 수 있지만 마크 다운 텍스트 파일에이 기호를 5 번 이상 써야하므로 마크 다운 파일이 이상하게 보입니다. 마크 다운 파일에서 페이지 나누기를 얻는 다른 방법이 있습니까?


1
다음과 같은 코드를 사용하셨습니까? 내 메인 페이지 {#mainpage} ============ 이것은 첫 페이지의 텍스트입니다. \ latexonly \ newpage \ endlatexonly 이것은 두 번째 페이지의 텍스트입니다.
albert 2014 년

@albert 찾을 수없는 않았다 어떤 mainpage 키워드 라텍스 폴더
user2760375

1
내가 준 예제는 2 페이지로 구성된 메인 페이지를 생성합니다. 중요한 부분은 \ latexonly .... \ endlatexonly입니다. 내 예제를 파일 (예 : aa.md)에 넣으면 라텍스 출력을 생성 할 때 2 페이지를 볼 수 있습니다.
albert 2014 년

@albert 그래 내가 가진 지금은 이전에 내가 텍스트 파일 부탁해 I에 latexonly 명령을 사용하지 않았다 그것을 감사 있어요
user2760375을

답변:


60

나는 똑같은 것을 만났고 그것을 삽입하여 해결합니다.

\ pagebreak

Markdown 명령이 아니라 실제로 LaTeX 명령입니다.


1
이것은 pandoc에서 잘 작동합니다. html 렌더링을 방해하지 않고 라텍스 pdf에 페이지 나누기를 삽입합니다.
joelostblom

2
thx, 나는 그것을 찾고 있었다 :) R의 니트 도구에서도 작동합니다.
Tetlanesh

3
Markdown은 기본적으로 Latex를 지원하지 않지만 기본적으로 HTML 및 CSS를 지원합니다. 이것이 아래 @tomodian의 답변이 더 많은 투표를하는 이유입니다. 이 솔루션은 일부 경우 (특히 Tetlanesh가 언급 한대로 R Markdown에서) 작동하지만 전부는 아닙니다. 아래에서 tomodian의 대답을 선택하십시오 ... 더 이식성이 있습니다.
Mike Williamson

OP 질문은 일반적인 마크 다운에 관한 것이기 때문에이 답변은 대부분의 사람들에게 유용하지 않거나 유용하지 않을 것이라고 생각합니다. @tomodian의 대답은 최고의 IMO입니다.
Briford Wylie

200

Markdown은 일반 HTML 및 CSS를 허용하므로 페이지 나누기를 원하는 곳에이 줄을 추가하면됩니다.

<div style="page-break-after: always;"></div>

Markdown 편집기에서 PDF를 올바르게 내보내는 데 문제가있는 경우 먼저 HTML로 내보내기를 시도한 다음 브라우저에서 열고 PDF로 인쇄하십시오.


5
이것이 정답입니다. 요한은 HTML을 허용하는 이유 스타일 '해킹'의이 종류는 아마 / CSS
CousinCocaine

3
이것이 정답입니다. 그리고 그것은 잘 불 덩어리 마크 다운 대담한와 함께 작동
드미트리 K를

3
이것은 내가 테스트 한 가장 적용 가능하고 널리 지원되는 솔루션이었습니다.
Beytan Kurt

1
page-break-before의 w3schools 항목은 "참고 : 빈 <div> 또는 절대 위치 요소에이 속성을 사용할 수 없습니다."라고 말합니다. 작동하면 사용하겠습니다 (그러나 Jupyter에서는 아쉽게도 사용하지 않음).)
FutureNerd

14

나는 이것이 죽은 질문이라는 것을 알고 있지만 나 외에 다른 사람에게 유용 할 수있는 방법을 찾았습니다.

보이지 않는 요소 안에 \ pagebreak 명령을 사용할 수 있습니다. 이런 식으로 라텍스 및 html과 함께 작동합니다.

<div style="page-break-after: always; visibility: hidden"> 
\pagebreak 
</div>

왜 같은 doxygen이 명령을 사용하지 \htmlonly<div>등을 \latexonly´ with 대신 트릭의 \ pagebrak`.
albert

3
이 트릭은 doxygen 외부에서 휴대가 가능하고 pandoc에서도 사용할 수 있기 때문입니다.
Noè Murr 19-06-20

10

인용구 대 줄 바꿈

>Markdown의 줄 바꿈에는 사용되지 않습니다. 인용구에 사용됩니다. 예를 들어 다음 마크 다운 코드는

> A man provided with paper, pencil, and rubber, and
> subject to strict discipline, is in effect a universal machine.

된다

종이, 연필, 고무를 받고 엄격한 징계를받는 사람은 사실상 보편적 인 기계입니다.

(이것은 Alan Turing인용문입니다 .)

Stack Overflow에 의해 노란색 배경으로 렌더링되는 방법에 유의하십시오. 생성 된 마크 업을 살펴보면 <blockquote>사용중인 태그 를 찾을 수 있습니다.

줄 바꿈은 일반적으로 두 개 이상의 공백으로 줄을 끝내거나 (Markdown 구문) 원시 <br>태그 를 사용하여 삽입 할 수 있습니다 (대부분의 Markdown 프로세서는 인라인 HTML을 허용 함). 예를 들어 ( 공백을 나타내는 데 사용 )이 마크 다운은

123 Fake Street␣␣
Springfield, USA

된다

123 Fake Street
Springfield, 미국

페이지 나누기

원래 사양 Markdown은 HTML 출력용으로 설계되었으므로 (페이지 개념이 없음) 페이지 나누기를 지원하지 않습니다.

Doxygen 은 LaTeX를 사용하여 PDF를 생성합니다 . 인라인 LaTeX¹를 지원하지 않는 것 같지만 중간 .tex파일 을 수정 한 다음 pdflatexPDF를 생성 하는 데 사용할 수 있어야합니다 .

  1. Doxygen을 사용하여 .tex파일 생성
  2. 편집 .tex추가 수동으로 파일을 \newpage사용자가 페이지 나누기를 원하는 목적지
  3. 운영 pdflatex documentation.tex
  4. 조사 documentation.pdf

이 질문 은 위의 3 단계에서 유용한 참고 자료가 될 수 있습니다.

¹Doxygen 은 인라인 LaTeX 공식을 지원 하지만 \newpage텍스트 환경에서 작동하는 것과 같은 임의의 인라인 LaTeX 명령에 대한 언급을 찾을 수 없었습니다 .


Hey 처음에는 .tex 파일 접근 방식을 사용했지만 어쨌든 pdf 생성을 위해 순수한 markdown 접근 방식을 사용하고 싶었지만 \ newpage도 시도했지만 작동하지 않았습니다.
user2760375 2014

1
Markdown은 페이지 나누기에 대한 구문을 포함하지 않으므로 순수한 Markdown 접근 방식은 없습니다. Markdown 확장 프로그램이 많지만 페이지 나누기를 지원하는 확장 프로그램은 없습니다. 인라인 LaTeX지원 하는 Pandoc과 같은 것을 시도해 볼 수 있지만, Pandoc이하지 않는 소스 코드에서 문서 블록을 추출하는 기능으로 Doxygen을 사용하고 있다고 생각합니다. 어쩌면 내가 ... 그것에 대해 틀렸다
크리스

4

이러한 답변은 효과가 있지만 Markdown (MD)의 목표 중 하나를 깨뜨리는 것입니다. 이는 곧은 텍스트 문서로 매우 읽기 쉽고 더 풍부한 프레젠테이션으로 형식을 지정할 수 있다는 것입니다.

텍스트에 HTML / CSS를 포함하기 시작하면 MD의 첫 번째 측면을 잃게됩니다. Word, Libre, HTML / CSS 등을 사용할 수도 있습니다.

나는 MD가 페이지 나누기 시퀀스를 추가하는 것이 좋을 것이라고 생각합니다. 다음과 같 <<<<>>>>거나 형식 지정 연산자와 유사합니다. MD 텍스트에서 사용합니다. PDF 또는 HTML 변환기에서 페이지 나누기를 일으키지는 않지만 이러한 변환기와 일반 텍스트 형식 모두에서 인식 할 수 있습니다.


3

마지막 수단은 HTML 출력을 수동으로 편집하여 원하는대로 PDF로 렌더링하는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.