Eu trabalho com ConteXt. Aqui no StackExchange encontrei um código para LateX para colocar uma linha entre o texto e o margin/marginparagraph. Esta linha é visível na imagem abaixo.
Depois disso, mudei para o ConteXt. No ConteXt, depois de horas de pesquisa, não tenho ideia de como fazer isso. Espero que alguém possa me ajudar. O projeto em que estou trabalhando tem o seguinte código até agora:
\setuppapersize[A5]
\setuplayout[backspace=15mm, width=90mm, rightmargin=35mm]
\showframe[rightmargin]
\setuppagenumbering[alternative=doublesided, location={footer,inright, align=right}]
\setupinmargin[both][style=\bfx\setupinterlinespace,align=right]
\mainlanguage[la]
\language[la]
\setuphyphenation[method=traditional]
\setuptolerance[horizontal,strict] %zorgt voor minder overfull boxes
\setupitemize[packed]
\setuplinenumbering[step=5, location=inner, align=outer]
\setupcolors[state=start]
\setupindenting[small, yes]
\setupinmargin[style=small, align=right, location=outer]
\setupheadertexts[subject][title]
\setupheader[section][textstyle={sc,bold}]
\usemodule[caesar]
\setupbodyfont[11pt]
\starttext
\setupinterlinespace[big]
\margintext{vulpes}
\title{\color[orange]{\sc\bold{Corvus et Vulpēs}}}
\subject{\sc\bold{Apud capitulum X}}
\startlinenumbering
Corvus est avis, quae nōn tanta est\margintext{dhg h hh hhhh fskfa} quanta \margintext{fdgfsg fsggfs}aquila. Pedēs, cauda, ālae, rōstrum et cētera nigra sunt. Cum per āera volat, ālās movēre necesse est. Cum in arboribus sedet, nōn cadit. Pedibus enim sē rāmīs tenēre potest neque tam crassa est ut puer Rōmānus. Ergō etiam ā tenuibus rāmīs sustinērī potest. Corvus pedibus in terrā ambulāre potest. Nīdōs autem nōn in terrā, sed in rāmīs faciunt, quī in altīs arboribus sunt, quō multa animālia ascendere nōn possunt. Pullī nōn ex corvīs ipsīs, sed ex ōvīs eōrum veniunt. Nūlla avis vōcem tam foedam habet quam corvus. Cum enim corvus cantat, ''krra-krra-krra'' audītur.
Etiam vulpēs in terrā ambulāre potest. Nam ea quoque pedēs habet. Numerus pedum est quattuor. Vulpēs nōn est tanta quantus lupus neque tam parva quam mūs. Vulpēs dentibus parva animālia capit et ēst. Ab aliīs bēstiīs timētur, quia improba est. In silvā nēmō amīcus vulpis esse vult neque ūlla bēstia eās amat.
Ecce ... hic corvus in rōstrō frustum cāseī tenet. Cāseus est cibus pāstōrum. Pāstores cāseōs ē lacte ovium faciunt. Lac album est et bibī potest. Cāseus nōn bibī, sed edī potest. Corvus ipse cāseum facere nōn potest, sed eum ā pāstōribus, quī dormiunt, capere potest.\margintext{fasdfa}
Corvus circum oppidum Tūsculum volat, ubi vīllam cum magnō hortō videt. Illīc fenestra aperītur. Corvus per illam fenestram parvum cubiculum videt, in quo ancilla stat. Quae est illa ancilla? Syra est, quae illīc saccōs cibī plenōs numerat. In aliīs saccīs aliī cibī sunt: pīra, māla, panis, cāseus et cētera. Inter illōs saccōs corvus magnum saccum esse videt. Ō quantus est ille saccus! Quid inest?
Etiam Iūlius cubiculum intrat et cāseum abesse videt. Ōstium post sē claudit et īrātus Syram interrogat accūsatque: ''Ubi est cāseus meus? Quis habet cāseum meum? Tūne? Improba ancilla! Mala est ancilla, quae cāseum dominī ēst!'' Dominus eam verberāre vult neque potest; nam baculum eius in ātriō est. Ergō exit ē cubiculō et cum baculō suō revenit. ...
\stoplinenumbering
\stoptext
Responder1
Você poderia usar um pouco de MetaFun. De dentro de uma sobreposição você pode acessar os diferentes campos da página.
Em resposta aos comentários:
como a linha horizontal pode subir para direcionar abaixo do cabeçalho (enquanto a linha vertical ainda toca a horizontal), deixando um espaço de cerca de 8mm entre o texto e a linha.
Por padrão, a distância entre o cabeçalho e o bloco de texto é 0pt e o cabeçalho é alinhado ao topo do seu campo. Pode ser possível usar alguns hacks feios para obter a linha de base do campo de cabeçalho ou algo assim, mas é muito mais fácil apenas reduzir a altura do campo de cabeçalho \lineheight
e aumentar a distância do cabeçalho. Ao configurar headerdistance
você também precisa definir footerdistance
porque o último é inicializado com o primeiro. O código MetaFun precisa apenas de poucos ajustes.
como posso preencher o cabeçalho na margem, não apenas na largura do texto?
Na verdade, o \setupheadertexts
comando leva até cinco argumentos.
\setupheadertexts
[<position>]
[<left odd>] [<right odd>]
[<left even>][<right even>]
Pois <position>
você pode optar margin
por colocar a marcação na margem. Infelizmente o conteúdo é muito amplo para a margem então tenho que usar um pouco \hfill
e \llap
magia.
Como posso colocar o número da página no rodapé da margem externa? agora está 'inright', mas alinhado à esquerda.
O número da página já está no rodapé externo, mas parece que você não está satisfeito com o alinhamento interno. Você pode corrigir o alinhamento usando command
. Você não especificou qual alinhamento deseja, então usei apenas \centerline
.
Sua sugestão para a qualidade da composição parece destruir o efeito do comando
\setupinterlinespace[big]
.
Na verdade \setupinterlinespace[big]
não funciona para mim mesmo sem hz
alinhamento hanging
(vejaComentário de Wolfgangquanto ao porquê). Você pode usar algo parecido \setupinterlinespace[line=3.8ex]
.
Para o número da página: eu tinha algum código para atingir meu objetivo
Isso pode funcionar, mas parece muito complicado para mim. A command
abordagem \setuppagenumbering
pode alcançar algo semelhante e é muito mais curta. Além disso, você não tem o problema de colidir camadas.
As notas na margem devem ter recuo 'negativo'.
A definição que você propõe parece boa, mas não verifiquei por que não está funcionando. Em vez disso, reformulei a definição de um ambiente em um comando e usei command=\exdent
no \setupmargindata
.
Dentro da definição de \exdent
existe um arquivo \blank[-line]
. Isso porque \startnarrower
inicia um novo parágrafo que insere uma linha em branco neste ponto que queremos remover.
Um
\outerline
comando não existe. O que eu tenho que fazer?
Você já descobriu \leftline
e \rightline
então a única coisa que resta a fazer é alternar entre os dois, dependendo se você está na página esquerda ou direita. Isso é feito usando \doifoddpageelse{\rightline}{\leftline}
.
\setuppapersize[A5]
\setuplayout
[% vertical
header=\lineheight,
headerdistance=8mm,
footerdistance=0pt,
% horizontal
backspace=15mm,
width=90mm,
rightmargin=35mm]
\startuseMPgraphic{page}
path outer, text, head, ohead, p, q ;
StartPage ;
outer := Field[Text] [OuterMargin] ;
text := Field[Text] [Text] ;
head := Field[Header] [Text] ;
ohead := Field[Header] [OuterMargin] ;
if OnRightPage :
p := .5[lrcorner text,llcorner outer] -- .5[lrcorner head,llcorner ohead] ;
q := llcorner head -- lrcorner ohead ;
else :
p := .5[lrcorner outer,llcorner text] -- .5[lrcorner ohead,llcorner head] ;
q := llcorner ohead -- lrcorner head ;
fi ;
draw p withcolor \MPcolor{orange} ;
draw q withcolor \MPcolor{orange} ;
StopPage ;
\stopuseMPgraphic
\defineoverlay[page][\useMPgraphic{page}]
\setupbackgrounds[page][background=page]
\setuppagenumbering
[alternative=doublesided,
command=\doifoddpageelse{\rightline}{\leftline},
location={footer,inright}]
\mainlanguage[la]
\language[la]
\setuphyphenation[method=traditional]
\setuptolerance[horizontal,strict] %zorgt voor minder overfull boxes
\setuplinenumbering[step=5, location=inner, align=outer]
\setupindenting[small,yes]
\setupinterlinespace[line=3.8ex]
\setupheadertexts
[text]
[subject][]
[][title]
\setupheadertexts
[margin]
[][\hfill\llap{\getmarking[title]}]
[\rlap{\getmarking[subject]}\hfill][]
\setupheader[style=\bf\cap]
\setuphead
[title]
[textcolor=orange,
textstyle=\bf\cap]
\setuphead
[subject]
[textstyle=\bf\cap]
\starttexdefinition unexpanded exdent #1
\blank[-line] % Remove the newline from the following \startnarrower
\startnarrower[left]
\setupindenting[-\leftskip,yes]
#1
\stopnarrower
\stoptexdefinition
\setupmargindata
[margintext]
[location=outer,
width=\outermarginwidth,
align=inner,
style=small,
command=\exdent]
\usemodule[caesar]
\definefontfeature
[default][default]
[protrusion=quality,
expansion=quality]
\setupbodyfont[11pt]
\setupalign[hz,hanging]
\starttext
\margintext{vulpes}
\starttitle[title={Corvus et Vulpēs}]
\startsubject[title={Apud capitulum X}]
\startlinenumbering
Corvus est avis, quae nōn tanta est\margintext{dhg h hh hhhh fskfa} quanta \margintext{\samplefile{ward}}aquila. Pedēs, cauda, ālae, rōstrum et cētera nigra sunt. Cum per āera volat, ālās movēre necesse est. Cum in arboribus sedet, nōn cadit. Pedibus enim sē rāmīs tenēre potest neque tam crassa est ut puer Rōmānus. Ergō etiam ā tenuibus rāmīs sustinērī potest. Corvus pedibus in terrā ambulāre potest. Nīdōs autem nōn in terrā, sed in rāmīs faciunt, quī in altīs arboribus sunt, quō multa animālia ascendere nōn possunt. Pullī nōn ex corvīs ipsīs, sed ex ōvīs eōrum veniunt. Nūlla avis vōcem tam foedam habet quam corvus. Cum enim corvus cantat, ''krra-krra-krra'' audītur.
Etiam vulpēs in terrā ambulāre potest. Nam ea quoque pedēs habet. Numerus pedum est quattuor. Vulpēs nōn est tanta quantus lupus neque tam parva quam mūs. Vulpēs dentibus parva animālia capit et ēst. Ab aliīs bēstiīs timētur, quia improba est. In silvā nēmō amīcus vulpis esse vult neque ūlla bēstia eās amat.
Ecce \textellipsis\ hic corvus in rōstrō frustum cāseī tenet. Cāseus est cibus pāstōrum. Pāstores cāseōs ē lacte ovium faciunt. Lac album est et bibī potest. Cāseus nōn bibī, sed edī potest. Corvus ipse cāseum facere nōn potest, sed eum ā pāstōribus, quī dormiunt, capere potest.\margintext{fasdfa}
Corvus circum oppidum Tūsculum volat, ubi vīllam cum magnō hortō videt. Illīc fenestra aperītur. Corvus per illam fenestram parvum cubiculum videt, in quo ancilla stat. Quae est illa ancilla? Syra est, quae illīc saccōs cibī plenōs numerat. In aliīs saccīs aliī cibī sunt: pīra, māla, panis, cāseus et cētera. Inter illōs saccōs corvus magnum saccum esse videt. Ō quantus est ille saccus! Quid inest?
Etiam Iūlius cubiculum intrat et cāseum abesse videt. Ōstium post sē claudit et īrātus Syram interrogat accūsatque: \quotation{Ubi est cāseus meus? Quis habet cāseum meum? Tūne? Improba ancilla! Mala est ancilla, quae cāseum dominī ēst!} Dominus eam verberāre vult neque potest; nam baculum eius in ātriō est. Ergō exit ē cubiculō et cum baculō suō revenit. \textellipsis
\stoplinenumbering
\stopsubject
\stoptitle
\stoptext