背景
使用 ConTeXt LMTX从 HTML 元素中包含外部 SVG 图像img
。
代码
这里是main.tex
:
\startbuffer[document]
<body><img src="circle.svg"/></body>
\stopbuffer
\startxmlsetups xml:xhtml
\xmlsetsetup{\xmldocument}{body|img}{xml:*}
\stopxmlsetups
\startxmlsetups xml:body
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:img
\placefigure{}{\externalfigure[circle.svg][conversion=mp]}
\stopxmlsetups
\xmlregistersetup{xml:xhtml}
\starttext
\xmlprocessbuffer{xhtml}{document}{}
\stoptext
这里是circle.svg
:
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<g><circle cx="50" cy="50" r="20"/></g>
</svg>
问题
当使用 进行编译时context main.tex
,PDF 不会显示圆圈:
问题
如何使圆圈出现,而不是显示未执行的命令?(不使用 Inkscape 转换图像。)
答案1
从邮件列表中,将图表包装在texcode
:
\startxmlsetups xml:img
\starttexcode
\placefigure{}{%
\externalfigure[\xmlatt{#1}{src}][conversion=mp]%
}
\stoptexcode
\stopxmlsetups