Bonjour,
La mesure « règle horizontale » (en vert) est précise (vous voulez probablement qu'elle soit d'environ 0). Malheureusement, le paramètre « Du bas de l'en-tête au haut du texte » n'est pas fiable. Les calculs pour le déterminer sont complexes, dépendent de la police et sont actuellement incorrects.
Je n'arrive pas à coller une image, pour une raison inconnue, mais... pour commencer,
1. réglez la valeur de la règle horizontale (en vert) à 0 pt
2. Réglez la valeur « du bas de l'en-tête au haut du texte » (en violet) à, disons, la moitié de la hauteur de la police.
3. Ajustez pour que la ligne horizontale repose correctement sur la règle. La moitié convient bien pour Charis, environ 0,2 est mieux pour Arial, si ma mémoire est bonne.
4. Retenez le décalage.
5. Réglez les valeurs comme vous souhaitez réellement qu'elles soient, en ajoutant le décalage.
Qu'est-ce qui ne va pas ?
La valeur en violet est utilisée pour calculer la valeur en bleu à côté, qui, pour des raisons historiques, est la distance du haut de la page au haut de la boîte contenant le texte. Malheureusement, cette boîte inclut l'espace que les concepteurs de polices ont décidé de laisser pour les accents. Pour Charis, l'« ascension » de la police est d'environ 1,5 fois la hauteur de la police, mais pour Arial, c'est 1,2 fois.
Pour calculer le décalage correct, l'interface utilisateur Python devrait (a) déterminer quelle(s) police(s) est/sont utilisée(s) dans l'en-tête, (b) lire d'une manière ou d'une autre la/les police(s) pour déterminer laquelle a l'ascension la plus élevée.
Alternativement, le calcul dans TeX pourrait être effectué d'une autre manière, ce qui casserait les projets existants.
Actuellement, nous avons une estimation, qui est souvent fausse, mais qui ne casse rien en réalité...
Hi,
The green "horizontal rule" measure is accurate (you probably want it to be about 0). Unfortunately the 'Bottom of header to top of text' setting is unreliable. The maths to work it out is complex, depends on the font, and currently wrong.
I can't successfully past an image, for some reason, but... to start with,
1. set the (green) horizontal rule figure to 0pt
2. Set the purple 'bottom of header to top of text' to, say half the font height.
3. Adjust so the horizontal line is sitting on the rule properly. Half is good for charis, 0.2 or so is better for Arial, if I remember correctly.
4. Remember the offset.
5. Set values how you actually want them to be, adding in the offset.
What's going wrong?
The purple figure is used to calculate the blue figure beside it, which for historical reasons is the distance from the top of the page to the top of the box containing the text. Unfortunately, that box includes the space the font designers decided to leave for accents. For Charis, the 'ascent' of the font is about 1.5 times the font height, but for Ariel it is 1.2 times.
To calculate the correct offset, The Python user interface would need to (a) work out which font(s) are in use in the header, (b) somehow read the font(s) to determine which one has the highest ascent.
Alternatively, the calculation in TeX could be done in a different way, which would break existing projects.
At the moment, we have a guess, which is frequently wrong, but doesn't actually break anything...