【问题标题】:How to use Pandoc image alignment to align two images in the same row?如何使用 Pandoc 图像对齐来对齐同一行中的两个图像?
【发布时间】:2013-02-28 07:50:01
【问题描述】:

从 pandoc 文档中我知道如何插入图像

http://johnmacfarlane.net/pandoc/README.html#images

现在我想在同一行对齐两个图像,我该怎么做? 我想要的输出格式是 pdf。

【问题讨论】:

    标签: image alignment pandoc


    【解决方案1】:

    你可以试试这样的:

    ![](tests/lalune.jpg)\ ![](tests/lalune.jpg)
    

    这将为您提供两个并排的图像。但是,您不会有标题; pandoc 仅将图像单独视为段落中的图片。

    【讨论】:

    • 谢谢,它有效。但我现在有另一个问题。我的图像有点大,当放在同一行时,它们无法放入一张幻灯片中。是否可以控制图片的大小?
    • 不能在 Markdown 中指定大小。您必须在外部修改图像
    • 我觉得tex.stackexchange.com/a/139205/13192 应该能够与johndcook.com/blog/2009/01/14/… 或类似的组合以允许使用\subfigure 的原始乳胶命令,但是当我尝试它时,我得到了一个错误(但我'自从合并了这些数字,我没有把错误抄下来,抱歉)。
    • 图形大小问题已在更新的 pandoc 版本中得到解决。您现在可以使用 ![](tests/lalune.jpg){height=3cm} 这应该使您的图像具有相同的高度。
    【解决方案2】:

    从约翰的回答开始,如果您确实想要在两个并排的数字下有一个单独的标题,那么“hack”就是这样做:

    ![](https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png){width=60%}
    ![](https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png){width=40%}
    \begin{figure}[!h]
    \caption{A single caption for the two subfigures}
    \end{figure}
    

    这会为两个并排放置的图像生成一个标题。您可能需要调整每张图片的宽度设置,或者调整 !h caption placement specifier 以使事情看起来像这样:

    我发现这很有帮助,因为您不必像在纯 LaTeX \subfigure 解决方案中那样从互联网上下载图片。 IE。只需使用 pandoc markdown 获取图像,并使用 LaTeX 生成标题。

    如果你想发疯,你实际上可以使用上面相同的想法来制作像这样的子图标题:

    ![](https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png){width=60%}
    ![](https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png){width=40%}
    \begin{figure}[!h]
    \begin{subfigure}[t]{0.6\textwidth}
    \caption{Caption for the left subfigure}
    \end{subfigure}
    \hfill
    \begin{subfigure}[t]{0.4\textwidth}
    \caption{Caption for the right subfigure}
    \end{subfigure}
    \caption{A single caption for the two subfigures}
    \end{figure}
    

    编辑 20180910:

    您需要在 pandoc YAML frontmatter/header 中包含以下包:

    header-includes: |
        \usepackage{caption}
        \usepackage{subcaption}
    

    【讨论】:

    • 我收到“!LaTeX 错误:环境子图未定义。”如果我按照您的建议包含代码,则会出错。
    • 糟糕,忘记提及您需要包含这些软件包。在 pandoc 中,您将拥有 header-includes: | \usepackage{caption} \usepackage{subcaption} 我将编辑答案以使其更清晰。
    • 我遇到了冲突,必须删除 subfigures 包,才能使用 subcaption 包。不过现在可以了。
    • 有时标题(图 1. ...)会进入下一页。我试图通过环绕 minipage 或 vbox 来解决此问题,但我无法这样做。这是我第一次尝试在 Pandoc 中使用这样的环境,我不知道它是否可能。我当前的错误消息是l.500 ...backslash begin\{minipage\}\{\linewidth\}。我相信有人想到了这一点。有什么想法吗?
    • 我知道这是一个旧线程,但你是如何将它们集中起来的?
    【解决方案3】:

    一种简单的方法是先将文件转换为 .tex 文件,您可以在其中使用 LaTeX 命令minipage 左右调整图像对齐方式。然后,您可以在命令行中获取运行 latexpandoc 的 .pdf 文件。例如,请参阅Pandoc Demos

    【讨论】:

    • 我正在寻找一种直接从markdown到pdf的方法,否则我会直接写latex。
    【解决方案4】:

    您可以使用像 gpp 这样的预处理器来包含像对齐图像这样的选项。或者你可以像约翰告诉你的那样做:

    ![](tests/lalune.jpg)\ ![](tests/lalune.jpg)
    

    【讨论】:

    猜你喜欢
    • 2020-09-23
    • 1970-01-01
    • 2014-04-28
    • 1970-01-01
    • 1970-01-01
    • 2015-03-09
    • 2019-05-06
    • 2016-12-12
    • 1970-01-01
    相关资源
    最近更新 更多