« LaTeX/Programmer avec LaTeX » : différence entre les versions

Contenu supprimé Contenu ajouté
longueurs
→‎Compteurs et longueurs : longueurs : +
Ligne 6 :
Cela permet de faire des commandes personnelles (macros) à comportement « variable », par exemple en calculant la largeur et la hauteur du texte passé en paramètre.
 
== CompteursLongueurs et longueurscompteurs ==
 
Voir aussi ''[[../Mise en forme du texte (avancé)#Déformation du texte]]''.
 
Les compteurs et longueurs sont des variables pour LaTeX. Le nom de variable suit le formalisme des commandes personnelles : il commence par une contre-oblique et ne doit contenir que des lettres.
 
=== Longueurs ===
 
Une longueur doit contenir un nombre, entier ou décimal (le séparateur étant le point) et une unité accolée (cf. ''[[../Éléments de base#Espaces et changements de ligne|Éléments de base &gt; Espaces et changements de ligne]]''). La déclaration d'une longueur se fait avec la commande <code>\newlength</code>, et l'assignation de la valeur se fait avec <code>\setlength</code>, par exemple :
Ligne 26 :
\hspace{\malongueur}
</source>
On peut ajouter une valeur à une longueur avec <code>\addtolength</code> :
<source lang="latex">
\addtolength{\malongueur}{1em}
</source>
augmente la longueur <code>\malongueur</code> d'un cadratin.
 
Voir aussi ''[[../Mise en forme du texte (avancé)#Déformation du texte]]''.
 
LaTeX possède des longueurs prédéfinies qui ajustent la mise en forme du texte. Pour ce qui est des marges et de l'interligne, on préfèrera faire confiance aux extensions dédiées <code>geometry</code> (cf. ''[[../Mise en page|Mise en page]]'', <code>fancyhdr</code> et <code>setspace</code> (cf. ''[[../Mise en forme du texte (avancé)#Espacement interligne|Mise en forme du texte (avancé) &gt; Espacement interligne]]''. On peut avoir la liste des longueurs de mise en page avec l'extension <code>[francais]{layout}</code>, qui définit une commande <code>\layout</code> affichant une page avec la définition des longueurs.
 
Voici quelques longueurs utiles :
* paragraphes :
** <code>\parindent</code> : alinéa (retrait de paragraphe),
** <code>\parskip</code> : espacement entre les paragraphes,
** <code>\baselineskip</code> : interligne ;
* tableaux :
** <code>\tabcolsep</code> : moitié de la longueur séparant deux colonnes,
** <code>\arrayrulewidth</code> : largeur des filets,
** <code>\doublerulesep</code> : espacement entre deux filets pour un filet double ;
* cadres :
** <code>\fboxrule</code> : épaisseur du filet,
** <code>\fboxsep</code> : espacement entre le cadre et le contenu.
 
=== Compteurs ===
 
== Extensions spécifiques ==