SuivantPrec.Bas prec.BasNiv. sup.

5.4 Création d'un fichier d'entrée maketcp 

Pour créer un fichier TCP, vous devez écrire un fichier texte qui donne à la fois la traduction des caractères spéciaux en séquences de contrôle TeX et la conversion de caractère en entrée et en sortie. Vous pouvez avoir un exemple du format du fichier en convertissant le fichier TCP fourni (850_tex.tcp) en son fichier texte équivalent, avec la commande

maketcp -d 850_tex.tcp exemple.txt

Le fichier texte peut contenir des commentaires, qui sont des lignes ayant un `%' dans la première colonne; vous pouvez aussi rendre votre fichier plus lisible en y insérant des lignes blanches, qui sont ignorées. Toutes les autres lignes correspondent soit à la conversion de caractères spéciaux en séquences de contrôle TeX, soit à la conversion, dans le codage interne de TeX, des caractères entrés. La table de conversion des caractères en sortie est construite à partir de la table d'entrée. Les caractères à convertir peuvent être entrés soit tels quels (un caractère unique), soit en hexadécimal, dans le format de TeX 3.0 (^^ff). La traduction d'un caractère spécial se fait comme ceci:

^^84 -> \¨a % a trema

La ligne commence par le caractère spécial ä (exprimé ici en hexadécimal), suivi d'un espace, d'une flèche (un tiret et le caractère `plus grand que'), d'un espace puis de la séquence de contrôle TeX qui devra remplacer le caractère. Le `%' et le texte qui le suit, jusqu'à la fin de la ligne, seront ignorés sauf s'ils font partie de la commande TeX. Dans l'exemple suivant, UN espace ne sera pas ignoré:

^^fe -> \%\ % Séquence de contrôle Tex: "\%\ "
La conversion d'un caractère en entrée en un code interne (et d'un code interne en un caractère de sortie) se fait comme ceci:

^^84 ^^e4 % a trema (PC) -> a trema (ISO 8859/1)

La ligne commence par le caractère en entrée suivi d'un espace et de la représentation interne désirée (telle qu'elle est codée dans le fichier TFM). Quand le caractère ^^e4 doit être écrit sur la sortie, il sera converti en ^^84 (dans cet exemple). Si plusieurs caractères différents en entrée sont mis en correspondance avec un même caractère interne, alors la dernière correspondance sera utilisée pour effectuer la conversion en sortie:

a b
b b

Dans cet exemple sans intérêt (mais simple), a et b s'appliquent tous deux au même caractère interne: par la règle ci-dessus, b sera converti en b en sortie. Cette propriété est importante si vous voulez faire correspondre des caractères étendus à des caractères ASCII. Vous devrez utiliser

^^af z
z z

pour traduire ^^af en z et faire afficher un z par un z. Si vous écrivez seulement

^^af z

alors ^^: sera affiché à la place du z (de plus, un z dans un nom de fichier sera converti en ^^: ce qui provoquera des protestations à l'ouverture du fichier!).

Les tables de conversion par défaut sont modifiées par un tel fichier texte. En effet, elles sont construites à l'aide des options -8 et -r (voir ci-dessus). Dans certains cas, vous pouvez vous épargner un peu de travail en utilisant les options -8 et/ou -r. Quand vous convertissez un fichier TCP en un fichier texte, la sortie montre seulement les différences dans les tables par défaut établies par ces options: la sortie du fichier texte dépendra par conséquent de l'utilisation ou non de ces options. SuivantPrec.Bas prec.HautNiv. sup.