我如何使用 pandoc 参考减价中的数字?

我目前正在写一个文件的减价,我想作出一个参考从我的文字图像。

this is my text, I want a reference to my image1 [here]. blablabla


![image1](img/image1.png)

我想这样做的参考,因为后转换我的标记成 pdf,图片被放置在一个或两个页面后,文件没有任何意义。

更新:

我已经试过 那个帖子中的 Ryan 的回答,但是我不能让它工作。 Apparently the code :

[image]: image.png "Image Title"
![Alt text][image]
A reference to the [image](#image).

应产生:

\begin{figure}[htbp]
\centering
\includegraphics[keepaspectratio,width=\textwidth,height=0.75\textheight]{i mage.png}
\caption{Alt text}
\label{image}
\end{figure}


A reference to the image (\autoref{image}).

相反,我得到:

\begin{figure}[htbp]
\centering
\includegraphics{image.png}
\caption{Alt text}
\end{figure}


A reference to the \href{\#image}{image}.

我注意到两个问题:

  • \label{image} doesn't appear : no reference is created.
  • (\autoref{image})变成 \href{\#image}{image}: 没有检测到交叉引用。

然后,当我把它转换成 pdf 格式的时候,它显然没有链接到图片上。有一个链接,但它没有链接到任何东西。

任何帮助都将不胜感激! !

71418 次浏览

I've had a chat with Ryan Gray after reading 他的回答 in a similar post. Actually his solution of using :

[image]: image.png "Image Title"
![Alt text][image]
A reference to the [image](#image).

只有在使用多重标记时才适用。

When it comes to pandoc, the only solution to make cross references is using directly latex keywords:

[image]: image.png "Image Title"
![Alt text \label{mylabel}][image]
See figure \ref{mylabel}.

在 Pandoc 中,你甚至可以这样做:

![This is the caption\label{mylabel}](/url/of/image.png)
See figure \ref{mylabel}.

Pandoc 支持引用节(通过 节标识符,前缀为 #)。

关于此 未解决的问题的注释描述了下面的解决方案如何利用节标识符在 LaTeX 和 HTML 中生成图像引用:

<div id="fig:lalune">
![A voyage to the moon\label{fig:lalune}](lalune.jpg)


</div>


[The voyage to the moon](#fig:lalune).

需要 </div>之前的空行。

您可以使用 Pandoc-Fignos过滤器进行数字编号和引用。它适用于任何输出格式——不仅仅是 LaTeX。

像下面这样为图像的属性添加一个标签:

 ![Caption.](image.png) {#fig:description}

然后像这样引用这个数字:

 @fig:description

有关如何安装和应用 pandoc-fignos 过滤器的信息在其网页上提供。还有一个 Pandoc-eqnos滤波器,可以用来对方程做同样的事情。

假设你最后想要的是 Pandoc 的 PDF 输出:

插入图片并改变其属性的最佳解决方案是:

\begin{figure}[H]
\includegraphics[width=0.25\textwidth, height=!]{images/path.png}
\centering
\caption{mycaption}
\end{figure}

在我的 template.latex中,我有:

\usepackage{wrapfig}
\usepackage{float}

其他解决方案不能指定图像的宽度或高度,至少不能在标准标记中指定。然而,对于书或论文之类的东西来说,指定图形的尺寸通常是必不可少的,除非您希望在文档中使用图像之前配置图像的输出大小。在这种情况下,您必须处理那些您用来创建图像的工具的不同设置。

我建议如果 Matplotlib 输出到 PDF,然后使用我发布的代码。这将提供最好的图像质量和最高的灵活性,在配置什么样的图像将输出 PDF,而不必担心的东西。

使用 Pandoc-Crosref,您可以使用以下语法交叉引用图形:

![Caption](file.ext){#fig:label}

然后参考文本中类似于引用语法 [@fig:label]的图形,并用 --filter pandoc-crossref编译(如果您也在使用 --filter pandoc-citeproc,则需要在 --filter pandoc-citeproc之前编译)。

你可以用例如 header-includes中的 \usepackage[font=small,labelfont=bf]{caption}来控制样式。


如果你在乳胶中使用 \listoffigures,一个简洁的相关技巧是 这个 Lua 过滤器,它允许你设置一个简短的标题,而不是让整个图例显示在你的数字列表中:

![Caption](file.ext){#fig:label short-caption='my short caption'}

然后用 --lua-filter short-captions.lua编译。

这里有很多伟大的占卜师。 我只想让你注意一个细节:

一定要有说明! 例如:

Lore ipsum @fig:label


![Caption](file.ext){#fig:label}

下面的 没有将工作

Lore ipsum @fig:label


![](file.ext){#fig:label}