Aller au contenu


Comment Créer Un Beau Style Gatex Pour Wiwiland ?


  • Veuillez vous connecter pour répondre
2 réponses à ce sujet

#1 Gamall

Gamall

    Baffomatic' Force Bleue !


Posté 24 juin 2007 - 19:33

Comment réaliser un style pour GaTeX ?

Mise en jambes: le tuto vu par Moscbahh :mosc:
http://gamall-ida.co...&mode=view&.gif


Attention: Pour aborder ce tuto, vous devez avoir bien compris le fonctionnement de GaTeX en tant qu'utilisateur de styles préexistants. cf par exemple ce tuto. Ecrire un lisez-moi en utilisant le style DEFAULT ou WIWILAND ne doit pas avoir de secrets pour vous.

Ce tuto est à lire ligne par ligne, avec GaTeX à la main :?

Bien. Allons-y.

Les styles sont stockés dans format.ini. Faites-en une copie, au cas où, et ouvrez-le. Allez tout à la fin du fichier, et écrivez

{ DEMO
	$tab = "   "
}

Vous avez juste déclaré un nouveau style appelé "DEMO". Notez que vous devez définir $tab sans quoi le style ne sera pas détecté.
Essayez de compiler un fichier de test avec le style DEMO :
\style{DEMO}
\output{demo.out.txt}
Le résultat est un fichier blanc, certes, mais ça compile sans problème :)

Mais DEMO est vide pour l'instant. Déclarons des "commandes de structure" pour pouvoir commencer à écrire.

Créer des blocs de texte à formater

Le plus simple d'abord: du texte tout bête, aligné à gauche.

{ DEMO
	$tab = "   "
	
	{ text
		$type	= text
		%width	= 65
	}
}
$type = text signifie que c'est une structure qui contient du texte à mettre en forme. %width = 65 signifie qu'aucune ligne ne doit faire plus de 65 caractères.

Essayez de compiler avec du texte entre les balises \text et \end, et vous verrez que ça marche parfaitement. Ceci est l'environnement de mise en forme le plus simple qu'on puisse définir en GaTeX.

Maintenant, justifions le texte. Ajoutez simplement la ligne $align = JUST dans les spécifications du bloc "text". Essayez aussi avec CENTER et RIGHT.

Finalement, restons-en à
{ text
	$type	= text
	%width	= 65
	$align	= JUST
}
Ca fait parfaitement l'affaire pour un corps de texte.

Qu'y a-t-il d'autre dans un lisez-moi qui se respecte ? Un tire, des sections, sous-sections etc...

Attaquons nous au titre de section.

{ section
	$type	= text
	%width	= 65
	$align	= CENTER
}
C'est déjà bien, mais on obtient quelque-chose du genre:
						TITRE DE SECTION						 
Elle  avait  pris  ce  pli dans son âge enfantin De venir dans ma
chambre un peu chaque matin; Je  l'attendais  ainsi  qu'un  rayon
qu'on  espère; Elle entrait, et disait: Bonjour, mon petit père;
Le titre est collé au corps de texte. Corrigeons cela: ajoutez à section la ligne $()out = " ", qui signifie "ajouter la ligne <ligne blanche> après avoir écrit le texte". Et le problème est reglé. (Note: Il est judicieux aussi de faire ça pour les blocs de texte, afin que deux blocs consécutifs soient séparés par une ligne).

Maintenant on a envie de souligner le titre de section... Sisisisi....
$()out=	==============================================
			" "
Donnera
						TITRE DE SECTION						 
==============================================
 
Elle  avait  pris  ce  pli dans son âge enfantin De venir dans ma
C'est un peu moche :oops: Comment faire pour avoir juste la bonne largeur ? Utiliser la commande \rep{ x }, qui répète le motif x autant de fois que nécessaire pour boucher les trous. Par exemple:
$()out=	0\rep{+=}0
			" "
donne
						TITRE DE SECTION						 
0+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+0
 
Elle  avait  pris  ce  pli dans son âge enfantin De venir dans ma
Note: Malheureusement, on ne peut utiliser qu'une seule commande \rep par ligne dans les styles. C'est une limitation dûe à la paresse congénitale du programmeur (cad de moi, mais chut :P ) qui sera corrigée dans les prochaines versions de GaTeX.

