Luego de investigar con expertos en este tema, programadores de diversas ramas y profesores dimos con la solución a la cuestión y la compartimos en esta publicación.
Solución:
Como señaló Timothy Li, la solución de Aditya dibuja la línea en cada página. Es posible definir un encabezado (o pie de página) que solo aparece en las páginas con contenido. Para mis propósitos, utilicé un pie de página, pero el siguiente código podría aplicarse igualmente solo al encabezado:
setuphead[chapter][
header=empty,
]
% Define the appearance for the section name in the footer.
defineframed[FooterSection][
frame=off,
topframe=on,
align=flushleft,
width=makeupwidth,
rulethickness=1.6pt,
location=bottom,
foregroundstyle=tfxss,
height=broad,
top=blank[small],
]
% Define the appearance of the page number in the footer.
defineframed[FooterPage][
frame=off,
location=bottom,
foregroundstyle=tfxboldss,
]
% Include the section name and page number in the footer.
setupfootertexts
[FooterSectiongetmarking[section]]
[FooterPagepagenumber]
starttext
startfrontmatter
startstandardmakeup
startalignment[middle]tfaTitle Pagestopalignment
stopstandardmakeup
setuppagenumbering[conversion=romannumerals]
setcounter[userpage][1]
completecontent
stopfrontmatter
startchapter [title=alpha] stopchapter
startsection[title=alphasec] stopsection
startchapter [title=beta] stopchapter
startsection[title=alphasec] stopsection
startchapter [title=gamma] stopchapter
startsection[title=alphasec] stopsection
stoptext
Aquí hay una manera de hacer esto. También tenga en cuenta que limpié la forma en que está configurando los textos de encabezado.
setuplayout
[
header=lineheight,
headerdistance=lineheight,
]
setuppagenumbering
[
location=,
alternative=doublesided,
]
definepagebreak
[chapterpagebreak]
[yes,header,footer,right]
setuphead
[chapter]
[
style=bfc,
header=empty,
page=chapterpagebreak,
]
setupheader[style=bold]
setupheadertexts
[getmarking[sectionnumber]hskip1emgetmarking[section][first]]
[pagenumber]
[Chapter~getmarking[chapternumber]hskip1emgetmarking[chapter]]
[pagenumber]
setupbackgrounds[header][text][bottomframe=on]
starttext
chapterFirst Chapter
this is the first chapter
page
the second page of the first chapter
chapterSecond Chapter
this is the second chapter
page
the second page of the second chapter
stoptext
EDITAR Para deshacerse del encabezado en las páginas vacías, use:
unprotect
installpagebreakmethod reallyempty
page_otr_flush_all_floats
page_otr_command_next_page
doifnotnamedlayoutelementparameterv!headerc!statev!stopsetuplayoutelement[v!header][c!state=v!high]%
doifnotnamedlayoutelementparameterv!footerc!statev!stopsetuplayoutelement[v!footer][c!state=v!high]%
page_otr_insert_dummy_page
protect
definepagebreak
[chapterpagebreak]
[yes,reallyempty,right]
setuphead
[chapter]
[
style=bfc,
header=high,
before=blank[force,theheaderheight],
page=chapterpagebreak,
]
Si crees que ha sido de provecho este post, nos gustaría que lo compartas con el resto juniors y nos ayudes a dar difusión a nuestra información.