Mes notes marginales ne sont composées que d'un caractère, et je désire qu'il ne soit séparé du texte courant que par une (ou deux) largeurs de m.

Il est possible de récupérer cette largeur par la commande \fontdimen6.

Adoncques, si dans le préambule j'écrivais marginparwidth=\fontdimen6 et marginparsep=\fontdimen6, j'aurais défini ces deux valeurs en fonction de la largeur de m.

Mais voilà : j'utilise deux polices, adforn et kpfonts, dans le document.

Quand je compile, j'obtiens :

Ouvrir dans l'éditeur
! Missing font identifier.
<to be read again> 
                   \relax 
l.995 \Gm@process

Y a-t-il un moyen de préciser de quelle police je désire extraire la largeur de m ?

Voici un ECM :

Ouvrir dans l'éditeur
\documentclass[12pt]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[light, largesmallcaps, oldstyle]{kpfonts}
\usepackage{adforn}
\usepackage[twoside
            ,a4paper
        ,includeheadfoot
            ,layoutsize={190mm,220mm}
            ,layoutoffset={10mm,10mm}
        ,hdivide={15mm,15cm, }
        ,vdivide={18mm,19cm, }
            ,marginparwidth=\fontdimen6
            ,marginparsep=\fontdimen6
            ,showcrop
            ]{geometry}
\usepackage[french]{babel}
\begin{document}
\marginpar{\adforn{61}}« Il faut continuer, je ne peux pas continuer
\end{document}

Posée 11 Avr '16, 16:18

Pathe's gravatar image

Pathe ♦♦
6.0k4101193
Taux d'acceptation : 55%

Quelle drôle d'idée d'aller chercher dans \fontdimen alors que 1em existe.

J'a

(11 Avr '16, 18:44) unbonpetit ♦♦ unbonpetit's gravatar image

Quelle drôle d'idée d'aller chercher fontdimen alors que 1em existe. Le code suivant le fait selon les deux façons, à vous de décider si vous utilisez foo et Foo ou bien \bar et \Bar.

Ouvrir dans l'éditeur
\documentclass[12pt]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[light, largesmallcaps, oldstyle]{kpfonts}
\usepackage{adforn}
\begingroup
\fontfamily{OrnementsADF}\fontencoding{U}\fontseries{m}\fontshape{n}\selectfont
\xdef\foo{\the\fontdimen6\font}\xdef\bar{\the\dimexpr1em\relax}%
\endgroup
\normalfont
\xdef\Foo{\the\fontdimen6\font}\xdef\Bar{\the\dimexpr1em\relax}%
\usepackage[twoside
            ,a4paper
        ,includeheadfoot
            ,layoutsize={190mm,220mm}
            ,layoutoffset={10mm,10mm}
        ,hdivide={15mm,15cm, }
        ,vdivide={18mm,19cm, }
            ,marginparwidth=\Foo% ou \foo ou \bar ou \Bar
            ,marginparsep=\Foo% ou \foo ou \bar ou \Bar
            ,showcrop
            ]{geometry}
\begin{document}
1em avec kpfont vaut : \Foo{} ou plus simplement \Bar

1em avec adforn vaut :
\foo{} ou plus simplement \bar\bigbreak

\marginpar{\adforn{61}}« Il faut continuer, je ne peux pas continuer
\end{document}
Lien permanent

Publiée 11 Avr '16, 18:47

unbonpetit's gravatar image

unbonpetit ♦♦
1.7k18
Taux d'acceptation : 68%

Modifiée 11 Avr '16, 18:47

Mais oui ! 1em ! Je n'avais tout simplement pas pensé à cette quantité, qui est bien relative à la police choisie.

(11 Avr '16, 19:20) Pathe ♦♦ Pathe's gravatar image

Je ne réussis pas à modifier le code avec des valeurs plus petites que 1em.

(11 Avr '16, 19:40) Pathe ♦♦ Pathe's gravatar image

Partout où j'ai écrit 1em, vous mettez 0.5em et vous verrez bien que \bar et \Bar sont bien modifiées !

(11 Avr '16, 19:43) unbonpetit ♦♦ unbonpetit's gravatar image

Que ce soit chez moi ou sur overleaf, changer les valeurs de Foo et foo en 15em ou 0.5em ne change pas la largeur de la marge ni son espacement avec le corps du texte.

(11 Avr '16, 20:59) Pathe ♦♦ Pathe's gravatar image

Moi, cela fonctionne très bien au contraire (et sur overleaf aussi !), à condition d'agir sur \bar et non pas \foo ! Je mets marginparsep=\dimexpr\bar*3\relax et la note marginale s'écarte bien. Vous devez faire quelque chose de travers, mais comme vous ne donnez aucun code, il est impossible de savoir quoi.

(11 Avr '16, 21:29) unbonpetit ♦♦ unbonpetit's gravatar image

Si j'écris \xdef\Foo{\the\fontdimen6\font}\xdef\Bar{\the\dimexpr5em\relax}% je vois bien les valeurs changer dans le texte, mais les dimensions de la marge et de son écartement ne varient pas.

(11 Avr '16, 22:06) Pathe ♦♦ Pathe's gravatar image

Je ne vois plus l'intérêt de \Foo et \foo. Si vous rendez \bar égale à 5em, alors on observe bien que la note marginale se décale dans la marge. Je vous assure.

(11 Avr '16, 22:31) unbonpetit ♦♦ unbonpetit's gravatar image

Oui, j'avais fait une fausse manœuvre.

Mon problème est que je ne souhaite pas éloigner la marge du texte mais la rapprocher.

Et je ne réussis pas à diviser \bar dans l'expression \dimexpr\bar etc..

(12 Avr '16, 00:56) Pathe ♦♦ Pathe's gravatar image
1

Mettez marginparsep=0.1\dimexpr\bar\relax

(12 Avr '16, 01:03) unbonpetit ♦♦ unbonpetit's gravatar image

Oui, c'était ça.

Deux choses : pour la meilleure lisibilité du fil, me permettez-vous de supprimer quelques commentaires (de « Je ne réussis pas à modifier le code avec des valeurs plus petites que 1em » à « Oui, j'avais fait une fausse manœuvre ») ?

Enfin, j'ai le sentiment qu'il y a une limite inférieure à la taille de marginparsep : la marge ne pourra pas se rapprocher au point de toucher le texte. Mon sentiment est-il fondé ?

(12 Avr '16, 01:13) Pathe ♦♦ Pathe's gravatar image
1

Le sentiment est infondé. Si marginparsep vaut 0pt, la note marginale touche le texte.

Pour les modifications, rectifications, corrections, re-corrections, retouches à posteriori, vous êtes le grand spécialiste ici. Le mieux est l'ennemi du bien et personnellement, je n'aime pas du tout : je trouve que ces actions a posteriori travestissent voire amputent les échanges qui ont eu lieu et renvoient trop à leurs auteurs les petites erreurs commises au point que cela peut devenir vexatoire. Mais dans ce cas, faites ! Je vous donne également la permission de supprimer ce commentaire...

(12 Avr '16, 01:38) unbonpetit ♦♦ unbonpetit's gravatar image

Bien reçu ! :)

(12 Avr '16, 01:45) Pathe ♦♦ Pathe's gravatar image
Affichage de 5 parmi 12 Afficher 7 commentaire(s) en plus
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.

Mots-clés de la question :

×1

Question posée : 11 Avr '16, 16:18

Question vue : 1,971 fois

Dernière mise à jour : 12 Avr '16, 01:45

Questions similaires