• Aucun résultat trouvé

pas-tableur Version 2.01 – 31 janvier 2016 Stéphane Pasquet

N/A
N/A
Protected

Academic year: 2022

Partager "pas-tableur Version 2.01 – 31 janvier 2016 Stéphane Pasquet"

Copied!
17
0
0

Texte intégral

(1)

Documentation pas-tableur

Version 2.01 – 31 janvier 2016

Stéphane Pasquet

Sommaire

1 Introduction et installation . . . . 1

2 \tableur et \tableur* : construire un tableur . . . . 2

2.1 \tableur . . . 2

2.2 \tableur* . . . 3

2.3 Les noms de colonnes . . . 4

2.4 Les couleurs par défaut . . . 4

2.5 La police de caractère des en-tête . . . 4

2.6 Nomination des cellules . . . 4

3 \celtxt et \celtxt* : insérer du texte dans une cellule . . . 5

3.1 Formater le texte . . . 6

3.2 Mode mathématique dans une cellule . . . 7

4 Sélection de cellules . . . . 9

4.1 \selecCell : sélection d’une cellule . . . 9

4.2 \multiSelec : sélection de plusieurs colonnes . . . 9

4.3 Les couleurs par défaut . . . 10

5 Résumé des commandes à travers des exemples . . . . 10

6 Implantation . . . . 11

1 Introduction et installation

L’extensionpas-tableur.stya pour but d’imiter l’apparence des tableurs.

Il ne permet en aucun cas d’effectuer des calculs type tableur.

Pour cette version 2 de l’extension, j’ai souhaité utiliser une syntaxe dans le fichier sty plus intuitive et plus pratique pour effectuer d’autres opérations par rapport à la version 1.

Cette extension charge automatiquement les extensions suivantes : tikz (avec la librairie : calc)

xkeyval xstring

(2)

On pourra décompresserpas-tableur.zipde sorte à avoir :

— Sous Ubuntu :

./texlive/texmf-local/tex/latex/pas-tableur/pas-tableur.sty ./texlive/texmf-local/doc/latex/pas-tableur/pas-tableur.tex ./texlive/texmf-local/doc/latex/pas-tableur/pas-tableur.pdf ./texlive/texmf-local/doc/latex/pas-tableur/doc.codes.tex ./texlive/texmf-local/doc/latex/pas-tableur/doc.styles.tex

— Sous Windows :

C:\texmf\latex\pas-tableur\pas-tableur.sty C:\texmf\doc\pas-tableur\pas-tableur.tex C:\texmf\doc\pas-tableur\pas-tableur.pdf C:\texmf\doc\pas-tableur\doc.codes.tex C:\texmf\doc\pas-tableur\doc.styles.tex

Après installation, n’oubliez pas de taper la commandetexhashdans le terminal pour mettre à jour la base de données des extensions.

Sous Mac OS, j’imagine que l’arborescence ressemble à ce qui est écrit précédem- ment.

2 \tableur et \tableur* : construire un tableur

Pour créer un tableur, il faudra se mettre dans un environnementtikzpictureet utiliser la commande \tableur ou sa version étoilée.

2.1 \tableur

1 \begin{ tikzpicture }

2 \ tableur [< nombre de lignes >]{ < colonnes >}

3 \end{ tikzpicture }

L’argument « colonnes » peut se présenter de deux façons différentes :

Exemple 1

1 \begin{ tikzpicture }

2 \ tableur [2]{A,B,C}

3 \end{ tikzpicture }

A

A BB CC

1 1 2 2

(3)

Exemple 2

1 \begin{ tikzpicture }

2 \ tableur [2]{A-D}

3 \end{ tikzpicture }

A

A BB CC DD

1 1 2 2

Pour cette macro, les valeurs par défaut sont :

— la hauteur de chaque ligne : 1.57em ;

— la largeur de chaque colonne : 7em ;

— la largeur de la 1recolonne (contenant le numéros des lignes) : 3em ;

— le nombre de lignes : si l’option entre crochets n’est pas informée, il y aura 1 ligne.

Pour changer ces valeurs par défaut, on utilisera les commandes :

1 \ tabcolwidth {2 cm} % pour que chaque colonne ait une largeur de 2 cm