Je pense que vous l'aurez deviné, de même qu'il y a un paramètre $()out, il existe un paramètre $()in, qui permet d'insérer une ou plusieurs lignes avant le texte.
	{ section
		$type	= text
		%width	= 65
		$align	= CENTER
		$()out	=	0\rep{+=}0
					" "
		$()in	=	0\rep{-}0
	}
donne
0---------------------------------------------------------------0
						TITRE DE SECTION						 
0+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+0
Ca donne envie de boucher les trous à gauche et à droite, non ? Pour ce faire, il y a $left et $right. Ajoutez $left = # et $right = #. Ca donne
0---------------------------------------------------------------0
#					   TITRE DE SECTION						#
0+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+0
Notez que ces valeurs sont répétées sur toutes les lignes du texte dans le bloc, s'il y en a plusieurs. Par exemple, si vous faites ça sur le bloc texte:

	{ text
		$type	= text
		%width	= 65
		$align	= JUST
		$left	= "-  "
		$right	= "  <"
	}
vous aurez
-  Elle  avait pris ce pli dans son âge enfantin De venir dans  <
-  ma chambre un peu chaque matin; Je l'attendais ainsi  qu'un  <
-  rayon  qu'on  espère; Elle entrait, et disait: Bonjour, mon  <
-  petit  père;  Prenait  ma  plume,  ouvrait  mes   livres,  <
etc....
Pour aller un peu plus loin, imaginons que vous vouliez avoir un motif à gauche ou à droite du texte, au début du bloc ou à la fin... c'est possible :)
Modifiez le bloc text ainsi:
	{ text
		$type	= text
		%width	= 65
		$align	= JUST
		$left	= "-   "
		$right	= "   <"
		$()leftin = "li1 "
					"li2 "
					"li3 "
					"li4 "
		$()leftout = "lo1 "
					"lo2 "
					"lo3 "
					"lo4 "
		$()rightin = " ri1"
					" ri2"
					" ri3"
					" ri4"
		$()rightout = " ro1"
					" ro2"
					" ro3"
					" ro4"
	}
Vous obtenez
0---------------------------------------------------------------0
#					   TITRE DE SECTION						#
0+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+0
 
li1 Elle  avait  pris  ce  pli dans son âge enfantin De venir ri1
li2 dans ma chambre un peu chaque matin; Je l'attendais ainsi ri2
li3 qu'un  rayon  qu'on  espère;  Elle  entrait,  et  disait: ri3
li4 Bonjour,  mon  petit père; Prenait ma plume, ouvrait mes ri4
-   livres, s'asseyait Sur mon lit, dérangeait  mes  papiers,   <
-   et  riait,  Puis  soudain s'en allait comme un oiseau qui   <
etc etc....
-   genoux, leur mère Tout près,  quelques  amis  causant  au   <
-   coin  du feu ! J'appelais cette vie être content de peu !   <
lo1 Et dire qu'elle est morte! Hélas! que Dieu m'assiste ! Je ro1
lo2 n'étais jamais gai quand je la sentais triste;  J'étais ro2
lo3 morne  au  milieu  du  bal  le plus joyeux Si j'avais, en ro3
lo4 partant, vu quelque ombre en ses yeux.					ro4
Comme vous le voyez, sur les premières et dernières lignes, les instructions right/left:in/out remplacent les $left et $right normaux. S'il n'y a pas assez de lignes pour caser tout le monde, sachez que les "in" ont la priorité.

Créer des blocs de texte sans formatage: environnements de type verbatim

Dans la majorité des cas, il est souhaitable que le programme formate le texte. Dans d'autres, c'est tout à fait nuisible. Si vous voulez que le programme rende ce que l'utilisateur écrit tel quel, créez un environement verbatim:

	{ verb
		$type = verb
		$escape= "verb"	
	}
