• [^] # Re: quelques questions

    Posté par (site web personnel, Mastodon) . En réponse au journal typst est le nouveau LaTeX. Évalué à 2. Dernière modification le 31 mars 2023 à 01:31.

    Merci pour ces liens ; ne pratiquant pas les grilles CSS, j'avais pas fait gaffe à l'apparition de cette unité. À la lecture du premier lien ça reste un peu flou, mais probablement qu'avec plus de pratique l'illumination viendra ?
    En tout cas, Typst reprend le concept avec son #grid(), ce qui devrait faciliter la conversion/transposition dans un sens comme dans l'autre.


    La version longue...

    Pour commencer, l'exemple me parle et c'est probablement ce que j'aurais fait de prime abord (hormis le repeat dont je ne me souvenais pas.)

     display: grid;
     grid-template-columns: repeat(4, 25%);
     grid-column-gap: 10px;

    Ce qui est dénoncé comme premier souci n'en est pas pour moi qui calcule toujours précisément, mais poursuivons. Le second (moins) petit souci est celui de l'écartement :

    Because we’ve set each column to 25% and a grid-column-gap to 10px then that pushes grid element wider than 100%. [...] What we’re really saying with the code above is "set each column to 25% the width of the viewport and have a 10px gap between them." It’s a subtle difference,

    Là, soit j'aurais mis cet écartement à zéro et rajouté des marges internes (ce n'est pas exactement pareil, mais les boîtes peuvent s'en trouver mieux aérées et je trouve ça mieux...) ; soit j'aurais estimé le pourcentage max que devrait représenter la somme des écartements pour recalculer les pourcentages en conséquence (mais il est vrai que le premier souci de l'auteur est que les calculs lui filent la migraine...) Il donne la solution :

     display: grid;
     grid-template-columns: repeat(4, 1fr);
     grid-column-gap: 10px;

    La solution, un peu magique, est expliqué par

    There’s no overflow on the x-axis anymore because setting each column to 1fr takes that 10px into account automatically and subtracts it from the total width available for each column.

    So far, so good. Sauf que, pour l'instant, je comprends que 1fr = 25% no plus de la largeur totale mais de la largeur totale sans la somme des trois écartements. Le coup du disponible vs utilisable (Pour en revenir à du \LaTeX, c'est un peu comme \pagewidth —tout le papier— vs \textwidth —sans les marges— vs \linewidth —sans les indentations/espacements supplémentaires du contexte— ainsi que d'autres comme \hsine —pour le/la paragraphe/liste/boîte courant/e— et \columnwidth —pour la colonne ou figure courante— etc. Revenons à nos moutons.) Puis vient l'exemple suivant, dit plus complexe :

     display: grid;
     grid-template-columns: 250px repeat(12, 1fr);
     grid-column-gap: 10px;

    En regardant l'illustration, on voit que l'on passe de \frac{1}{4}=25\% à \frac{1}{12}=5\% pour 1fr ! Ouch. Et l'auteur assène :

    one "fraction of the free space" (literally how the spec phrases it). [...] It’s super readable [...]

    M'ouais, toujours pas clair pour moi ce 1fr ; ce qui est lisible ici c'est la construction repeat(x, 1fr) que je peux traduire par \frac{1}{x}.
    Ah si, une chose est plus claire : le passage, dans le premier exemple, de repeat(4, 25%) à repeat(4, 1fr) a bien illustré la spécification qui dit que « A flexible length or is a dimension with the fr unit, which represents a fraction of the leftover space in the grid container. » Par contre, pour quelle fraction j'arrive pas à savoir : ce fut tantôt 25% tantôt 8% magiquement. L'exemple suivant a ramené mes interrogations initiales

     grid-template-columns: 1fr 1fr 40px 2fr;

    ...Si on retire les 40px le reste (le « leftover space » de la ligne) se réparti, en regardant l'image à 25%/25%/50%. Je devine que 2fr c'est le double de 1fr et que 3fr en serait le triple ? Si c'est le cas, c'est une avancée dans ma compréhension ; mais je bloque toujours sur le fait que l'unité de référence soit 1⁄4 et que dans un autre contexte ça devient {}^1/{}_{12}
    Bon, vais lire MDN voir si ça m'avance plus (d'habitude ce site ne me déçoit pas mais il faut dans certains cas croiser plusieurs sites pour comprendre un concept.)

    "It is seldom that liberty of any kind is lost all at once." ― David Hume