背景

背景

背景

用 Markdown 编写的 wiki 页面通过 pandoc 运行,为 ConTeXT 生成 .tex 文件。该 wiki 页面引用了位于页面本身相对路径中的图像。例如,该 wiki 页面为:

 http://wiki.server.com/xwiki/bin/view/Clients/Projects/CR1234567

当 wiki 页面被导出时,对图像的引用类似于:

<img src="/xwiki/bin/download/Clients/Projects/CR123457/WebHome/image.svg"/>

然后 pandoc 将.html文件转换为.tex

{\externalfigure[/xwiki/bin/download/Clients/Projects/CR1234567/WebHome/image.svg]}

可以将图像导出到相对于父“图像”目录的特定目录中。层次结构类似于:

./
./images/
./images/xwiki/bin/download/Clients/Projects/CR1234567/WebHome/

./ConTeXt 运行的目录在哪里。

问题

看起来好像externalfigures 不能使用相对路径

代码

图形设置如下:

\setupexternalfigures[
  order={svg, pdf, png, jpg},
  factor=fit,
  maxwidth=\textwidth,
  maxheight=\pageheight,
  directory={images},
]

下列目录选项也尝试过,但没有成功:

  directory={images, images/xwiki/bin/download/Clients/Projects/CR123457/WebHome},

调用

以下 ConTeXt 调用均不起作用(--trackers=graphics.conversion未发现明显问题):

context --path=styles main.tex
context --path=styles,images main.tex
context --path=styles,images\xwiki\bin\download\Clients\Projects\CR1234567\WebHome main.tex
context --path=styles,images/xwiki/bin/download/Clients/Projects/CR1234567/WebHome main.tex

问题

ConTeXt 是否可以包含使用相对路径引用的外部图形?如果可以,如何实现?

环境

请注意,pandoc 生成的externalfigures是 而不是useexternalfigures

  • ConTeXt MKIV 2018.01.04 17:37

答案1

不幸的是,您问题的提出方式使得我无法重现您的确切设置和错误。

看起来好像外部图形不能使用相对路径。

不对。这对我来说在 TL 2017 和 Ubuntu 16.04 上都是有效的。

\starttext
\externalfigure[../../usr/local/texlive/2017/texmf-dist/tex/latex/mwe/example-image-a.png]
\stoptext
\setupexternalfigures[directory={../../usr/local/texlive/2017/texmf-dist/tex/latex/mwe/}]
\starttext
\externalfigure[example-image-a.png]
\stoptext

肯定是其他什么地方出了问题。

请注意,以externalfigure绝对路径开头。/xwiki这必须改变。您可以尝试编写 pandoc 过滤器,或使用诸如sed将路径更改为相对目录的程序,例如:

sed -i "s/\/xwiki/.\/images/g" %TEX%

相关内容