Tout texte entré entre les balises \verb et \end{verb} (le premier venant de la ligne { verb et le second de $escape = "verb") sera rendu sans aucun formatage par le programme.
Notez que vous pouvez tout de même appliquer une mise en forme limitée à un environnement verb: si vous définissez %width, vous pourrez utiliser $left, $right, $()in et $()out, exactement de la même manière qu'avec un environnement texte. Voyez par exemple dans le style DEFAULT:
		{ verb
		
			$type		=	verb
			$left		=	"	   "
			$right		=	""
			%width		=	65
			$()in		=	"	  \rep{~}	  "
			$()out		=	"	  \rep{~}	  "
							" "
			$escape		=	"verb"
			// the string to pass as argument to \end to escape verbatim mode.
		}
qu'on voit en action dans le readme de GaTeX:
source text for this file, "Readme.gat", with your favourite raw
text editor. Look at the few first lines :					  

	  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~	  
	   \header_in
		  GaTeX: An ASCII Document Formatting System
	   \end
	  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~	  

And  now,  compare the data in both format.ini and Readme.gat to
the three very first lines of this file:

Soumettre un style

Voilà, vous avez fait un super style GaTeX et vous voulez le partager avec le reste du Monde (et + si affinités) ?

Il vous faut poster trois choses:

Le code du bloc de style dans votre format.ini [à mettre entre balises spoiler pour ne pas encombrer]

Un fichier demo utilisant le style prêt à compiler [idem]

Votre exemple compilé, pour que les gens voient à quoi ça ressemble.

Notez que les styles GaTeX n'appartiennent à personne: publier un style signifie accepter que tout personne le souhaitant l'utilise, le modifie, le distribue etcétéra :sorcerer:


Conclusion / demander de l'aide

Voilà, je pense avoir couvert tout ce qu'il faut dans ce tuto :lol:

Si vous avez des questions sur l'art et la manière de faire des styles GaTeX, posez-les sur ce topic.

Si vous avez des questions d'ordre général sur l'utilisation de GaTeX dans le contexte Wiwiland (c'est à dire en utilisant un style fait pour Wiwiland, comme le style WIWILAND), posez-les sur le sujet du tuto "général"

Si vous avez des questions, suggestions ou remarques techniques sur le programme, ou portant sur l'utilisation de styles perso qui n'ont rien à voir avec Wiwiland, posez-les dans le topic de développement de GaTeX.

Yop yop :)

Gamagie : Bêta 3

# We only want to play with the baby... especially his head. #

Wiwi d'Or 2007 http://gamall-ida.co...php?id=417&.gif du plus Râleur

(--> Mes petits mods et programmes )
(--> Conseils aux moddeurs)


#2 N.tox

N.tox

Posté 28 juin 2007 - 16:48

Bonjour tout le monde,

Tout dabord, merci Gamall pour cet excellent tuto

Et voici le style que j'ai créer, pas très original mais sobre et aéré (à mon goût) :

Tout d'abord, le résultat :
Spoiler

Ensuite le fichier .gat :

Spoiler

Et enfin le bloc à rajouter à la fin du format.ini :

Spoiler

Si j'ai créer des bloc stamp, c'était pour que ce soit plus facile d'ajouter des estampilles (même si je suis pas complètement convaincu du bien-fondé de cette affirmation...) :
copiez-collez un bloc stamp et rajouter un numéro à la fin de la ligne { stamp
Spoiler
Spoiler
Je précise pour les pressés (si y'en a), que l'exemple du résultat donne toutes les précisions nécéssaires sur les différents blocs.
Voilà voilààà...

Edit suite au post suivant

Spoiler : cliquez ici


Citation

Très bien   :eek:
Merciii  :shock:

Citation

Pour les
CODE\stamp2
[Bloc stamp2]  Mettez ici un espace à la place d'un texte
\end
;
ce n'est pas nécéssaire
;
CODE\stamp2
\end
suffit amplement
Ok j'corrige ça tout d'suite


Modifié par N.tox, 30 juin 2007 - 00:57.

"E-A-Bug, It's it the game !"
Rejoignez le MJLA
"Mais on ne naît pas con quand même...On l'devient!...Par solidarité très certainement !"-Dieudonné-
"La mort, c'est un peu comme la connerie. Le mort, lui, il ne sait pas qu'il est mort... ce sont les autres qui sont tristes. Le con c'est pareil..." -Philippe Geluck-

#3 Gamall

Gamall

    Baffomatic' Force Bleue !


Posté 28 juin 2007 - 17:15

Très bien :eek:

Pour les
\stamp2
[Bloc stamp2]  Mettez ici un espace à la place d'un texte
\end
ce n'est pas nécéssaire

\stamp2
\end
suffit amplement  :shock:

Gamagie : Bêta 3

# We only want to play with the baby... especially his head. #

Wiwi d'Or 2007 http://gamall-ida.co...php?id=417&.gif du plus Râleur

(--> Mes petits mods et programmes )
(--> Conseils aux moddeurs)





0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)