Post initial :Après un changement de version de pgf/TikZ (suite au passage de fedora 32 à 33) la figure suivante ne compile plus (avec lualatex) : Ouvrir dans l'éditeur Overleaf
\documentclass{minimal} \usepackage[french]{babel} \usepackage{xcolor} \definecolor{RdBu-9-1}{RGB}{178,24,43} \definecolor{RdBu-9-2}{RGB}{214,96,77} \definecolor{RdBu-9-8}{RGB}{67,147,195} \definecolor{RdBu-9-9}{RGB}{33,102,172} \usepackage{tikz} \usetikzlibrary{patterns} \usetikzlibrary{fadings} \usetikzlibrary{calc} \usetikzlibrary{positioning} \usetikzlibrary{arrows} \usetikzlibrary{matrix} \usetikzlibrary{decorations.pathreplacing} \tikzset{% ffa/.style={% pattern=north west lines, pattern color=RdBu-9-2, draw=none }, ffc/.style={% draw=RdBu-9-1, line width=1} } \usepackage[babel, autostyle]{csquotes} \begin{document} \begin{tikzpicture} \matrix [matrix of nodes, anchor=west, nodes={minimum size=.75cm} ] (zla0) at (0,0) { \draw[ffa,ffc] (0,0) circle (.3cm);& \draw[ffa,ffc] (0,0) circle (.3cm);\\ }; \matrix [matrix of nodes, anchor=north, nodes={minimum size=.75cm}, below=2cm of zla0] (zlb0) { \draw[ffa,ffc] (0,0) circle (.3cm);\\ }; % Accolades \foreach \m in {0} { \draw (zla\m.south west) |- ($(zla\m.south west)!0.5!(zla\m.south east) + (0,-.1)$) -| (zla\m.south east) node[pos=0, yshift=.2] (zla\m-g) {}; % \draw (zlb\m.north west) |- ($(zlb\m.north west)!0.5!(zlb\m.north east) + (0,.1)$) -| (zlb\m.north east) node[pos=0, yshift=.2] (zlb\m-g) {}; % \draw[->>, black,] ([yshift=-.2cm]zla\m.south) -- ([yshift=.2cm]zlb\m.north); } \draw[|-, black] ([yshift=1.25cm]zla0-1-2.north) -- (zla0-1-2.north) node[pos=.6,fill=white, minimum size=.75cm]{}; \node[above=0cm of zla0-1-1.north, anchor=south, align=center, font=\tiny, text width=1.75cm]{\enquote{Je suis proche du \emph{Pic Jean Ray}}}; \node[above=1.25cm of zla0-1-2.north, anchor=south, align=center, font=\tiny, text width=1.75cm]{\enquote{Je suis sous une \emph{crête}}}; \node[below=0cm of zlb0.south, anchor=north, align=center, font=\tiny, text width=4cm]{\enquote{Je suis proche du \emph{Pic Jean Ray} et sous une crête}}; \node[fill=white,align=center, font=\large\sffamily] at ($(zla0.south east)!0.5!(zlb0.north west)$){\emph{Fusion} des \emph{indices de localisation}}; \end{tikzpicture} \end{document} À la compilation j'obtiens des erreurs comme : Ouvrir dans l'éditeur Overleaf
ERROR: Package pgf Error: No shape named `zla0-1-2' is known. J'ai cru comprendre que le problème était lié à un changement du comportement de la library matrix, qui ne crée plus automatiquement les identifiants des cellues (eg. m-1-1), mais je ne trouve pas de documentation sur le sujet. J'ai aussi l'impression que le paramètre Mise à jour (6/10/20):J'ai posé la même question sur le forum TeX de stackexchange et on m'a proposé une solution qui fonctionne bien. Il suffit d'ajouter la commande
Il y a cependant une petite différence avec le comportement initial, les lignes sont un peu plus épaisses, mais ça ne me pose pas vraiment problème. Je vous laisse aller voir le post pour avoir des détails sur les modifications opérés sur
Cette question est marquée comme « Wiki ».
Posée 03 Nov '20, 12:16 Atm
Affichage de 5 parmi 7
Afficher 2 commentaire(s) en plus
|
Bienvenue sous TeXnique ! Une question similaire a déjà été posée. Sa réponse convient-elle ici ?
Bonjour. Pas vraiment, puisque j'utilise la fonction
\draw
(et pas\node
comme dans l'exemple) dans mes cellules de matrices, je ne peux donc pas donner directement (ou alors j'ignore comment) un identifiant aux cellules de la matrice.@Atm : bienvenue sur TeXnique !
Pourquoi ne pas utiliser des nœuds ? La fonction
\node
est bien utile.Je ne suis pas un spécialiste de TikZ et n'ai pas de réponse. Mais je remarque que lorsque l'élément
1-2
de la matrice n'est pas un chemin (« path »), le problème ne se pose plus. Pour le constater, il suffit de remplacer le 2e\draw[ffa,ffc] (0,0) circle (.3cm);
par, par exemple,coucou
.J'avoue ne pas comprendre le choix d'utiliser des matrices pour obtenir le schéma désiré.
Pourquoi ne pas utiliser des graphes ? La librairie
graphs
est détaillée dans la doc, à partir de la page 269, et elle me semble répondre à votre besoin.@Pathe merci
À vrai dire je ne sais pas vraiment pourquoi j'utilise
\draw
, j'ai fait cette figure il y a un petit moment. J'ai sûrement fait ce qui semblait le plus simple sur le moment et comme ça fonctionnait comme ça…En fait cette figure est construite à partir d'une autre figure plus compliquée (avec laquelle j'ai le même problème, mais l'exemple aurait été plus long), qui met en lien des matrices contenant des symboles (comme ici) et des matrices contenant des valeurs. J'ai donc utilisé des matrices partout pour avoir un rendu cohérent.
@denis
Oui en effet, j'arrive aussi à compiler comme ça. j'ai l'impression qu'avec cette nouvelle version de tikz un noeud est implicitement crée, avec le contenu de la cellule comme label (ie
coucou
est transformé en\node{coucou}
).