From: Wolfgang Schuster via ntg-context <ntg-context@ntg.nl>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Cc: Wolfgang Schuster <wolfgang.schuster.lists@gmail.com>
Subject: Re: Set up external figure for particular image type
Date: Tue, 12 Jul 2022 21:07:34 +0200 [thread overview]
Message-ID: <c6d0a2e9-6b8e-a2cc-7124-6d1348e74ed2@gmail.com> (raw)
In-Reply-To: <CAANrE7q-SG6+fp9TeZ=H_bj=PRVczeTdeeNqd8fdAoJT_DJsbA@mail.gmail.com>
[-- Attachment #1.1: Type: text/plain, Size: 2247 bytes --]
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
[-- Attachment #1.2: Type: text/html, Size: 5402 bytes --]
[-- Attachment #2: Type: text/plain, Size: 496 bytes --]
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage : https://www.pragma-ade.nl / http://context.aanhet.net
archive : https://bitbucket.org/phg/context-mirror/commits/
wiki : https://contextgarden.net
___________________________________________________________________________________
next prev parent reply other threads:[~2022-07-12 19:07 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-08 15:46 Thangalin via ntg-context
2022-07-08 16:29 ` Henning Hraban Ramm via ntg-context
2022-07-12 18:11 ` Thangalin via ntg-context
2022-07-12 19:01 ` Rik Kabel via ntg-context
2022-07-18 16:01 ` Thangalin via ntg-context
2022-07-12 19:07 ` Wolfgang Schuster via ntg-context [this message]
2022-07-18 17:10 ` Thangalin via ntg-context
2022-07-18 20:14 ` Wolfgang Schuster via ntg-context
2022-08-01 0:29 ` Thangalin via ntg-context
2022-08-01 7:07 ` Hans Hagen via ntg-context
2022-07-12 22:33 ` Albert Krewinkel via ntg-context
2022-07-18 16:03 ` Thangalin via ntg-context
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c6d0a2e9-6b8e-a2cc-7124-6d1348e74ed2@gmail.com \
--to=ntg-context@ntg.nl \
--cc=wolfgang.schuster.lists@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).