
Quero criar um título como o seguinte:
_________________________________________________________________________________
| | | 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
Precisa ser:
- esticado completamente com a página
- sublinhado com cor (=)
- não há problemas no topo, esquerda, direita ou meio (|, _)
- Subtexto separado por um caractere separador (•) alinhado no centro ou na parte superior e ajustado para ajuste ideal.
Até agora o que fiz foi (1ª parte do título/cabeçalho):
\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}}}}}
Mas isso não produz os resultados desejados.
Como eu faço isso?
Responder1
Não entendo completamente as especificações, então deixe-me tentar responder iterativamente.
- Estou assumindo que a largura de
Prefix + Title < \textwdith
. Caso contrário, um desses dois também deverá ser embrulhado. - Não está claro como
Prefix
eTitle
como deve ser alinhado verticalmente. Eu escolhi o alinhamento ao meio (que é chamadolohi
no ConTeXt)
Conceitualmente, o método mais simples é usar TABLEs. Então, a macro básica é:
\define[3]\TITLE
{\startTABLE[setups=table:title]
\NC #1 \NC #2 \NC #3 \NC \NR
\stopTABLE}
Agora, tudo o que precisamos fazer é definir as configurações table:title
para obter a formatação correta, o que pode ser feito da seguinte forma:
\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
É isso!
Aqui está o código completo com a saída:
\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
que dá
Os quadros superior e lateral servem \showframe
apenas para mostrar que a tabela está estendida até a borda do limite da página.