Package tikz, comment débuter et compiler
dans LaTeX
Bonjour, cela fait un petit moment que j'essaye de me mettre à pstricks, mais l'échec complet. J'ai beau lire les tutos, prendre les codes tous prêt, la compilation ne fonctionne pas. L'année dernière j'ai réussi à dessiner un pauvre axe gradué, je reprends aujourd'hui le ficher : rien ne fonctionne. Je me souviens qu'il ne fallait pas compiler avec pdflatex, mais avec quoi ? J'ai trouvé sur wiki, qu'on peut compiler avec pdflatex si on ajoute certaines extension. Ok, cela tourne... et donne un bandeau noir au lieu de l'axe.
Voilà mon code d'il y a un an.
Et le code avec \usepackage{pdftricks}
Voilà mon code d'il y a un an.
\documentclass[12pt,a4paper]{article} %******************************* Paquetages ****************************** \usepackage{pst-all} \usepackage{pst-node} \usepackage{fp} \usepackage{pst-eps} \begin{document} \pagestyle{empty} \begin{TeXtoEPS} \begin{pspicture}(5,0)(16,1) \psaxes[arrowscale=2,yAxis=false]{->}(5,0)(16,1) \psdot[linewidth=2pt,linecolor=red](6,0) \uput{0.3}[90](6,0){$A$} \psdot[linewidth=2pt,linecolor=red](11,0) \uput{0.3}[90](11,0){$B$} \end{pspicture} \end{TeXtoEPS} \end{document}Cela donnait l'axe qui est ci-joint.
Et le code avec \usepackage{pdftricks}
\documentclass[12pt,a4paper]{article} \usepackage{pdftricks} \begin{psinputs} \usepackage{pstricks} \usepackage{multido} \usepackage{pst-all} \usepackage{pst-node} \usepackage{fp} \usepackage{pst-eps} \usepackage{pstricks-add} \end{psinputs} \begin{document} \pagestyle{empty} \begin{pdfpic} \psset{unit=\linewidth} \begin{pspicture}(-1,-1)(5,5) \psaxes[comma,Dx=0.5,Dy=0.5]{->}(0,0)(3,3) \end{pspicture} \end{pdfpic} \end{document}Pourriez-vous dire pourquoi cela ne fonctionne pas. Et comment faire, y compris comment compiler ? Merci beaucoup à l'avance.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
C'est un peu bizarre de se mettre à PSTricks aujourd'hui. Il y a 15 ou 20 ans, pourquoi pas, mais aujourd'hui, TikZ semble être un meilleur choix (il y a certes quelques cas particuliers que PSTricks traite plus facilement que TikZ car PostScript est un langage de programmation, mais je crois qu'ils sont assez rares). Ton premier document compile comme ça : Pour le deuxième, il y a deux méthodes expliquées ici (faire 'texdoc pdftricks' a de grandes chances de faire apparaître le manuel). La méthode avec shell escape est plus automatique, mais elle donne des droits énormes à tout le code que tu compiles (y compris classes et packages). L'autre est plus sûre mais il faut lancer pst2pdf comme indiqué dans l'exemple :
@brian , bah... ce sont les tutos que je trouve. Je ne savais pas qu'il y avait TikZ. Aurais tu un lien vers le tuto pour TikZ?
Pour TikZ, il y a ce tuto que je trouve très bien : "TikZ pour l’impatient".
J'approuve très fortement Brian.
Et ce n'est pas tant que "Tikz" serait mieux.
Mais il faut savoir que l'utilisateur de PSTricks se trouve aujourd'hui très souvent en butte à des problèmes d'incompatibilités mystérieuses avec des packages modernes.
Pour ma part, je n'ai jamais appris PSTricks, en revanche mon épouse l'a fait, d'abord en utilisant des trucs faits par d'autres, puis en produisant du code elle même; ça me vaut régulièrement des séances de débogage pour trouver le bout de code qui pose problème.
Moi j'utilise PSTricks car je fais des figures avec LaTeXdraw qui les exporte en PSTricks. Puis je modifie manuellement le code pour les ajustements. Mais je n'inclus pas le code PSTricks dans mon document, je les compile à part et j'inclus la figure en eps ou pdf dans le document.
J'ai un autre problème : Dimension to large
J'essaye cette fois de faire un axe avec une unité de longueur 100 et les points $C(500)$ et $D(1100)$. Moi, naive, je pensais qu'il suffisait de changer le pas dans foreach. Le code ci-dessous marche pour les petit coordonnées, mais pas pour les grands :
J'ai essayé avec [xscale=0.0001] ou en ajoutant $mm$ aux nombres. Quand j'ajoute $mm$ cela semble fonctionnait et le blocage est à la ligne :
Avec le message : ! Missing = inserted for \ifdim.<to be read again>p ...ck] (\x,-.100mm)node[below]{\x} -- (\x,0);
Moi pas comprendre! :-(
Merci de bien vouloir fournir un exemple complet minimal à l'avenir, comme ci-dessous. Il faudrait aussi aérer autour des opérateurs pour une meilleure lisibilité — comme ci-dessous. Je change le pas dans le \foreach, sinon les 1501 petits traits se chevauchent. J'enlève la grille (qui était censée faire quoi ?), les opérateurs |- utilisés de manière illicite et remplace la syntaxe obsolète de circle par la syntaxe moderne (avec l'option radius) qui évite certains soucis.
En bricolant j'arrive à faire les deux graphiques ci-jointes (merci les codes complets trouvés sur le net). Le code est le suivant : J'aimerais utiliser le premier quadrillage. Mais je ne comprends pas comment réduire les graduations par défaut (10mm) dans le premier. Dans le deuxième je ne comprends pas comment ajouter le "papier millimétrés". Les approches dans les deux exemples sont complétement différents. J'ai tenté à plusieurs reprise de trouver la documentation comme dans R et Python où on indique toutes les options, que dale! :-X Quant au code, je découvre la signification petit à petit en manipulant le code. C'est chiant... J'ai regardé les liens données ici, je n'ai pas trouvé des réponses à mes questions :-(
@brian, stp, évite de me faire le morale. Quand je sais comment je le fais. Inutile de me demander ce que je ne sais pas...
[Contenu du pdf joint. AD]
Si tu veux changer les graduations du papier millimétré, c'est là (resp. taille d'une petite graduation, d'une demi grande graduation et d'une grande graduation) :
Voyons voir ça... manuel de TikZ et PGF : 1318 pages avec table des matières, index, tutoriels et documentation de référence illustrée par de très nombreux exemples. Manuel de pgfplots : idem en 571 pages. Je suis sûr que les responsables de ces très mauvaises documentations doivent être heureux d'avoir passé des (dizaines de) milliers d'heures, très probablement non rémunérées, à écrire le code, le tester, le publier et le documenter sous license libre pour lire ce genre de retour !
Je ne comprends pas bien le sens des deux dernières phrases, mais la première est très claire. Je prends bonne note de ton appréciation et ne t'embêterai plus. Au plus, j'interviendrai brièvement comme au paragraphe précédent afin d'éviter la désinformation des lecteurs, si tant est que j'ai lu le fil.