Tout comme il existe plusieurs types de guillemets ou d’espaces, il existe aussi plusieurs types de tirets.

Les claviers AZERT permettent en général d’en taper deux types : le « tiret-du-6» : « - » et le tiret bas : « _ ».
Mais typographiquement parlant, sur le « - » est employé indifféremment et improprement pour tout : pour le signe des nombres négatifs, les tirets d’un dialogue ou celui utilisé pour lier deux mots.

On distingue pourtant des tirets spécifiques à chaque fois, dont voici les plus courant.

Le trait d’union (U+002D).

Il est utilisé pour lier deux mots. Par exemple dans « grand-père ». C’est le tiret que le l’on trouve sur la touche 6 des claviers AZERTY, il mesure un quart de cadratin.

ÉDIT : j’apprends (merci à Arzhur dans le premier commentaire ci-dessous) que le trait d’union est en fait le caractère U+2010 ; et que celui présent sur la touche 6 du clavier étant un fait un caractère utilisé en informatique, remplaçant tous les autres, quand ces derniers ne sont pas utilisables. Le « tiret du 6 » n’a donc pas de valeur typographique.

Le trait d’union insécable (U+2011)

Même usage que le trait d’union, sauf que s’il est affiché au bout d’une ligne, les deux mots unis par le tiret se retrouveront tous les deux sur la ligne suivante, au lieu de ne renvoyer que le second mot à la ligne.
Sur un clavier AZERTY à multiple niveaux (comme dans les distrib GNU/Linux par défaut), on peut le taper avec les touches Alt Gr Shift 6.

Le trait d’union conditionnel (U+00AD)

Ce dernier permet de spécifier, dans un phrase, où doit se faire une césure de bout de ligne quand cela deviendrait nécessaire. Ce tiret est donc toujours invisible, sauf quand la césure se fait. Voir exemple sur la page de Wikipédia à ce sujet.

Le signe moins mathématique (U+2212)

L’avantage qu’il a sur le trait d’union c’est qu’il possède la même taille que le signe plus et le signe d’égalité : « + − = ».
Sur le clavier FrOSS, on l’obtient avec les touches AltGrShift!.

Le tiret moyen (U+2013)

Ce tiret a la longueur d’un demi-cadratin, aussi la taille du N. C’est ce tiret qui est utilisé pour les listes et les énumérations.
Sur les clavier à multiple niveaux, je le tape avec la combinaison AltGrShift 5.

Le tiret long (U+2014)

Ce tiret cadratin est utilisé dans les dialogues, pour marquer le changement d’interlocuteur :

«[…]
— Bonjour !
— Salut ! »

Il est aussi utilisé pour scinder — au contraire du trait d’union, qui lie — un texte ou une phrase, comme cette phrase, justement (merci Guenhwyvar pour la correction).

(Certaines sources préfèrent cependant l’emploi du tiret-demi cadratin pour les césures, dans un but esthétique.)

Pareil, sur la disposition FrOSS, la combinaison AltGrShift 4 permet de l’obtenir.

Le tiret bas (U+005F)

C’est le « _ », aussi nommé underscore en anglais.

À l’origine, il permettait de souligner une lettre en revenant en arrière sur les machines à écrire (il est plus bas que la ligne). Actuellement il est utilise pour remplacer des espaces ou pour laisser de la place libre dans un formulaire qui va être imprimé.


Info : le terme cadratin désigne une longueur, c’est la longueur de la pièce métallique sur laquelle se trouve la lettre « M » (lettre dont la taille était la référence) utilisé dans l’imprimerie. C’est d’ailleurs de là que vient l’unité « em ».

Un cadratin correspond à la longueur de référence dans une police à une taille donnée.

Sources :