Historique des modifications [retour]
cliquez ici pour masquer/afficher la révision 17
mineure

26 Aoû '17, 02:57

Pathe's gravatar image

Pathe
7.6k53211254

Pourquoi LaTeX ne supprime t-il supprime-t-il pas les espaces superflus dans les noms d'environnement ?d'environnement ?

Dans le code suivant, si j'insère `une espace` une espace avant ou après le nom de l'environnement center, `center`, ce dernier n'est plus reconnu. \documentclass[11pt]{article} \begin{document} \begin{center } ! LaTeX Error: Environment center undefined. \LaTeX est-il logique ? \LaTeX{}est-il rationnel ? Est-ce que \LaTeX{} est de l'alchimie ? \end{center } \end{document} Or, on sait que les espaces sont supprimés **après** les commandes. Dans le code ci-dessus, en omettant les accolades après la commande `\LaTeX` `\LaTeX`, les espaces suivants sont absorbés. C'est une règle de TeX. On sait qu'avec TeX : - `l'espace` l'espace pour TeX est un caractère ayant un `code de catégorie` code de catégorie égal à 10, - les lettres qui composent les noms des commandes ont un code de catégorie égal à 11, - l'accolade ouvrante a un code de catégorie égal à 1 - et l'accolade fermante a un code de catégorie égal à 2. Pour TeX une commande (*appelée séquence de contrôle*) commande, appelée *séquence de contrôle*, est : - soit un `mot de contrôle` *mot de contrôle* commençant par un caractère ayant un code de catégorie 0 (l'antislash ou contre-oblique) et `composé de lettres`. *composé de lettres*. Il se termine alors avec le premier caractère qui n'est pas une lettre (qui a un code de catégorie différent de 11). 11) ; - soit un `symbole de contrôle` *symbole de contrôle* commençant de façon identique par l'antislash suivi d'un caractère qui n'est `pas *pas une lettre` lettre*. Ainsi, puisque dans un environnement LaTeX les espaces ne sont pas « mangés » par TeX, j'en déduis qu'un environnement peut avoir un nom composé de plusieurs mots comme par exemple : exemple : \begin{bidule truc} ... \end{bidule truc} Le code suivant l'illustre : l'illustre : \documentclass[11pt]{article} \newenvironment{bidule truc}{% \itshape }{% % Rien } \begin{document} \begin{bidule truc} autant d'espace entre bidule et truc sans avoir une seule erreur ! Mais apr\`es après ou avant le nom : erreur ! \end{bidule truc} \end{document} Édit Edit ce même jour à 11 h 00, ajout d'un deuxième exemple montrant que l'on peut définir un environnement dont le nom **commence *commence par une espace** espace* (ou plusieurs) : par plusieurs) : \documentclass[11pt]{article} \newenvironment{ bidule truc}{% 3 espaces avant le premier mot \itshape }{% % Rien } \begin{document} \begin{ bidule truc}% 1 seul espace avant le premier mot sans erreur ! autant d'espace avant bidule sans avoir une seule erreur ! Mais apr\`es le nom : erreur ! \end{bidule truc}% erreur, il manque le premier espace \end{document} Et j'en conclus donc que le nom des environnements LaTeX n'obéit pas aux même règles que le nom des commandes TeX. - quelles sont les règles auxquelles sont soumis les noms d'environnement de LaTeX ? LaTeX ? - autrement dit, quels sont les caractères autorisés dans le nom des environnements LaTeX ? LaTeX ?
cliquez ici pour masquer/afficher la révision 16

23 Aoû '17, 13:32

Andr%C3%A9C's gravatar image

AndréC
61131124

Pourquoi LaTeX ne supprime t-il pas les espaces superflus dans les noms d'environnement ?

Dans le code suivant, si j'insère `une espace` avant ou après le nom de l'environnement center, ce dernier n'est plus reconnu. \documentclass[11pt]{article} \begin{document} \begin{center } ! LaTeX Error: Environment center undefined. \LaTeX est-il logique ? \LaTeX{}est-il rationnel ? Est-ce que \LaTeX{} est de l'alchimie ? \end{center } \end{document} Or, on sait que les espaces sont supprimés **après** les commandes. Dans le code ci-dessus, en omettant les accolades après la commande `\LaTeX` les espaces suivants sont absorbés. C'est une règle TeX. On sait qu'avec TeX : - `l'espace` pour TeX est un caractère ayant un `code de catégorie` égal à 10, - les lettres qui composent les noms des commandes ont un code de catégorie égal à 11, - l'accolade ouvrante a un code de catégorie égal à 1 - et l'accolade fermante a un code de catégorie égal à 2. Pour TeX une commande (*appelée séquence de contrôle*) est : - soit un `mot de contrôle` commençant par un caractère ayant un code de catégorie 0 (l'antislash ou contre-oblique) et `composé de lettres`. Il se termine alors avec le premier caractère qui n'est pas une lettre (qui a un code de catégorie différent de 11). - soit un `symbole de contrôle` commençant de façon identique par l'antislash suivi d'un caractère qui n'est `pas une lettre` Ainsi, puisque dans un environnement LaTeX les espaces ne sont pas « mangés » par TeX, j'en déduis qu'un environnement peut avoir un nom composé de plusieurs mots comme par exemple : \begin{bidule truc} ... \end{bidule truc} Le code suivant l'illustre : \documentclass[11pt]{article} \newenvironment{bidule truc}{% \itshape }{% % Rien } \begin{document} \begin{bidule truc} autant d'espace entre bidule et truc sans avoir une seule erreur ! Mais apr\`es ou avant le nom : erreur ! \end{bidule truc} \end{document} Édit ce même jour à 11 h 00, ajout d'un deuxième exemple montrant que l'on peut définir un environnement dont le nom **commence par une espace** (ou plusieurs) : \documentclass[11pt]{article} \newenvironment{ bidule truc}{% 3 espaces avant le premier mot \itshape }{% % Rien } \begin{document} \begin{ bidule truc}% 1 seul espace avant le premier mot sans erreur ! autant d'espace avant bidule sans avoir une seule erreur ! Mais apr\`es le nom : erreur ! \end{bidule truc} truc}% erreur, il manque le premier espace \end{document} Et j'en conclus donc que le nom des environnements LaTeX n'obéit pas aux même règles que le nom des commandes TeX. - quelles sont les règles auxquelles sont soumis les noms d'environnement de LaTeX ? - autrement dit, quels sont les caractères autorisés dans le nom des environnements LaTeX ?
cliquez ici pour masquer/afficher la révision 15

23 Aoû '17, 13:25

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 14

23 Aoû '17, 13:24

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 13
Ajout d'un deuxième exemple !

23 Aoû '17, 13:23

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 12
Orthographe corrigée

23 Aoû '17, 11:47

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 11

23 Aoû '17, 11:46

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 10

23 Aoû '17, 11:45

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 9

23 Aoû '17, 11:44

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 8

23 Aoû '17, 11:44

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 7
Exemple ajouté

23 Aoû '17, 11:42

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 6

23 Aoû '17, 10:37

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 5

23 Aoû '17, 10:37

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 4

23 Aoû '17, 10:35

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 3

23 Aoû '17, 09:48

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 2

23 Aoû '17, 09:26

Andr%C3%A9C's gravatar image

AndréC
61131124

cliquez ici pour masquer/afficher la révision 1

23 Aoû '17, 09:17

Andr%C3%A9C's gravatar image

AndréC
61131124

C'est votre première visite ici ? Consultez la FAQ !

×