Am 2018-02-02 um 12:08 schrieb Rudolf Bahr : > On Fri, Feb 02, 2018 at 08:40:08AM +0100, Henning Hraban Ramm wrote: >> Ahoi, >> >> I’m using a Lua function to calculate image sizes, cropping etc. >> This snippet: >> >> local filename = figures.current().status.fullname >> local pic = img.scan{filename = filename} >> >> ... works most of the time, but sometimes the "current" image is the previous one, might be because I’m using layers and postponing. >> So I’d like to use just the same filename as I give to \externalfigure, i.e. without path and extension. >> How can I address the same file path resolver in my Lua function? >> > > Moin, Hraban, > > where could I find something about those lua functions? Maybe here: http://source.contextgarden.net/tex/context/base/mkiv/grph-inc.lua The image placement functions I’m using are something Hans and others helped me accomplish during the last meeting; AFAIK there’s no real documentation. Find attached the lua part. It’s probably more complicated than necessary I could work around my original problem: I’m using my image with \externalfigure in an invisible place first, so it’s current, and figures.current().status is the right one. :) Here’s my (convoluted) placement macro: % image on empty page, caption in margin % usage: % \startpostponing[pagenumber] % \pagefig[reference]{caption}{filename} % \stoppostponing % postponing is important, otherwise the page numbering gets wrong \def\pagefig{\dosingleempty\doPagefig} \def\doPagefig[#1]#2#3{ % calculate image size \startfullpagemakeup \externalfigure[#3][width=1mm] % dummy to set image as current \def\myClipHeight{\ctxlua{ctxClipHeight("#3", \Resolution)}} \def\mystartY{\ctxlua{ctxStartY("#3", \Resolution)}} % image \setlayerframed[bglayer][% frame=off, offset=overlay, x=21mm, y=\mystartY, height=\myClipHeight, width=\textwidth, align=flushleft, ]{% \clip[ width=\textwidth, height=\myClipHeight, hoffset=0mm, voffset=0mm, % i.e. clip bottom! TODO: options! ]{\externalfigure[#3][width=\textwidth]} } \textreference[pre#1]{\myImgHeight} % caption \setlayerframed[bglayer][% frame=off, offset=overlay, linecorrection=on, x=143mm,y=\dimexpr\mystartY + 3pt\relax, height=\myClipHeight, width=\outermarginwidth, align={flushleft,low}, valign=bottom, ]{% \vbox{ \textreference[#1]{\strut #2}\vfill #2 }} \stopfullpagemakeup } usage example: \startpostponing[82] \pagefig[alinari-stelzen]{Gebrüder Alinari (Florenz, 19. Jhd.)}{ka34/img/Gebr-Alinari_Kinder_auf_Stelzen} \stoppostponing Greetlings, Hraban --- http://www.fiee.net http://wiki.contextgarden.net GPG Key ID 1C9B22FD