
Создавая макет для брошюры, я начал думать о размещении изображений на странице с одинаковой высотой. У меня есть куча изображений размером 15x10 см, готовых в виде файлов PDF.
В приложении DTP я бы разместил область изображения с определенными размерами. И поместил бы туда обрезанное изображение.
В ConTeXt я пытался получить что-то подобное. Я использовал\clip
, например, для того, чтобы получить изображения с высотой строки 10 x. Также следуя подходу, показанному наhttps://wiki.contextgarden.net/Example_photo_page_layout.
\define[2]\ClippedFigure{
\startplacefigure[location=force,title={#1}]
\clip[height=\dimexpr10\lineheight+\exheight\relax]{
\externalfigure[{#2}][width=\textwidth]
}
\stopplacefigure
}
Является ли это рекомендуемым подходом для получения изображений с постоянными размерами на базовой сетке?
Очевидно, что в любом случае можно сначала масштабировать/обрезать все файлы изображений.
решение1
Согласно Вики, у вас есть\startlinecorrection
и\stoplinecorrection
, но я не уверен, что результат соответствует вашим ожиданиям. Смотрите пример ниже:
\setuplayout
[grid=on]
% This loads cow.pdf for purposes of testing
% \setupexternalfigures[location={local,global,default}]
% And this show the grid...
% \showgrid
\starttexdefinition ClippedFigure #1 #2
\startplacefigure[location={force},title={#1}]
\startlinecorrection
% \exheight adds one more line
\clip[height=\dimexpr10\lineheight\relax]{
\externalfigure[#2][width=\textwidth]
}
\stoplinecorrection
\stopplacefigure
\stoptexdefinition
\starttext
\ClippedFigure{Cow}{cow.pdf}
\stoptext