创建pdf时在markdown中的分页符

时间:2014-03-24 04:22:57

标签: markdown doxygen

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

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

8 个答案:

答案 0 :(得分:112)

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

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

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

答案 1 :(得分:41)

我遇到了同样的问题,并通过插入

解决了这个问题

\分页符

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

答案 2 :(得分:10)

Blockquotes与换行符

Markdown中的

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

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

变为

  

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

(这是quote from Alan Turing。)

注意Stack Overflow如何使用黄色背景渲染它。如果检查生成的标记,您会发现正在使用<blockquote>标记。

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

123 Fake Street␣␣
Springfield, USA

变为

123 Fake Street
美国斯普林菲尔德

分页符

由于原始规范Markdown是为HTML输出设计的(没有页面概念),因此不支持分页符。

Doxygen uses LaTeX to generate its PDFs。它似乎不支持内联LaTeX¹,但您应该能够修改中间.tex文件,然后使用pdflatex生成PDF:

  1. 使用Doxygen生成.tex文件
  2. 编辑.tex文件,手动添加\newpage,只要您想要分页符
  3. 运行pdflatex documentation.tex
  4. 检查documentation.pdf
  5. This question可能是上述第3步的有用参考。

    ¹Doxygendoes support inline LaTeX formulas,但我无法找到在文本环境中运行的任意内联LaTeX命令,如\newpage

答案 3 :(得分:2)

最后一个资源解决方法是手动编辑HTML输出以根据需要呈现为PDF。

答案 4 :(得分:2)

尽管这些答案行之有效-但却打破了Markdown(MD)的目标之一,该目标既可以作为纯文本文档阅读,又可以格式化为更丰富的演示文稿。

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

我认为MD最好添加分页符序列。就像是: <<<<>>>>或类似于格式运算符。我在MD文字中使用了它。它不会导致PDF或HTML转换器中的分页符,但可以识别为分页符和纯文本格式。

答案 5 :(得分:2)

在我的 Markdown 文档中, def profile_creation_signal(sender, instance, created, **kwargs) : if created: UserProfile.objects.create(pk=instance.id, user=instance) post_save.connect(profile_creation_signal, sender=User) 有时会在同一页上留下一两个标题。在这些情况下,page-break-after 可以将所有内容正确地放在下一页的 page-break-before 之后:

<div>

答案 6 :(得分:2)

为了使 tomodian 的 answer 更简洁,您可以引用一个 CSS 类:

words.md:

<div class="pagebreak"></div>

style.css:

.pagebreak { page-break-after: always; }

答案 7 :(得分:1)

我知道这是一个悬而未决的问题,但是我发现了一种我认为对我以外的人有用的方法。

您可以在不可见的元素内使用命令\ pagebreak。这样,它可与乳胶和html一起使用。

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