% keyboard.dat An idea of Bernard Gaulle 04/21/92 % last mods: 2004/03/29 % Copyright Bernard Gaulle as in french.doc % (you are allowed instead to customize copies of that file) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % User data definitions for the keyboard package (and other stuff) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % (is called by kbconfig.tex before patterns loading at INITEX time) % (might be called at any time by the "keyboard" LaTeX package) % (might be called at any time by kb2lex.tex to generate .lex translators) % % This is a way to customize your LaTeX format/document accordingly with % your own (temporary or most generally used) keyboard. Is _always_ superseeded % by any later call to the "inputenc" package. % % Give below the encoding you want use for your input: \kbencoding{qwerty}% is the nest for French %\kbencoding{ascii}% the most reduced input character set. %%%%%%%%%%%%%%%%%%%%%% (choose among xxx.kbc files) % % This previous information superseeds any site definition provided % via a keyboard.cfg file. % % The real data which are loaded in memory are in fact in files xxx.kbc % where xxx can be "decmulti", "ansinew", "latin1", "applemac", etc. % You can have your own definition file. To understand the contents of the % tables in xxx.kbc, you have first to know that: % First line is for lower caps and second for their hexa. codes in ec fonts % third line is for upper caps and fourth for " " " " " " % Each hexa line (\hex) can be preceded by their unicode numbers (\ucs line). % A dot is inserted in any non-applicable case. % Use \ESC when you want to pass a TeX cs (except already used ones in *.kbc) % to kb2lex for kb*.lex file generation. % \endinput% an example of such table is provided at the end of this file. % %%%%%%%%%%%%%%%%%%%%% Explications plus detaillees %%%%%%%%%%%%%%%%%%%%%%% % (en francais) % concernant le fichier de definitions % de votre type de clavier %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Ce qui suit s'applique aux fichiers xxx.kbc, ou xxx est relatif % a une type de codage de caracteres entres au clavier. % % Ce fichier ne concerne _pas_ les << moteurs >> utilisant un filtre % d'entree/sortie (lorsque le caractere source n'est pas celui donne a TeX % mais un autre caractere de substitution). % % Il est normalement pret a l'usage si le codage de votre clavier est % l'un de ceux fournis. Toutefois ce n'est pas toujours le cas... % % Vous pouvez modifier ce fichier pour l'adapter a votre clavier. % Voici la demarche d'esprit a garder en memoire pour modifier ce tableau % << Si on applique l'accent a la lettre indiquee (1ere colonne) on % obtient le signe indique a l'ecran dans la case correspondante. % Le code hexa de la ligne suivante indique seulement a TeX -- dans % certains cas -- quel code interne utiliser >> % (ce code est celui de la norme de Cork aussi appele << font encoding >> T1) % Ces lignes concernent le codage sur 1 caractere que TeX aura a interpreter. % Une ligne \ucs peut exister pour les codages en unicode (sur 2 caracteres). % Il vous suffit donc de prendre une copie du fichier xxx.kbc en yyy.kbc, % d'editer ce tableau et de mettre les lettres accentuees % appropriees. Attention un blanc peut cacher un code hexa non-affichable ! % Les caracteres [ ] | et . sont significatifs. % (le . indique une case vide, il doit etre precede et suivi d'un espace). % Il est possible de rajouter d'autres tableaux de ce genre. % Ceux fournis ne concernent que les caracteres accentues usuels en francais % ainsi que des ligatures, les oe ae et d'autres caracteres moins usuels. % Pour ces derniers il ne s'agit plus d'accentuation mais d'equivalences % entre un caractere et sa macro TeX. % % Les codes hexadecimaux sont ceux des polices ec ils ne doivent en aucun % cas etre changes si vous respectez le << font encoding >> T1. % % Les programmes TeX qui utilisent xxx.kbc savent detecter si % l'option MlTeX est active et dans ce cas donnent au moteur TeX la definition % des caracteres fournis dans ce tableau. Ces nouveaux caracteres sont bien % dans ce cas de type caractere (\catcode 11) pour le compilateur TeX. % L'avantage d'utiliser MlTeX est donc ici de ne pas avoir de nouveau % caractere actif (comme cela est avec l'extension "inputenc"). % % Pour diverses raisons techniques il est parfois necessaire d'utiliser % le mecanisme des caracteres actifs et ce sera en general le cas des % caracteres qui ne sont pas composes d'une lettre _et_ d'un accent. % Alors il vous faudra le preciser en encadrant les definitions de ce genre % par la sequence \ACTIVEtrue ... definitions ... \ACTIVEfalse % Les caracteres seront alors des caracteres actifs (donc des macros) et % ne pouront pas alors faire partie d'un nom de macro-instruction. % Le temps de calcul pour le traitement des documents s'en trouvera un peu % rallonge. % % On encadrera de la meme maniere les definitions de ligatures par % \LIGStrue ... definitions de ligatures ... \LIGSfalse % % Il faudra enfin encadrer par : % \MACROtrue ... definitions des macros ... \MACROfalse % les equivalences qui n'aboutissent pas a un seul caractere de police % et/ou necessitent d'etre composes au dernier moment parcequ'elles % s'appliquent differemment selon que la lettre suivante est une majuscule % ou une minuscule (par exemple). % % Si vous choisissez de modifier ce tableau, il est conseille de le faire % tres progressivement, ligne par ligne, caractere par caractere et de % tester les effets a l'aide de kbtest.tex (a adapter a votre clavier). % N'OUBLIEZ PAS que vous ne pouvez pas avoir deux fois le meme caractere % dans la table. Si vous le faites, il est normal que TeX s'en plaigne et % s'arrete, sur un message du style : % % ! Missing control sequence inserted. % % \inaccessible % % mais cela dependra des circonstances. % % Autres commentaires : a la generation d'un nouveau format vous devez % =================== imperativement avoir le message << No pages of output >> % si ce n'etait pas le cas, verifiez que vous n'avez pas suprime d'espace % autour des definitions de caracteres ou de commandes. % % Pour la generation des fichiers kb*.lex via kb2lex : si vous souhaitez % passer des commandes TeX autres que celles deja utilisees dans les fichiers % *.kbc il est imperatif de faire preceder ces commandes d'une macro % d'echappement \ESC, voir exemple dans un fichier .kbc. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Voici un exemple succint de tableau de definition : %------ Tableau des caracteres accentues de mon clavier francais -------------- % \_______________________________________________________/ % |___1__|___2__|___3__|___4__|___5__|___6__|___7__|___8__|%%%%%comments%% \ac[ \` | \' | \" | \^ | {\c} | {} | {} | {\r} ]%<== acc.7 bits %------------------------------------------------------------------------------ [a | à | . | ä | â | . | . | . | å |% no \'a in f. \ucs| 00E0 | . | 00E4 | 00E2 | . | . | . | 00E5 ]% + angstroem \hex| ^^e0 | . | ^^e4 | ^^e2 | . | . | . | ^^e5 ]% + angstroem [A | À | . | Ä | Â | . | . | . | Å |% no \'A in f. \ucs| 00C0 | . | 00C4 | 00C2 | . | . | . | 00C5 ]% \hex| ^^c0 | . | ^^c4 | ^^c2 | . | . | . | ^^c5 ]% %------------------------------------------------------------------------------ [{\i} | . | . | ï | î | . | . | . | . |% no \`i \'i \ucs| . | . | 00EF | 00EE | . | . | . | . ]% \hex| . | . | ^^ef | ^^ee | . | . | . | . ]% [{\I} | . | . | Ï | Î | . | . | . | . |% no \`I \'I \ucs| . | . | 00CF | 00CE | . | . | . | . ]% \hex| . | . | ^^cf | ^^ce | . | . | . | . ]% %------------------------------------------------------------------------------ [c | . | . | . | . | ç | . | . | . |% c cedille \ucs| . | . | . | . | 00E7 | . | . | . ]% \hex| . | . | . | . | ^^e7 | . | . | . ]% [C | . | . | . | . | Ç | . | . | . |% C cedille \ucs| . | . | . | . | 00C7 | . | . | . ]% \hex| . | . | . | . | ^^c7 | . | . | . ]% %------------------------------------------------------------------------------ %(*) A noter : %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Macro-instructions d'accention utilisables avec l'option "-mltex" % % *----------------------------------* % | \` | \' | \" | \^ | {\c} | {\r} |%<== % |----------------------------------| |-- 7 bits accent. macros % | \v | \u | \= | \. | \H | \~ |%<== % *----------------------------------* % % Les autres macros-instruction d'accentuation restent utilisables mais % ne tirent pas profit de l'option "-mltex". % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %------------------------------------------------------------------------------ % Ci-dessous les caracteres speciaux qui sont des \chardef (cad 1 car de fonte) % A noter que depuis LaTeX2e ce ne sont plus des \chardef mais des macros. %------------------------------------------------------------------------------ \MACROtrue% %------------------------------------------------------------------------------ [{\oe} | . | . | . | . | . | ÷ | . | . |% e dans l'o \ucs| . | . | . | . | . | 0153 | . | . ]% \hex| . | . | . | . | . | ^^f7 | . | . ]% [{\OE} | . | . | . | . | . | × | . | . |% E dans l'O \ucs| . | . | . | . | . | 0152 | . | . ]% \hex| . | . | . | . | . | ^^d7 | . | . ]% %------------------------------------------------------------------------------ \MACROfalse% %------------------------------------------------------------------------------ % Ci-dessous les caracteres speciaux qui sont en fait des ligatures % (ne pas en rajouter) %------------------------------------------------------------------------------ \LIGStrue %------------------------------------------------------------------------------ [{!`} | . | . | . | . | . | ¡ | . | . |% ! espagnol \hex| . | . | . | . | . | ^^bd | . | . ]% \hex| . | . | . | . | . | ^^bd | . | . ]% [. | . | . | . | . | . | . | . | . |% \hex| . | . | . | . | . | . | . | . ]% %------------------------------------------------------------------------------ \LIGStrue %------------------------------------------------------------------------------ % Ci-dessous les macro-caracteres qui sont des caracteres mathematiques % et donc (pour l'instant) ne font pas partie des fontes EC. %------------------------------------------------------------------------------ \ACTIVEtrue %------------------------------------------------------------------------------ [{\ss} | . | . | . | . | . | ß | . | . |% es-zet \ucs| . | . | . | . | . | 00DF | . | . ]% \hex| . | . | . | . | . | ^^ff | . | . ]% % obviously kb7to8 will not contain target {{SS}} [{\SS} | . | . | . | . | . | {{SS}} | . | . |% \ucs| . | . | . | . | . | . | . | . ]% \hex| . | . | . | . | . | ^^df | . | . ]% %------------------------------------------------------------------------------ \ACTIVEfalse% fin du jeu hors standard \MACROfalse% fin du jeu de macros-instructions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%