PDF作成中のマークダウンの改ページ


84

doxygen(1.8.6)を使用してマークダウンテキストファイルのPDFを作成しています。マークダウンファイルの特定の段階で改ページを取得したいので、このリンクを使用しました。

与えられたリンクで、彼らは改行に「>」を使用することに言及しました。しかし、彼らは改ページについて言及していません。はい、改ページにも「>」を使用できますが、この記号をマークダウンテキストファイルに5回以上書き込む必要があるため、マークダウンファイルの外観がおかしくなります。マークダウンファイルで改ページを取得する他の方法はありますか?


1
次のようなコードを試してみましたか:マイメインページ{#mainpage} ============これは最初のページのテキストです\ latexonly \ newpage \ endlatexonlyこれは2番目のページのテキストです
アルバート2014年

@albertラテックスフォルダに
メインページの

1
私が示した例では、2ページで構成されるメインページが生成されます。あなたにとって重要な部分は\ latexonly .... \ endlatexonlyでしょう。私の例をファイル(例:aa.md)に配置すると、ラテックス出力を生成したときに2ページが表示されます。
アルバート2014年

@albertええ今私は以前にそれを手に入れました私はテキストファイルでlatexonlyコマンドを使用しませんでした。今私はそれを手に入れました
user2760375 2014年

回答:


60

私は同じことに遭遇し、挿入することによってそれを解決します

\ pagebreak

これは実際には、Markdownコマンドではなく、LaTeXコマンドです。


1
これはpandocでうまく機能します。htmlレンダリングに干渉することなく、ラテックスpdfに改ページを挿入します。
joelostblom 2015

2
thx、私はそれを探していました:)それはRのニットツールでも機能します。
Tetlanesh 2015

3
MarkdownはLaTeXをネイティブにサポートしていませんが、HTMLとCSSをネイティブにサポートしています。これが、以下の@tomodianの回答がより多くの賛成票を持っている理由です。このソリューションは、場合によっては機能しますが(Tetlaneshが言及しているようにR Markdownで特に機能します)、すべてではありません。以下のtomodianの答えを選択してください...それはよりポータブルです。
マイクウィリアムソン

OPの質問は一般的な値下げに関するものなので、この回答はほとんどの人にとって機能しない/役に立たないように感じます。@tomodianの答えは最高のIMOです。
ブリフォードワイリー2018

200

MarkdownはプレーンなHTMLとCSSを受け入れるので、改ページを強制したい場所にこの行を追加するだけです。

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

MarkdownエディターでPDFを正しくエクスポートできない場合は、最初にHTMLとしてエクスポートしてから、ブラウザーで開いてPDFとして印刷してください。


5
これが正解です。この種のスタイルの「ハック」は、おそらくジョンがHTML / CSSを受け入れた理由です
CousinCocaine 2017

3
これが正解です。そしてそれは大胆な火の玉Markdownでうまく機能します
Dimitry K 2017

3
これは、私がテストした中で最も適用可能で広くサポートされているソリューションです。
BeytanKurt19年

1
page-break-beforeのw3schoolsエントリには、「注:このプロパティを空の<div>または絶対位置の要素で使用することはできません」と記載されています。それが機能する場合は使用します(ただし、残念ながらJupyterでは使用しません)
FutureNerd

14

これは死んだ質問だと知っていますが、私以外にも役立つと思う方法を見つけました。

非表示の要素内でコマンド\ pagebreakを使用できます。このようにして、latexおよびhtmlで機能します。

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

なぜ同じようdoxygenのコマンドを使用していない\htmlonly<div>などと\latexonly´ with 代わりにこのトリックのため、\ pagebrak`。
アルバート

3
このトリックはdoxygenの外部で移植可能であり、pandocでも使用できるためです。
NOE MURR

10

ブロッククォートと改行

>Markdownの改行には使用されません。ブロッククォートに使用されます。たとえば、次のマークダウンコード

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

になります

紙、鉛筆、ゴムを備え、厳格な規律の対象となる男性は、事実上万能機械です。

(これはAlan Turingから引用です。)

StackOverflowによって黄色の背景でどのようにレンダリングされるかに注意してください。生成されたマークアップを調べると、<blockquote>使用されているタグが見つかります。

改行は通常、2つ以上のスペースで行を終了するか(Markdown構文)、またはraw<br>タグを使用して挿入できます(ほとんどのMarkdownプロセッサはインラインHTMLを許可します)。たとえば(スペースを表すために使用)、このMarkdown

123 Fake Street␣␣
Springfield, USA

になります

123 Fake Street
Springfield、USA

改ページ

元の仕様のMarkdownはHTML出力(ページの概念がない)用に設計されているため、改ページはサポートされていません。

DoxygenはLaTeXを使用してPDFを生成します。インラインLaTeX¹をサポートしていないようですが、中間.texファイルを変更してから、を使用pdflatexしてPDFを生成できるはずです。

  1. Doxygenを使用して.texファイルを生成します
  2. .texファイルを手動で編集し、\newpage改ページが必要な場所に追加します
  3. 実行 pdflatex documentation.tex
  4. 診る documentation.pdf

この質問は、上記のステップ3の参考になるかもしれません。

¹DoxygenはインラインLaTeX数式をサポート\newpageしていますが、テキスト環境で動作するような任意のインラインLaTeXコマンドについての言及は見つかりませんでした。


ねえ最初は.texファイルアプローチを使用しましたが、とにかくpdf生成に純粋なマークダウンアプローチを使用したかったので、\ newpageも試しましたが、うまくいきませんでした。
user2760375 2014年

1
Markdownには改ページの構文が含まれていないため、純粋なMarkdownアプローチはありません。多くのMarkdown拡張機能がありますが、改ページのサポートを追加するものはありません。インラインLaTeXサポートするPandocのようなものを試すこともできますが、ソースコードからドキュメントブロックを抽出する機能のためにDoxygenを使用していると思いますが、Pandocはサポートしていません。たぶん私は...そのことについて間違っている
クリス・

4

これらの答えは機能しますが、Markdown(MD)の目標の1つを破っています。これは、ストレートテキストドキュメントとして非常に読みやすく、よりリッチなプレゼンテーションにフォーマットできることです。

大量のHTML / CSSをテキストに埋め込み始めるとすぐに、MDの最初の側面が失われます。Word、Libre、HTML / CSSなどを使用することもできます。

MDは改ページシーケンスを追加するのに適していると思います。次のようなもの: <<<<>>>>またはフォーマット演算子に似ています。私はそれを私のMDテキストで使用しています。PDFまたはHTMLコンバーターで改ページを引き起こすことはありませんが、それらとプレーンテキスト形式の両方で認識できます。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.