Совет по макету титульного листа в ConteXt

Совет по макету титульного листа в ConteXt

Прочитав множество руководств, документов и статей вики, предоставленных разработчиками 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

Вот как выглядит двухстраничный разворот.

введите описание изображения здесь

Связанный контент