【问题标题】:Pandoc Markdown: ignore text in PDF (but include in HTML)Pandoc Markdown:忽略 PDF 中的文本(但包含在 HTML 中)
【发布时间】:2014-02-11 12:13:09
【问题描述】:

我正在使用 Pandoc 编写包含 PDF 和 HTML 输出的 Markdown 报告。我希望某些文本会出现在 HTML 中,但不会出现在 PDF 中。 here 提出的解决方案对我不起作用。

到目前为止我尝试了什么:

My text for both HTML and PDF <div>My HTML code for HTML only</div>

然后我用

制作PDF
~/.cabal/bin/pandoc -s -N --toc --template=default.latex -f markdown-markdown_in_html_blocks -o reproducibleResearch.pdf reproducibleResearch.md

~/.cabal/bin/pandoc 包含 Pandoc 的最新版本 (~/.cabal/bin/pandoc),而 Ubuntu 仍然有 1.9。

【问题讨论】:

    标签: markdown pandoc


    【解决方案1】:

    原始的 markdown HTML 块(当你打开 markdown_in_html_blocks 扩展时,pandoc 解析的类型,正如你所做的那样)必须从行首开始。来自markdown syntax description

    唯一的限制是块级 HTML 元素——例如&lt;div&gt;&lt;table&gt;&lt;pre&gt;&lt;p&gt; 等 — 必须与周围的内容用空行分隔,并且块的开始和结束标记不应使用制表符或空格缩进。 Markdown 足够聪明,不会在 HTML 块级标签周围添加额外的(不需要的)&lt;p&gt; 标签。

    所以这就是你需要的:

    My text.
    
    <div>
    This will be ignored in non-HTML output
    </div>
    

    【讨论】:

    • 谢谢。有用。我已经尝试在 HTML 块之前添加一个空行,但它不起作用,因为它还需要在
      之后和
      之前添加一个换行符。
    • 这在最新版本的 pandoc 中不起作用。然而,这确实:stackoverflow.com/a/48083891/1175053
    【解决方案2】:

    stackoverflow 上还有一个关于markdown_in_html_blocks extension 的问题。根据该线程 markdown 不在 Latex 中解析。

    但是,有一个指向 pandoc's google groups page 的链接建议使用类似以下的 '\begin{landscape}' 和另一个用于 '\end{landscape}' 的链接。

    【讨论】:

    • 谢谢 Ryan。我认为这是两个不同的问题。如果 Markdown 没有被解析,那么文本被打印出来而不被格式化。顺便说一句,我正在研究如何仅在 HTML 输出中而不是在 TEX/PDF 输出中打印文本。希望有人可以帮助我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-29
    • 2019-10-19
    • 1970-01-01
    • 2017-03-13
    • 2017-07-10
    • 1970-01-01
    相关资源
    最近更新 更多