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

Pandoc标记为PDF图像位置

  •  34
  • squirl  · 技术社区  · 8 年前

    使用pandoc将降价文档转换为PDF时,图像的位置与源代码中的位置不同。我相信这是由于通过乳胶的转化,但我不知道如何在降价来源中弥补这一点。

    如果我使用带有多段示例文本的占位符图像,并有策略地将图像放置在源代码中,它会变得太大,无法放在页面上我放置它的位置,因此LaTeX布局引擎会将其放置在下一页上。然而,我希望这种情况不会发生,因为这意味着图像不是我所期望的,更难参考。

    如有必要,我可以提供一个示例,但复制起来很简单,而且源代码需要有一定的扩展性才能填满整个页面。

    3 回复  |  直到 7 年前
        1
  •  42
  •   Nemo    7 年前

    您是否尝试停用 implicit_figures 如中所示

    pandoc -f markdown-implicit_figures -t pdf myfile.md
    

    要解决大小问题,您还可以尝试使用属性修复标记文件中的大小。像这样的事情可以做到:

    ![Caption text](/path/to/image){ width=50% }
    
        2
  •  17
  •   apitsch    6 年前

    虽然布鲁诺将数字强制置于指定位置的解决方案可行, 它还会删除标题 在中指定 .md 来自结果的文件 .pdf

    为防止数字浮动,但保留标题:

    1、创建 .tex 包含以下内容的文件:

    \usepackage{float}
    \let\origfigure\figure
    \let\endorigfigure\endfigure
    \renewenvironment{figure}[1][2] {
        \expandafter\origfigure\expandafter[H]
    } {
        \endorigfigure
    }
    

    这将防止乳胶漂浮在数字上。

    2、适应pandoc呼叫

    假设您已命名新创建的 。特克斯 文件 disable_float.tex ,只需添加 -H disable_float.tex 到您的 pandoc 电话:

    pandoc -H disable_float.tex input.md -o output.pdf
    

    道具到 this answer 在SO和 this comment 在github上。

        3
  •  1
  •   John Bentley    5 年前

    除了@apitsch的答案之外,还有一种方法可以达到同样的效果:在文本中调用点的图像(虽然与文本不完全“对齐”),并带有标题。

    执行以下操作:

    • 在您的pandoc中 --include-in-header 模板( disable_float.tex 在@apitsch的回答中)使用

      % Override default figure placement To be within the flow of the text rather
      % than on it's own page.
      \usepackage{float}
      \makeatletter
      \def\fps@figure{H} 
      \makeatother
      

      有关其他默认定位方案,请参见: https://www.overleaf.com/learn/latex/Inserting_Images#Positioning 。E、 g.代替 H 您可以指定 t

    • 在降价源中,可能还需要指定高度属性。在latex上下文中,这是 \textheight (几乎是页面的高度)。

      ![Caption for my image](MyImage.jpg){height=55%}