[NTG-context] Set up external figure for particular image type
Wolfgang Schuster
wolfgang.schuster.lists at gmail.com
Tue Jul 12 21:07:34 CEST 2022
Thangalin via ntg-context schrieb am 12.07.2022 um 20:11:
> Thank you for the suggestion Hraban.
>
> The source comes from Markdown, which is converted to XML, then
> typeset using ConTeXt. There's no Markdown-specific mechanism to
> relate images to a particular external figure definition,
> unfortunately. All images use the same syntax and are treated the same
> way. The only part that differs is the file name extension (and header
> within the file).
>
> One possibility would be something like:
> |\setupexternalfigure[ width=1em, height=1em, order={svg,pdf,png,jpg},
> location={local,default,global}, ] \defineexternalfigure[png][
> width=\textwidth, height=\textheight, ] \unprotect
> \let\old_externalfigure=\externalfigure
> \tolerant\def\externalfigure[#1]#,[#2]#,[#3]{%
> \doifelseinstring{.png}{#1}{% \old_externalfigure[#1][png][#2]% }{%
> \doifelsefileexists{#1.png}{% \old_externalfigure[#1.png][png][#2]%
> }{% \old_externalfigure[#1][#2][#3]% }% }% } \protect |
> See: https://tex.stackexchange.com/a/650221/2148
>
> I was wondering if there was a simpler or a solution that's more the
> ConTeXt-way?
When you use XML as input you can add additional code to the setups block
which uses \externalfigure to load the image.
\setupexternalfigures [location={local,global,default}]
\defineexternalfigure [jpg] [width=4cm]
\defineexternalfigure [png] [width=8cm]
\starttexdefinition includegraphics #1
\splitfilename{#1}
\processaction
[\splitofftype]
[ jpg=>{\externalfigure[#1][jpg]},
png=>{\externalfigure[#1][png]},
default=>{\externalfigure[#1]},
unknown=>{\externalfigure[#1]}]
\stoptexdefinition
%\starttexdefinition includegraphics #1
%
% \getfiguredimensions[#1]
%
% \processaction
% [\figurefiletype]
% [ jpg=>{\externalfigure[#1][jpg]},
% png=>{\externalfigure[#1][png]},
% default=>{\externalfigure[#1]},
% unknown=>{\externalfigure[#1]}]
%
%\stoptexdefinition
\starttext
\includegraphics{hacker.jpg}
\includegraphics{mill.png}
\includegraphics{cow.pdf}
\stoptext
Wolfgang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ntg.nl/pipermail/ntg-context/attachments/20220712/9ebd940f/attachment.htm>
More information about the ntg-context
mailing list