2 \ tabnumlinewidth {1 cm} % pour que la 1\` ere colonne fasse 1 cm de large

3 \ tablineheight {15 mm} % pour que chaque ligne ait une hauteur de 15 mm

Attention : il faut impérativement mettre l’unité (cm, mm, em, ex ou pt).

2.2 \tableur*

La version étoilée de \tableurpermet de construire un tableur dont les colonnes n’ont pas les mêmes dimensions.

1 \begin{ tikzpicture }

2 \ tableur *[2]{ A/2cm ,B/4cm ,C/1cm ,D/3 cm}

3 \end{ tikzpicture }

A

A BB CC DD

1 1 2 2

(4)

2.3 Les noms de colonnes

Les colonnes peuvent porter n’importe quelle lettre majuscule de l’alphabet latin : ABCDEFGHIJKLMNOPKRSTUVWXYZ.

On ne peut pas nommer les colonnes par « AA » par exemple.

Quant aux lignes, elles commencent toujours par « 1 ».

2.4 Les couleurs par défaut

Deux couleurs sont utilisées pour les cases « en-t-êtes » :

1 \definecolor{ grayTopCell }{ cmyk }{0.08 ,0.05 ,0.06 ,0}

2 \definecolor{ grayBottomCell }{ cmyk }{0.1 ,0.07 ,0.08 ,0}

Pour les changer, vous pouvez les redéfinir après avoir appelépas-tableur. Le gris de séparation des cellules est, quant à lui, défini par :

1 \definecolor{ graySepCell }{ cmyk }{0.29 ,0.21 ,0.21 ,0}

2.5 La police de caractère des en-tête

1 \newcommand{\ helvbx }{\ usefont {T 1}{ phv }{m}{n}}

Ainsi, si vous souhaitez insérer le nom d’une cellule dans votre document, vous pou- vez utiliser la syntaxe suivante :

1 Dans la cellule {\ helvbx A3}, nous

2 avons ins \'er\'e la formule ...

Dans la celluleA3, nous avons inséré la formule...

2.6 Nomination des cellules

Toujours dans un logique de simplifier la rédaction des documents, j’ai souhaité nommer chaque cellule de façon intuitive.

Ainsi, la celluleA1est nommée : cellA-1.

Cette précision est utile lorsque l’on souhaite ajouter des flèches vers certaines cel- lules comme dans l’exemple suivant :

(5)

1 \begin{ tikzpicture }

2 \ tableur [3]{A-D}

3 \ draw [<-,>= latex '] (cellB -2. center ) to[ bend right =30] ($( cellB -2) +(2 , -1.7) $)

4 node [ right ] {C' est la cellule {\ helvbx B 2}};

5 \end{ tikzpicture }

A

A BB CC DD

1 1 2 2 3 3

C’est la celluleB2

3 \celtxt et \celtxt* : insérer du texte dans une cellule

1 % Ins \' erer une formule ou un texte

2 \ celtxt [< options >}{ < colonne >}{ < ligne >}{ < texte >}

3 % Ins \' erer un texte en mode math \' ematiques ou non

4 \ celtxt *[< options >}{ < colonne >}{ < ligne >}{ < texte >}

Les options sont :

— c: pour centrer le texte ;

— l: pour positionner le texte à gauche (c’est cette valeur qui est désignée par défaut) ;

— r: pour positionner le texte à droite ;

— width=: pour spécifier la largeur de la colonne dans le cas où nous avons utilisé la commande\tableur*. Par défaut,la largeur est 7em (largeur par défaut de chaque colonne) ;

— color=: couleur du texte. Par défaut, la couleur est noire.

Le texte peut être formaté de deux façons différentes selon qu’il désigne une formule ou un texte normal, comme le montre l’exemple suivant :

Exemple 1

1 \begin{ tikzpicture }

2 \ tableur [2]{M-O}

3 \ celtxt {M }{1}{= B 1^2}

4 \ celtxt [r]{N }{2}{ Du texte ici }

5 \end{ tikzpicture }

(6)

M

M NN OO

1 1 2 2

=B1^2

Du texte ici

Exemple 2

1 \begin{ tikzpicture }

2 \ tableur *[2]{ M /13 mm ,N/3 cm}

3 \ celtxt [ width =13 mm ]{M }{1}{= B 1^2}

4 \ celtxt [r, width =3 cm ]{N }{2}

5 {Du texte ici }

6 \end{ tikzpicture }

M

M NN

1 1 2 2

=B1^2

Du texte ici

3.1 Formater le texte

On peut mettre en italique : Écrire en italique

1 \begin{ tikzpicture }

2 \ tableur [2]{M-O}

3 \ celtxt {M }{1}{= B 1^2}

4 \ celtxt [r]{N }{2}

5 {\ itshape Du texte ici }

6 \end{ tikzpicture }

M

M NN OO

1 1 2 2

=B1^2

Du texte ici

ou même en gras : Écrire en gras

1 \begin{ tikzpicture }

2 \ tableur [2]{M-O}

3 \ celtxt {M }{1}{= B 1^2}

4 \ celtxt [r]{N }{2}

5 {\ bfseries Du texte ici }

6 \end{ tikzpicture }

(7)

M

M NN OO

1 1 2 2

=B1^2

Du texte ici

voire même en petites majuscules : Écrire en petites majuscules

1 \begin{ tikzpicture }

2 \ tableur [2]{M-O}

3 \ celtxt {M }{1}{= B 1^2}

4 \ celtxt [r, color = red ]{N }{2}

5 {\ scshape Du texte ici }

6 \end{ tikzpicture }

M

M NN OO

1 1 2 2

=B1^2

DU TEXTE ICI

3.2 Mode mathématique dans une cellule

Génération des premiers termes de la suite définie par

½ u0=5

un+1=aun+0, 1 oùaest une valeur mise dans la cellule C1.

Écrire en mode mathématique

1 \begin{ tikzpicture }

2 \ tableur *[3]{ A/2cm ,B/3cm ,C/2 cm}

3 \ celtxt *[c]{A }{1}{$ n$}

4 \ celtxt *[c]{B }{1}{$ u_n$}

5 \ celtxt [c]{C }{1}{0.85}

6 \ celtxt [c]{A }{2}{0}

7 \ celtxt [c]{B }{2}{5}

8 \ celtxt {A }{3}{= A 2+1}

9 \ celtxt {B }{3}{=$ C $1* B 2+0.1}

10 \end{ tikzpicture }

A

A BB CC

1 1 2 2 3 3

n un 0.85

0 5

=A2+1 =$C$1*B2+0.1

Remarque : les commandes\celtxt et sa version étoilée (introduites dans la version 2.01 du 31 janvier 2016) ont été ré-écrites et imaginées sur la page

(8)

https://groups.google.com/forum/#!topic/fr.comp.text.tex/7K1r9fUd_

Rs. J’ai donc décidé d’introduire ce nouveau code car il semblerait que certains utilisateurs aient expressément envie d’insérer du texte en mode mathéma- tique dans certaines cellules.

4 Sélection de cellules

4.1 \selecCell : sélection d’une cellule

1 \ selecCell {< colonne >}{ < ligne >}

Permet de simuler le cas où une cellule est sélectionnée, comme le montre l’exemple suivant :

1 \begin{ tikzpicture }

2 \ tableur [2]{M-O}

3 \ selecCell {N }{2}

4 \end{ tikzpicture }

M

M NN OO

1 1 2 2 2

N

4.2 \multiSelec : sélection de plusieurs colonnes

Voyons un exemple pour comprendre la syntaxe :

1 \begin{ tikzpicture }

2 \ tableur [3]{M-O}

3 \ multiSelec {N -2}{O -3}

4 \end{ tikzpicture }

M

M NN OO

1 1 2 2 3 3

N O

2 3

(9)

4.3 Les couleurs par défaut

1 % Pour les en - tetes

2 \definecolor{ blueSelecCellTop }{ cmyk }{0.52 ,0.17 ,0 ,0}

3 \definecolor{ blueSelecCellBottom }{ cmyk }{0.75 ,0.34 ,0 ,0}

4

5 % Pour les cellules s\' electionn \' ees

6 \definecolor{ blueSelec }{ cmyk }{0.23 ,0.06 ,0 ,0}

À noter qu’une opacité de 50 % est appliquée pour les cellules sélectionnées (afin de voir les traits de séparation des cellules).

5 Résumé des commandes à travers des exemples

\tableur[3]{A-F} Trace un tableur sur 3 lignes, avec les colonnes A, B, C, D, E, F.

\tableur[2]{A,B,C} Trace un tableur sur 2 lignes, avec les colonnes A, B, C.

\tableur*[3]{A/2cm,B/5cm} Trace un tableur sur 3 lignes, avec des colonnes A et B de largeur dif- férente.

\celtxt[c]{A}{1}{=B2*2} Affiche la formule « =B2*2 » dans la cellule A1 centrée horizontalement.

\celtxt[color=red]{A}{1}{=B2*2} Affiche en rouge la formule

« =B2*2 » dans la cellule A1.

\celtxt[width=5cm]{A}{1}{=B2*2} Affiche la formule « =B2*2 » dans la cellule A1, de largeur 5 cm.

\celtxt*[r]{A}{1}{$u_n$} Affiche «un» dans la cellule A1, ali- gné à droite.

\selecCell{A}{1} Dessine un cadre autour de la cel- lule A1.

\multiSelec{A-1}{C-2} Simule la sélection des cellules al- lant de A1 à C2.

\helvbx{A1} Affiche A1.

(10)

6 Implantation

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% %

% past a b l e u r . s t y v 2.01 encodage : UTF8 %

4% %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% %

% Cree par Stephane PASQUET %

% %

9%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%

\d e f\ f i l e v e r s i o n { 2 . 1 }

\d e f\ f i l e d a t e { 2 0 1 6 / 0 1 / 3 1 }

\ NeedsTeXFormat { LaTeX2e } [ 1 9 9 9 / 1 2 / 0 1 ]

14 \ P r o v i d e s C l a s s { past a b l e u r } [%

\ f i l e d a t e \space v \ f i l e v e r s i o n \space LaTeX package by Stephane PASQUET]

\RequirePackage{ t i k z }

\u s e t i k z l i b r a r y{ c a l c }

19 \RequirePackage{ x s t r i n g }

\RequirePackage{ x k e y v a l }

%

% D e f i n i t i o n des c o u l e u r s

%

24 \d e f i n e c o l o r{ g r a y T o p C e l l } { cmyk } { 0 . 0 8 , 0 . 0 5 , 0 . 0 6 , 0 }

\d e f i n e c o l o r{ g r a y B o t t o m C e l l } { cmyk } { 0 . 1 , 0 . 0 7 , 0 . 0 8 , 0 }

\d e f i n e c o l o r{ g r a y S e p C e l l } { cmyk } { 0 . 2 9 , 0 . 2 1 , 0 . 2 1 , 0 }

\d e f i n e c o l o r{ b l u e S e l e c C e l l T o p } { cmyk } { 0 . 5 2 , 0 . 1 7 , 0 , 0 }

\d e f i n e c o l o r{ b l u e S e l e c C e l l B o t t o m } { cmyk } { 0 . 7 5 , 0 . 3 4 , 0 , 0 }

29 \d e f i n e c o l o r{ b l u e S e l e c } { cmyk } { 0 . 2 3 , 0 . 0 6 , 0 , 0 }

%

% D e f i n i t i o n des dimensions par d e f a u t

%

\d e f\ col@width { 7em}

34 \d e f\ numline@width { 3em} % l a r g e u r de l a colonne i n d i q u a n t l e numeros des l i g n e s

\d e f\ l i n e @ h e i g h t { 1 . 5 7em}

%

%==> Changer l e s v a l e u r s par d e f a u t

\newcommand* { \ t a b c o l w i d t h } [ 1 ] { \d e f\ col@width { # 1 } }

39 \newcommand* { \ t a b n u m l i n e w i d t h } [ 1 ] { \d e f\ numline@width { # 1 } }

\newcommand* { \ t a b l i n e h e i g h t } [ 1 ] { \d e f\ l i n e @ h e i g h t { # 1 } }

%

% D e f i n i t i o n des p o l i c e s de c a r a c t e r e s

%

44 \newcommand{ \ h e l v b x } { \ u s e f o n t { T 1 } { phv } {m} { n } }

%%%%%%%%%%%%%%%%%%%%%%%%%%%

% C o n s t r u c t i o n du t a b l e u r %

%%%%%%%%%%%%%%%%%%%%%%%%%%%

%

49 %==> Macro i n t e r m e d i a i r e : t r a c e de l a p r e m i e r e c e l l u l e

%

(11)

\newcommand{ \ pastab@draw@cell } [ 5 ]

% #1 : \ f i r s t @ w i d t h , #2 : \ first@name , #3 : 0= colonne 1 / 1=

a u t r e s colonnes /

% 2 = l i g n e 1 , #4 : coord . , #5 : contenu

54 {%

\if nu m#3=0%

\t i k z s t y l e{ c e l l s t y l e } = [ celhead , minimum w i d t h = { # 1 } , minimum h e i g h t = \ l i n e @ h e i g h t ]%

\d e f\ pastableur@coord { ( 0 , 0 ) }%

\e l s e%

59 \if nu m#3=1%

\t i k z s t y l e{ c e l l s t y l e } = [ celhead , r i g h t , minimum w i d t h

= { # 1 } , minimum h e i g h t = \ l i n e @ h e i g h t ]%

\e l s e

\i fn um#3=2%

\t i k z s t y l e{ c e l l s t y l e } = [ below l e f t , celhead , minimum w i d t h = { # 1 } , minimum h e i g h t = \ l i n e @ h e i g h t ]

64 \e l s e%

\t i k z s t y l e{ c e l l s t r y l e } = [ below , celhead , minimum w i d t h

= { # 1 } , minimum h e i g h t = \ l i n e @ h e i g h t ]

\f i%

\f i%

\d e f\ pastableur@coord { ( # 4 ) }%

69 \f i%

\node[ c e l l s t y l e ] ( # 2 ) a t \ pastableur@coord { \ h e l v b x # 5 } ;%

\f i l l [ g r a y B o t t o m C e l l ] ( # 2 . so uth west ) −−

( # 2 . so uth e a s t ) −−

74 ( $ 0 . 5 * ( # 2 . south east ) + 0 . 5 * ( # 2 . north east ) $) −−

( $ 0 . 5 * ( # 2 . south west ) + 0 . 5 * ( # 2 . north west ) $) −−

c y c l e ;%

\f i l l [ g r a y T o p C e l l ] ( # 2 . n o r t h west ) −−

79 ( # 2 . n o r t h e a s t ) −−

( $ 0 . 5 * ( # 2 . south east ) + 0 . 5 * ( # 2 . north east ) $) −−

( $ 0 . 5 * ( # 2 . south west ) + 0 . 5 * ( # 2 . north west ) $) −−

c y c l e ;%

\node[ minimum w i d t h = { # 1 } , minimum h e i g h t = \ l i n e @ h e i g h t , c e l l s t y l e ] a t \ pastableur@coord { \ h e l v b x # 5 } ;%

84 }

%

%==> Macro i n t e r m e d i a i r e : t r a c e de l a g r i l l e

%

\newcommand{ \ p a s t a b l e u r @ g r i d } [ 4 ] % #1 : w i d t h , #2 : name , #3 : numline , #4 : coord .

89 {%

\node[ celempty , below , minimum h e i g h t = \ l i n e @ h e i g h t , minimum w i d t h =#1] ( c e l l #2#3) a t ( # 4 ) { } ;%

\draw[ g r a y S e p C e l l ] ( $ ( c e l l #2#3. so uth west ) + ( 0 . 2 5 pt , 0 ) $ ) −−

( c e l l #2−#3. so uth e a s t ) −− ( $ ( c e l l #2−#3. n o r t h e a s t ) +(0 ,0.25 p t ) $ ) ;%

}

%

94 %==> S t y l e des c e l l u l e s

(12)

%

\t i k z s t y l e{ celempty } = [ o u t e r sep=0 p t ]

\t i k z s t y l e{ celhead } = [draw= b l a c k , r e c t a n g l e , o u t e r sep=0 p t ]

%

99 %==> Macro de r e d i r e c t i o n : e t o i l e e ou pas e t o i l e e ?

%

\newcommand{ \ t a b l e u r } { \ @ i f s t a r { \ t a b l e u r @ s t a r } { \ t a b l e u r @ n o s t a r } }

%

%==> Macro e t o i l e e : \ t a b l e u r * { A/ < l 1 > ,B/ < l 2 > , . . . } . Tableur avec colonnes de l a r g e u r s d i f f e r e n t e s

104%

\newcommand{ \ t a b l e u r @ s t a r } [ 2 ] [ 1 ] {%

\x d e f\ l i s t @ o f @ c o l { # 2 }%

% Placement de l a p r e m i e r e c e l l u l e ent à ª t e

109 \S t r C h a r{ # 2 } { 1 } [ \ first@name ]%

\StrBetween{ # 2 } { / } { , } [ \ f i r s t @ w i d t h ]%

\ pastab@draw@cell { \ f i r s t @ w i d t h } { \ first@name } { 0 } { } { \ first@name }

% Placement des a u t r e s ent à ª t e s de colonnes

\f o r e a c h \ name / \ w [ remember = \ name as \ lastname , cou nt = \ colnumber ] i n { # 2 }

114 {%

\i f x\ name \ first@name%

\e l s e%

\ pastab@draw@cell { \ w } { \ name } { 1 } { \ lastname . e a s t } { \ name }

\f i%

119 }%

% Placement des ent à ª t e s de l i g n e s

\ pastab@draw@cell { \ numline@width } { numline 1 } { 2 } { \ first@name . so uth west } { 1 }

\i f nu m#1>1%

\f o r e a c h \ num@line [ remember = \ num@line as \ lastnum ( i n i t i a l l y 1 ) ] i n { 2 , . . . , # 1 }

124 {%

\ pastab@draw@cell { \ numline@width } { numline \ num@line } { 3 } { numline \ lastnum . sou th e a s t } { \ num@line }%

}%

\f i%

% Trace de l a g r i l l e

129 \f o r e a c h \ name / \ w i n { # 2 } {%

\ p a s t a b l e u r @ g r i d { \ w } { \ name } { 1 } { \ name . sou th }%

}%

\if nu m#1>1%

134 \f o r e a c h\ numline [ remember = \ numline as \ l a s t n u m l i n e ( i n i t i a l l y 1 ) ] i n { 2 , . . . , # 1 }

{%

\f o r e a c h \ name / \ w i n { # 2 } {%

\ p a s t a b l e u r @ g r i d { \ w } { \ name } { \ numline } { c e l l \ name\ l a s t n u m l i n e . sou th }%

139 }%

(13)

}%

\f i%

} %−−> F i n de \ t a b l e u r *

%

144%==> Macro non e t o i l e e : \ t a b l e u r { A , B , C , . . . } ou \ t a b l e u r { AC}

%

\x d e f\ col@names {ABCDEFGHIJKLMNOPQRSTUVWXYZ} %−−−−−−−−−−> L i s t e des noms de colonnes <−−−−−−−−−−

%

\newcommand{ \ t a b l e u r @ n o s t a r } [ 2 ] [ 1 ] % [ # 1 ] > nombre de l i g n e s ( par d e f a u t , " 1 " ) , #2 > A , B , . . . , Z

149 {%

\I f S u b S t r{ # 2 } {} {%

\S t r B e f o r e{ # 2 } {} [ \ s t r @ s t a r t ] % 1 ere l e t t r e , par ex . "G"

\S t r B e h i n d{ # 2 } {−} [ \ str@end ] % 2eme l e t t r e , par ex . " L "

154 \StrBetween{ \ col@names } { \ s t r @ s t a r t } { \ str@end } [ \ s t r @ c o l ] % r e t o u r n e par exemple " HIJK "

\edef\ s t r @ c o l { \ s t r @ s t a r t \ s t r @ c o l \ str@end } % r e t o u r n e a l o r s " GHIJKL "

\S t r L e n{ \ s t r @ c o l } [ \ nb@columns ] % nombre de colonnes

%−−> On p l a c e l a p r e m i e r e c e l l u l e ent à ª t e

\ pastab@draw@cell { \ col@width } { \ s t r @ s t a r t } { 0 } { } { \ s t r @ s t a r t }%

159 %−−> On p l a c e l e s a u t r e s ent à ª t e s

\f o r e a c h \i [ remember = \i as \ l a s t i ( i n i t i a l l y 1 ) ] i n { 2 , . . . , \ nb@columns }

{%

\S t r C h a r{ \ s t r @ c o l } { \ i} [ \ name ]%

\S t r C h a r{ \ s t r @ c o l } { \ l a s t i } [ \ lastname ]%

164 \ pastab@draw@cell { \ col@width } { \ name } { 1 } { \ lastname . e a s t } { \ name }%

}%

}%

{%

\S t r C h a r{ # 2 } { 1 } [ \ s t r @ s t a r t ]%

169 \ pastab@draw@cell { \ col@width } { \ s t r @ s t a r t } { 0 } { } { \ s t r @ s t a r t }%

\f o r e a c h \ name [ remember = \ name as \ lastname ] i n { # 2 } {%

\i f x\ name \ s t r @ s t a r t%

\e l s e%

174 \ pastab@draw@cell { \ col@width } { \ name } { 1 } { \ lastname . e a s t } { \ name }%

\f i%

}%

}%

% Placement des ent à ª t e s de l i g n e s

179 \S t r C h a r{ # 2 } { 1 } [ \ first@name ]%

\ pastab@draw@cell { \ numline@width } { numline 1 } { 2 } { \ first@name . so uth west } { 1 }

\if nu m#1>1%

\f o r e a c h \ num@line [ remember = \ num@line as \ lastnum ( i n i t i a l l y 1 ) ] i n { 2 , . . . , # 1 }

(14)

{%

184 \ pastab@draw@cell { \ numline@width } { numline \ num@line

} { 3 } { numline \ lastnum . sou th e a s t } { \ num@line }%

}%

\f i%

% Trace de l a g r i l l e

\I f S u b S t r{ # 2 } {}

189 {%

\f o r e a c h \i i n { 1 , . . . , \ nb@columns } {%

\S t r C h a r{ \ s t r @ c o l } { \ i} [ \ name ]%

\ p a s t a b l e u r @ g r i d { \ col@width } { \ name } { 1 } { \ name . sou th }%

194 }%

\i fn um#1>1%

\f o r e a c h\ numline [ remember = \ numline as \ l a s t n u m l i n e ( i n i t i a l l y 1 ) ] i n { 2 , . . . , # 1 }

{%

\f o r e a c h \i i n { 1 , . . . , \ nb@columns }

199 {%

\S t r C h a r{ \ s t r @ c o l } { \ i } [ \ name ]%

\ p a s t a b l e u r @ g r i d { \ col@width } { \ name } { \ numline } { c e l l \ name\ l a s t n u m l i n e . so uth }%

}%

}%

204 \f i%

} {%

\f o r e a c h \ name i n { # 2 } {%

209 \ p a s t a b l e u r @ g r i d { \ col@width } { \ name } { 1 } { \ name . sou th }%

}%

\i fn u m#1>1%

\f o r e a c h\ numline [ remember = \ numline as \ l a s t n u m l i n e ( i n i t i a l l y 1 ) ] i n { 2 , . . . , # 1 }

{%

214 \f o r e a c h \ name i n { # 2 } {%

\ p a s t a b l e u r @ g r i d { \ col@width } { \ name } { \ numline } { c e l l \ name\ l a s t n u m l i n e . so uth }%

}%

}%

219 \f i%

}%

} %−−> F i n de \ t a b l e u r

%

% I n s e r e r quelque chose dans une c e l l u l e : \ c e l t x t [ m od if . du 2016/01/21 due \ ‘ a " Un bon p e t i t " ]

224%

\ define@cmdkey [ PAS ] { c e l t x t } { w i d t h } { }

\ define@cmdkey [ PAS ] { c e l t x t } { c o l o r } { }

\ define@boolkey [ PAS ] { c e l t x t } { l } [ t r u e ] { }

\ define@boolkey [ PAS ] { c e l t x t } { r } [ t r u e ] { }

229 \ define@boolkey [ PAS ] { c e l t x t } { c } [ t r u e ] { }

\ p r e s e t k e y s [ PAS ] { c e l t x t } { w i d t h = \ col@width , c o l o r = b l a c k

(15)

} { }

%

\newcommand* \ celtxt@catcoderegime@begin { }

\newcommand* \ celtxt@catcoderegime@end { }

234%

\newcommand* \ c e l t x t {%

\ @ i f s t a r {%

\l e t\ celtxt@catcoderegime@end \ @empty

239 \l e t\ celtxt@catcoderegime@begin \ @empty

\ c e l t x t @ i } {%

\d e f\ celtxt@catcoderegime@begin {%

\begingroup

244 \ @makeother \ ^%

\ @makeother \ $%

}%

\l e t\ celtxt@catcoderegime@end \endgroup

\ c e l t x t @ i

249 }%

}

%

\newcommand* { \ c e l t x t @ i } [ 1 ] [ ] { \ c e l t x t @ i i { # 1 } }

%

254 \newcommand* \ c e l t x t @ i i [ 3 ] {%

\ s e t k e y s [ PAS ] { c e l t x t } { # 1 }%

\ celtxt@catcoderegime@begin

\ c e l t x t @ i i i { # 1 } { # 2 } { # 3 }%

259 }

%

\newcommand* \ c e l t x t @ i i i [ 4 ] {%

\ celtxt@catcoderegime@end

264 \I f B e g i n W i t h{ # 4 } { = } { \l e t\ pastab@style \ t e x t t t } { \l e t\ pastab@style \ @empty }

\ ifPAS@celtxt@c

\d e f\ pos@align { c }%

\e l s e

\ ifPAS@celtxt@r

269 \d e f\ pos@align { r }%

\e l s e

\d e f\ pos@align { l }%

\f i

\f i

274 \node a t ( c e l l #2#3) { \makebox[ \dimexpr\

cmdPAS@celtxt@width2 p t ] [ \ pos@align ] { \ pastab@style { \ t e x t c o l o r { \ cmdPAS@celtxt@color } { # 4 } } } } ;%

}

%

% C e l l u l e s e l e c t i o n n e e : \ s e l e c C e l l

%

279 \newcommand* \ s e l e c C e l l [ 2 ] {%

(16)

%==> Ent à ª t e l i g n e

%

\ p a s t a b l e u r @ c o l o r c e l l { numline # 2 } { 0 }

284 \node[ celhead , minimum w i d t h = \ numline@width , minimum h e i g h t = \ l i n e @ h e i g h t ] a t ( numline #2) { \ h e l v b x # 2 } ;%

%

%==> Ent à ª t e colonne

%

\ p a s t a b l e u r @ c o l o r c e l l { # 1 } { 1 }

289 \node a t ( # 1 ) { \ h e l v b x # 1 } ;%

%

%==> C e l l u l e c e l l #1#1

%

\draw[ v e r y t h i c k ] ( c e l l #1#2. sou th west ) r e c t a n g l e ( c e l l

#1#2. n o r t h e a s t ) ;%

294 \f i l l [ b l a c k ] ( $ ( c e l l #1#2. so uth e a s t ) +(1 pt , 1 p t ) $ ) r e c t a n g l e +(3 pt ,3 p t ) ;%

} % f i n de \ s e l e c C e l l

%

% S e l e c t i o n de p l u s i e u r s c e l l u l e s : \ m u l t i S e l e c { A−1 } {B−2} _ / ! \ _ N o u v e l l e s y n t a x e 2014

%

299 \newcommand* \ m u l t i S e l e c [ 2 ] {%

\f i l l [ blueSelec , o p a c i t y = 0 . 5 ] ( $ ( c e l l # 1 . n o r t h west ) + ( 0 . 2 5 pt ,0.25 p t ) $ ) r e c t a n g l e ( $ ( c e l l # 2 . sou th e a s t ) +(0.25 pt , 0 . 2 5 p t ) $ ) ;%

\draw[ v e r y t h i c k ] ( c e l l # 1 . s ou th west ) r e c t a n g l e ( c e l l # 1 . n o r t h e a s t ) ;%

\f i l l [ b l a c k ] ( $ ( c e l l # 2 . s out h e a s t ) +(0.5 pt , 0 . 5 p t ) $ ) r e c t a n g l e +(3 pt ,3 p t ) ;%

304 %

%==> On c o l o r i e l e s en−t à ª t e s " colonnes "

%

\S t r C h a r{ # 1 } { 1 } [ \ s t r @ s t a r t ] % par exemple , "G"

\S t r C h a r{ # 2 } { 1 } [ \ str@end ] % par exemple , " L "

309 \StrBetween{ \ col@names } { \ s t r @ s t a r t } { \ str@end } [ \ s t r @ c o l ] % r e t o u r n e par exemple " HIJK "

\edef\ s t r @ c o l { \ s t r @ s t a r t \ s t r @ c o l \ str@end } % r e t o u r n e a l o r s

" GHIJKL "

\S t r L e n{ \ s t r @ c o l } [ \ nb@columns ] % nombre d ’ ent à ª t e s "

colonnes " \ ‘ a c o l o r i e r

\f o r e a c h \i i n { 1 , . . . , \ nb@columns } {%

314 \S t r C h a r{ \ s t r @ c o l } { \ i} [ \ name ]%

\ p a s t a b l e u r @ c o l o r c e l l { \ name } { 1 }

\node a t ( \ name ) { \ h e l v b x \ name } ;%

}%

%

319 %==> On c o l o r i e l e s ent à ª t e s " l i g n e s "

%

\S t r G o b b l e L e f t{ # 1 } { 2 } [ \ first@num ]%

\S t r G o b b l e L e f t{ # 2 } { 2 } [ \ second@num ]%

(17)

\f o r e a c h \i i n { \ first@num , . . . , \ second@num }

324 {%

\ p a s t a b l e u r @ c o l o r c e l l { numline \i} { 0 }

\node[ celhead , minimum w i d t h = \ numline@width , minimum h e i g h t

= \ l i n e @ h e i g h t ] a t ( numline \i) { \ h e l v b x \i} ;%

}%

}% f i n de \ m u l t i S e l e c

329%

%

%

\ newlength \ pastableur@decal

\newcommand{ \ p a s t a b l e u r @ c o l o r c e l l } [ 2 ] % #1 : name , #2 : 0=en t e t e s " l i g n e s " / 1=ent e t e s " colonnes "

334 {%

\if nu m#2=0%

\s e t l e n g t h\ pastableur@decal { 0 p t }%

\e l s e%

\s e t l e n g t h\ pastableur@decal { 0 . 2 5 p t }%

339 \f i%

\f i l l [ b l u e S e l e c C e l l B o t t o m ]

( $ ( # 1 . s out h west ) + ( \ pastableur@decal ,\ pastableur@decal ) $ ) −−

( $ ( # 1 . s out h e a s t ) +(\ pastableur@decal , \ pastableur@decal ) $ ) −−

( $ 0 . 5 * ( # 1 . south east ) + 0 . 5 * ( # 1 . north east ) +(\ pastableur@decal , 0 ) $ ) −−

344 ( $ 0 . 5 * ( # 1 . south west ) + 0 . 5 * ( # 1 . north west ) + ( \ pastableur@decal , 0 ) $ ) −−

c y c l e ;%

\f i l l [ b l u e S e l e c C e l l T o p ]

( $ ( # 1 . n o r t h west ) + ( \ pastableur@decal ,\ pastableur@decal ) $ ) −−

( $ ( # 1 . n o r t h e a s t ) +(\ pastableur@decal ,\ pastableur@decal ) $ ) −−

349 ( $ 0 . 5 * ( # 1 . south east ) + 0 . 5 * ( # 1 . north east ) +(\ pastableur@decal , 0 ) $ ) −−

( $ 0 . 5 * ( # 1 . south west ) + 0 . 5 * ( # 1 . north west ) + ( \ pastableur@decal , 0 ) $ ) −−

c y c l e ;%

}%

\e n d i n p u t

Références

Documents relatifs

NLDM Release 2, program number 5668-971, is an online interactive facility that provides the Network Communications Control Facility (NCCF) operator with session awareness

Upon notification by customer to the nearest DIGITAL office that the computer system, including all required prerequisite hardware and software, is ready for the

2019-12-16 1366346 Services professionnels d’accompagnement dans le design et l’opérationnalisation de la chaîne de valeur de l’offre économique du Ministère des

-Sélectionner la 1 ère cellule des valeurs de la colonne X (ou de son intitulé pour faire apparaître le nom des courbes dans le cadre «Légende» du diagramme) et étendre

Invitation au voyage, cette rubrique vous emmène à la rencontre de lieux, objets, territoires que nous avons traversé et que nous souhaitons par- tager avec vous, pour ce numéro

Cette licence permet l'installation du logiciel sur tous les ordinateurs achetés ou loués, se trouvant sur le site de l'établissement ou du campus, ainsi que sur les

In principle the data should be made available to other researchers and the general public with the fewest possible restrictions. However, there may be several reasons

MAISON MADAME ROSE - Porte EXT / INT JOUR Anna entre dans une maison ancienne.. La