cerhu > comp.* > comp.text.tex

Jean-Yves Baudais (09/07/2018, 16h20)
Bonjour,

J'ai du code tikz qui produit une figure et je souhaiterais en
afficher une partie seulement. Je pourrais en faire un fichier PDF et
l'inclure avec includegraphics en utilisant les options viewport et
clip. Mais, ça fait un prétraitement. Y a-t-il une solution de code à la
volée sans changer mon code tikz ? Y'aurait pas une piste avec newsavebox ?

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\path node at ( 0,2) [shape=circle,draw] {un}
node at ( 0,1) [shape=circle,draw] {exemple}
node at ( 0,0) [shape=circle,draw] {a}
node at ( 1,1) [shape=rectangle,draw] {la}
node at (-1,1) [shape=rectangle,draw] {con};
\end{tikzpicture}
\end{document}

Jean-Yves
robert (09/07/2018, 19h09)
Le 09/07/2018 à 16:20, Jean-Yves Baudais a écrit :
[..]
>         node at (-1,1) [shape=rectangle,draw] {con};
> \end{tikzpicture}
> \end{document}


Avec Tikz uniquement

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\clip[draw] (-1,0) rectangle (1,2);
\path node at ( 0,2) [shape=circle,draw] {un}
node at ( 0,1) [shape=circle,draw] {exemple}
node at ( 0,0) [shape=circle,draw] {a}
node at ( 1,1) [shape=rectangle,draw] {la}
node at (-1,1) [shape=rectangle,draw] {con};
\end{tikzpicture}
\end{document}
Jean-Yves Baudais (10/07/2018, 09h21)
Bonjour,

Le 09/07/2018 à 19:09, robert a écrit :
> [...]
> Avec Tikz uniquement
> [...]
> \clip[draw] (-1,0) rectangle (1,2);
> [...]


Mais oui bien sûr ! cf. le paragraphe 2.11 de la doc "Clipping a
Path". Heu... en fait c'est pas aussi simple : j'utilise pgfgantt. Donc
mon exemple n'était pas complet.

\documentclass{article}
\usepackage{tikz,pgfgantt}
\begin{document}
\begin{tikzpicture}
\begin{ganttchart}{1}{12}
\gantttitle{2011}{12} \\
\gantttitlelist{1,...,12}{1} \\
\ganttgroup{Group 1}{1}{7} \\
\ganttbar{Task 1}{1}{2} \\
\ganttlinkedbar{Task 2}{3}{7} \ganttnewline
\ganttmilestone{Milestone}{7} \ganttnewline
\ganttbar{Final Task}{8}{12}
\ganttlink{elem2}{elem3}
\ganttlink{elem3}{elem4}
\end{ganttchart}
\clip[draw] (0,0) rectangle (2,2);
\end{tikzpicture}
\end{document}

J'ai essayé plusieurs positions de la commande \clip (avant, après,
dedans, dehors...), sans succès (l'idéal serait de pouvoir la mettre à
l'extérieur de l'environnement ganttchart). Pourtant, dans le code
pdfgantt, \clip est utilisé donc c'est pas un problème de compatibilité...

Jean-Yves
Jean-Yves Baudais (10/07/2018, 09h38)
J'ai avancé, un peu, alors je me réponds.

\documentclass{article}
\usepackage{tikz,pgfgantt}
\begin{document}
\begin{tikzpicture}
\clip[draw] (1,-6) rectangle (3,-2);
\begin{ganttchart}{1}{12}
\gantttitle{2011}{12} \\
\gantttitlelist{1,...,12}{1} \\
\ganttgroup{Group 1}{1}{7} \\
\ganttbar{Task 1}{1}{2} \\
\ganttlinkedbar{Task 2}{3}{7} \ganttnewline
\ganttmilestone{Milestone}{7} \ganttnewline
\ganttbar{Final Task}{8}{12}
\ganttlink{elem2}{elem3}
\ganttlink{elem3}{elem4}
\end{ganttchart}
\end{tikzpicture}
\end{document}

Il fallait utiliser des coordonnées négatives. Par contre, il reste
le cadre du ganttchart que je n'arrive pas en enlever avec clip...

Jean-Yves
Jean-Yves Baudais (10/07/2018, 10h24)
Voici un meilleur ECM

\documentclass{article}
\usepackage{tikz,pgfgantt}
\begin{document}
\begin{tikzpicture}
\clip[draw] (1,-6) rectangle (3,-2);
\begin{ganttchart}[%
canvas/.style={fill=black!10},%
vgrid={*1{draw=none},*1{dotted}}%
]{1}{12}
\gantttitle{2011}{12} \\
\gantttitlelist{1,...,12}{1} \\
\ganttgroup{Group 1}{1}{7} \\
\ganttbar{Task 1}{1}{2} \\
\ganttlinkedbar{Task 2}{3}{7} \ganttnewline
\ganttmilestone{Milestone}{7} \ganttnewline
\ganttbar{Final Task}{8}{12}
\ganttlink{elem2}{elem3}
\ganttlink{elem3}{elem4}
\end{ganttchart}
\end{tikzpicture}
\end{document}

Avec mon code, \clip ne clippe pas le style "canvas" ni le "vgrid". Y
a-t-il une solution, sans toucher à ce qu'il y a dans l'environnement
ganttchart ?

Jean-Yves
Jean-Yves Baudais (03/09/2018, 10h34)
Bonjour,

Je reviens à la charge car je n'ai pas trouvé la solution pendant les
vacances ; le code résiste toujours à mes volontés !

Le 10/07/2018 à 10:24, Jean-Yves Baudais a écrit :
[..]
>     \ganttbar{Final Task}{8}{12}
>     \ganttlink{elem2}{elem3}
>     \ganttlink{elem3}{elem4}
>   \end{ganttchart}
> \end{tikzpicture}
> \end{document}
>   Avec mon code, \clip ne clippe pas le style "canvas" ni le "vgrid". Y
> a-t-il une solution, sans toucher à ce qu'il y a dans l'environnement
> ganttchart ?


Jean-Yves
Discussions similaires
Crop circles

[tikz] Placement précis des labels avec tikz

crop circle

Annonce : TikZ 1.10 est la nouvelle version stable de TikZ


Fuseau horaire GMT +2. Il est actuellement 01h02. | Privacy Policy