hilpers


  hilpers > comp.* > comp.text.tex

 #1  
09/07/2018, 16h20
Jean-Yves Baudais
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

 #2  
09/07/2018, 19h09
robert
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}
 #3  
10/07/2018, 09h21
Jean-Yves Baudais
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
 #4  
10/07/2018, 09h38
Jean-Yves Baudais
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
 #5  
10/07/2018, 10h24
Jean-Yves Baudais
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

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 04h54. | Privacy Policy