
Прочитав множество руководств, документов и статей вики, предоставленных разработчиками ConteXt, я все еще не имею ни малейшего понятия, как этого добиться. Я хочу настроить титульный лист новостной рассылки. Вверху он содержит графику в качестве заголовка. Далее следует рамочный блок слева, а рядом с этим блоком находится двухколоночная статья. Под рамочным блоком находится небольшая картинка, а двухколоночная статья — пустое место.
[ Title Graphic ]
[Framed][ 2-col ]
[ Box ][ umn a ]
[ ][ rticle]
[ ]
[Pic]
В LaTeX я бы использовал две мини-страницы для рамочного блока и статьи, просто разместил бы изображение \hfill
и \vfill
внес бы некоторые изменения.
Спасибо за вашу помощь.
решение1
Конечно, но с ConTeXt вы могли бы сделать то же самое. Фактически, первый пример — это просто сумма моих ошибок, до того, как я понял, что a TABLE
можно использовать для достижения желаемого.
\def\framedbox#1#2
{\hbox to 2em\bgroup
\setupframed[height=10cm,width=3cm,framed=off]
\framed[width=2cm,align=left]{#1}
\egroup}
\setupcolumns[n=2,]
\starttext
\title{\hfil A test}
\framedbox{}
\vskip -4in
\hskip 2.5cm{\lbox to 2.5cm{
\bTABLE
\setupTABLE[,2,3][frame=off, distance=4pt,align=vfil]
\bTR \bTD \input zapf \eTD \eTR
\bTD \input zapf \par \input linden \eTD \eTR
\bTD \input tufte \eTD \eTR
\eTABLE
}}
\stoptext
А вот почти полный пример. Только измените некоторые значения соответствующим образом, пожалуйста.
\setuplayout[width=130mm,]
\def\framedbox#1#2
{\hbox to 1em\bgroup
\setupframed[height=10cm,width=4cm,framed=off]
\framed[width=4cm,align=left]{#1}
\egroup}
\setuppagenumbering[state=stop]
\setupcolumns[n=2,]
\starttext
\title{\hfil \externalfigure[http://tug.org/images/logobw.jpg][width=6cm]}
\framedbox{}
\vskip -4in
\hskip 4.5cm{\rbox to 0.5cm{
\bTABLE
\setupTABLE[1,2][frame=off, distance=4pt,align=vfil]
\bTR \bTD \input zapf \eTD \eTR
\bTD \input tufte \eTD \eTR
\eTABLE
\externalfigure[context_logo.jpg]
}}
\stoptext
Второе редактирование
Я имел в виду, что нужно иметь TABLEhead
и TABLEfoot
, соответственно. На самом деле, не это, так как первое устранило бы необходимость указывать настройку для указанного нижнего колонтитула ранее в документе.
\showframe
\starttext
\setuplayout[footer=\textwidth]
\setuphead[chapter][header=none]
\setupfooter[chapter][]
\setupfootertexts[][{\dorecurse{8}{\framed{\externalfigure[context_logo.jpg]}}}]
\title{\dorecurse{1}{\externalfigure[mill.png][width=\textwidth,height=7cm]}}
{\lbox to 0.5cm{
\bTABLE
\setupTABLE[2,3][frame=off, distance=4pt,align=vfil,option=stretch]
\bTR \bTD \dorecurse{8}{\externalfigure[context_logo.jpg]\par} \eTD \eTR
\bTD \dorecurse{1}{\input zapf }\eTD \eTR
\bTD \dorecurse{1}{\input linden }\eTD \eTR
\eTABLE
}
\framed{\dorecurse{8}{\externalfigure[context_logo.jpg]\par}
}
\input cervantes-es
\externalfigure[mill.png]
\stoptext
решение2
Если вы готовы разметить титульный лист отдельно, вот одна из возможностей. Я изменяю поля первой страницы и устанавливаю рамки и изображение как слои.
% To visualize the page areas
% Needs to be placed on the top, because it resets the page backgrounds
\showframe
% Layout for regular pages
\setuplayout
[
topspace=1cm,
backspace=1.5cm,
leftmargin=1cm,
width=middle,
height=middle,
bottomspace=1cm,
header=2\lineheight,
headerdistance=2\lineheight,
footer=2\lineheight,
]
\definemeasure[marginspace][0.4\paperwidth]
\definemeasure[marginwidth][0.35\paperwidth]
% Different layout for the title page:
\definelayout
[1]
[
topspace=6\lineheight,
header=\zeropoint,
backspace=\measure{marginspace},
leftmargin=\measure{marginwidth},
cutspace=1.5cm,
rightmargin=1cm,
]
\definelayer[titlelayer]
\definelayer[marginlayer]
\definelayer[footerlayer]
\setupbackgrounds[text][leftmargin][background=marginlayer]
\setupbackgrounds[footer][leftmargin][background=footerlayer]
\setupbackgrounds[text][background=titlelayer]
% Dummy text and figures
\usemodule[visual]
\useMPlibrary[dum]
% To make it easier to show the output on TeX.SX
\setuppapersize[A4][A3,landscape]
\setuparranging[2SIDE]
\starttext
\setlayer[marginlayer]
{\externalfigure[marginimage]
[width=\measure{marginwidth}, height=12\lineheight]}
\setlayer[footerlayer]
{\externalfigure[footerimage]
[width=\measure{marginwidth}, height=2\lineheight]}
\setlayer[titlelayer]
[
x=-\dimexpr(\measure{marginwidth}+\leftmargindistance)\relax,
y=-4\lineheight,
]
{\externalfigure[titleimage]
[
width=\dimexpr(\measure{marginwidth}+\leftmargindistance+\textwidth)\relax,
height=3\lineheight,
]}
\startsimplecolumns
\dorecurse{3}{\fakewords{120}{120}\par}
\stopsimplecolumns
\page
\dorecurse{5}{\fakewords{120}{120}\par}
\stoptext
Вот как выглядит двухстраничный разворот.