我想在Pandoc中为我的图像添加诸如“图1:Blah Blah”之类的标题,并且可以像参见@ Figure1一样引用它们。我正在使用gpp(预处理器)为我的图像添加字幕,并做各种奇特的事情,如更改大小,格式等。但是,我无法为图像,图2等图像实现计数器。
我在gpp脚本中定义了以下函数:
\define{\counter}{0}
\defeval{count}{\eval{\counter+ 1}
我在我的剧本中称之为\count
但是,\counter
在我的gpp脚本中没有得到评估,我看到以下error: unfinished macro
我该如何实施这个计数器?我在gpp中使用-T(tex)模式
答案 0 :(得分:2)
我发现我的问题有点局部解决方案。我发现使用CSS的反增量属性可以帮助自动对图像进行编号,如下所示:http://www.w3schools.com/cssref/pr_gen_counter-reset.asp
然而,问题仍然是我每次调用gpp标签时都使用gpp复制相同的代码。因此,计数器永远不会增加。例如:我的gpp代码是:
\define{\image{src}{width}{caption}{tag}}{
<div style=" margin:50px auto; text-align:center;" class="figures">
<a href="\src" id="\tag" style="margin:0px 20px; display:inline-block;
text-decoration:none; color:black; "><img src="\src" width="\width px"
alt="\caption" style="padding-bottom:0.5em;"> <div> \caption </div></a></div>}
\define{\imageref{label}}{
<span style="white-space:nowrap;"><a href="#\label" style="display:inline-block">\label</a></span>
}
我的style.css看起来像这样:
div .figures{
counter-reset:figure;
}
a.figure-caption:before{
counter-increment:figure;
content: "Figure" counter(figure) ":";
}
因此,每当我添加带有标记\image
的图片时,它始终会获得计数器Figure1
答案 1 :(得分:0)
您可以尝试使用pandoc-fignos过滤器:它会自动创建图号,并启用图引用。
简而言之,您可以为图像添加标签,如下所示:
![Caption.](image.png) {#fig:description}
...然后像这样引用它:
@fig:description
有关安装和使用说明,请参阅github上的pandoc-fignos页面。还有pandoc-eqnos过滤器用于处理方程式。
答案 2 :(得分:0)
这是一种自动CSS编号的简单方法,带有取决于文档语言的标签。这种简单的CSS方法不允许允许引用。
要使用引用进行自动编号,请使用pandoc-fignos
套件中的pandoc-xnos
。
body {
counter-reset: figure;
}
p.caption:before {
counter-increment: figure;
}
p.caption:lang(en):before {
content: 'Figure ' counter(figure) ': ';
}
p.caption:lang(nl):before {
content: 'Figuur ' counter(figure) ': ';
}