创建pdf时在markdown中的分页

use*_*375 64 markdown doxygen

我正在使用doxygen(1.8.6)创建一个降价文本文件的pdf.现在我想在markdown文件的特定阶段获取分页符,我使用了这个链接.

在他们提到的给定链接中,使用'>'表示换行符.但他们没有提到过分页符.是的我也可以使用'>'进行分页,但是我必须在markdown文本文件上写下这个符号5次或更多次,这使得markdown文件看起来很怪异.还有其他方法可以在markdown文件中获取分页符吗?

tom*_*ian 144

由于Markdown接受纯HTML和CSS,只需在要强制分页的地方添加此行.

<div style="page-break-after: always;"></div>
Run Code Online (Sandbox Code Playgroud)

如果您的Markdown编辑器无法正确导出PDF,请先尝试导出为HTML,然后使用浏览器打开并以PDF格式打印.

  • 这是正确的答案.这种风格'黑客'可能是John接受HTML/CSS的原因 (4认同)
  • 这是我测试过的最适用且得到广泛支持的解决方案。 (3认同)
  • 我和 puppeteer 一起使用这个,效果很好。&lt;hr style="page-break-after: 总是;"/&gt; (3认同)
  • 这是正确的答案.它适用于大胆的火球Markdown (2认同)

ron*_*zen 47

我遇到了同样的问题并通过插入来解决它

\分页符

它实际上是一个LaTeX命令,而不是Markdown命令.

  • Markdown 本身不支持 Latex,但它本身支持 HTML 和 CSS。这就是为什么@tomodian 在下面的回答有更多的投票。这个解决方案在某些情况下有效(特别是在 R Markdown 中,正如 Tetlanesh 提到的那样),但不是全部。选择下面tomodian的答案......它更便携。 (3认同)
  • thx,我只是在寻找:)它也适用于R的针织工具. (2认同)

Noè*_*urr 22

我知道这是一个死问题,但我找到了一种我认为对我以外的人有用的方法。

您可以在不可见元素内使用命令 \pagebreak。通过这种方式,它适用于乳胶和 html。

<div style="page-break-after: always; visibility: hidden"> 
\pagebreak 
</div>
Run Code Online (Sandbox Code Playgroud)

  • 因为这个技巧在 doxygen 之外是可移植的,你甚至可以在 pandoc 中使用它。 (4认同)

Chr*_*ris 10

Blockquotes与换行符

>不用于Markdown中的换行符.它用于块引用.例如,以下Markdown代码

> A man provided with paper, pencil, and rubber, and
> subject to strict discipline, is in effect a universal machine.
Run Code Online (Sandbox Code Playgroud)

一名男子提供纸,铅笔和橡胶,并受到严格的纪律处分,实际上是一台通用机器.

(这是Alan Turing引用.)

请注意Stack Overflow如何使用黄色背景渲染它.如果检查生成的标记,您将找到<blockquote>正在使用的标记.

通常可以通过结束包含两个或多个空格的行(Markdown语法)或使用原始<br>标记(大多数Markdown处理器允许内联HTML)来插入换行符.例如(?用于表示空格),这个Markdown

123 Fake Street??
Springfield, USA
Run Code Online (Sandbox Code Playgroud)

123
美国斯普林菲尔德假街

分页符

由于原始规范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命令.


Dan*_*l T 9

在我的 Markdown 文档中,page-break-after有时会在同一页面上留下一两个标题。在这些情况下,page-break-before努力将所有内容正确地放在<div>下一页上:

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


小智 6

尽管这些答案有效 - 它们有点破坏了 Markdown (MD) 的目标之一,即作为纯文本文档非常易读,并且能够格式化为更丰富的演示文稿。

一旦你开始在文本中嵌入一堆 HTML/CSS,你就会失去 MD 的第一个方面。你也可以使用 Word、Libre、HTML/CSS 等。

我认为 MD 最好添加一个分页符序列。类似于: <<<<>>>>或类似于格式化操作符。我在我的 MD 文本中使用它。它不会导致 PDF 或 HTML 转换器中的分页符,但在这些格式和纯文本格式中都可以识别。