背景
用 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 运行的目录在哪里。
问题
看起来好像externalfigure
s 不能使用相对路径。
代码
图形设置如下:
\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%