
Quiero crear un título como el siguiente:
_________________________________________________________________________________
| | | Sufix |
| Prefix unwrapped (CAPS) | Unwrapped title (Small Caps) | wraped |
| | | as needed |
=================================================================================
Ba ba Ba ba
• Sub text 1 • Sub text 2 • Sub text 3 • Sub text 4 •
Ba Black Sheep
Necesita ser:
- estirado completo con de la página
- subrayado con color (=)
- no hay molestias arriba, izquierda, derecha o medio (|, _)
- Subtexto que está separado por un carácter separador (•) que está alineado en el centro o en la parte superior y ajustado para un ajuste óptimo.
Hasta ahora lo que he hecho es (primera parte del título/encabezado):
\define[3]\TITLE{\midaligned{\framed[frame=off,align=middle,bottomframe=on,framecolor=blue]
{\inframed[frame=off]{{\tfa\WORD#1}: {\tfb\sc#2}}\inframed[frame=off]{{\tfa, #3}}}}}
Pero esto no produce los resultados deseados.
¿Cómo lo hago?
Respuesta1
No entiendo completamente las especificaciones, así que déjame intentar responder esto de forma iterativa.
- Supongo que el ancho de
Prefix + Title < \textwdith
. Si no, entonces uno de estos dos también debe envolverse. - No está claro cómo
Prefix
yTitle
cómo se debe alinear verticalmente. Elegí alineado medio (que se llamalohi
en ConTeXt)
Conceptualmente, el método más sencillo es utilizar TABLAS. Entonces, la macro básica es:
\define[3]\TITLE
{\startTABLE[setups=table:title]
\NC #1 \NC #2 \NC #3 \NC \NR
\stopTABLE}
Ahora, todo lo que tenemos que hacer es definir las configuraciones table:title
para obtener el formato correcto, lo que se puede hacer de la siguiente manera:
\startsetups table:title
\setupTABLE[each][each][frame=off,bottomframe=on,rulethickness=2bp]
\setupTABLE[column][1][style=WORD, align=lohi]
\setupTABLE[column][2][style=\sc, align=lohi]
\setupTABLE[column][3][align={hyphenated,tolerant}]
\stopsetups
¡Eso es todo!
Aquí está el código completo con el resultado:
\startsetups table:title
\setupTABLE[each][each][frame=off,bottomframe=on,rulethickness=2bp]
\setupTABLE[column][1][style=WORD, align=lohi]
\setupTABLE[column][2][style=\sc, align=lohi]
\setupTABLE[column][3][align={hyphenated,tolerant}]
\stopsetups
\define[3]\TITLE
{\startTABLE[setups=table:title]
\NC #1 \NC #2 \NC #3 \NC \NR
\stopTABLE}
\showframe % To visualize the page frame
\starttext
\TITLE{prefix}{Unwrapped title}{\dorecurse{5}{A very long text\space}}
\stoptext
lo que da
Los marcos superior y lateral solo sirven \showframe
para mostrar que la tabla se extiende hasta el borde del límite de la página.