代码之家  ›  专栏  ›  技术社区  ›  fralau

Pandoc Markdown:忽略PDF中的文本(但包含在HTML中)是否已更新?

  •  5
  • fralau  · 技术社区  · 7 年前

    关于如何包含将以html格式显示但不是pdf格式的文本的问题,已经回答了两次( LaTeX multicolumn block in Pandoc markdown Pandoc markdown: Omit text in PDF version but include in HTML version )我应用了推荐的解决方案:

    以下是来源:

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

    我使用的命令是: pandoc essai.md --from=markdown-markdown_in_html_blocks -o essai.pdf

    然而 <div> 标记仍显示在pdf文件中。

    我是否遗漏了一些明显的东西?或者自2013/2014年以来,潘多克的行为是否发生了变化(我的版本是2016年的1.19)?如果是,解决方案是什么?

    2 回复  |  直到 3 年前
        1
  •  6
  •   tarleb    7 年前

    我知道您要求提供一个适用于pandoc 1.19的解决方案,但为了完整性,这里有一个稍微干净一点的解决方案,但只适用于pandoc 2.0及更高版本:

    有一个新的 raw\u属性 扩展,允许执行以下操作:

    `text in html`{=html}
    `text in pdf`{=latex}
    

    它在pandoc markdown中按默认值启用。

        2
  •  3
  •   fralau    7 年前

    我找到了一个答案:添加 -native_divs 扩大

    这种方式:

    $ pandoc essai.md --from=markdown-markdown_in_html_blocks-native_divs -t latex
    My text.
    
    other text
    

    我的理解是,潘多克已经开始口译 <div> 项目作为“本机”元素,即在AST中表示,这会产生有趣的副作用 <p> 在html中添加。需要停用此行为以获得所需的效果。

    如果有人有更好的解决方案或更好的解释,请让我知道。