Re: Un pacchetto “scientifico” per l’Arte: consigli?

#77004
Up
0
Down
::

lorenzo.pantieri” post=76175

Il problema della lunghezza è dovuto alla sintassi che TikZ usa […].

Purtroppo nell’Arte lo spazio per il codice è poco, sia in orizzontale che in verticale. Quindi ci vuole un esempio ben scelto. Per fortuna la scelta è tanta…

Purtroppo mi sbagliavo: usare tikz-qtree è decisamente più complesso. La semplificazione che si ottiene nel non definire ogni volta [tt]child[/tt] viene pagata a caro prezzo dal fatto di dover definire 2 tikzpicture per distinguere il ramo destro da quello sinistro. Tutto ciò comporta il fatto di andare ad imbarcarsi con le opzioni [tt]rembember picture[/tt] e [tt]overlay[/tt] oltre che a calcolarsi a mano il segmento di congiunzione. Insomma non va!

Inserisco il codice solo perché si possa fare un confronto.

`
\documentclass[a4paper,12pt]{article}
\usepackage{tikz-qtree}
\usetikzlibrary{decorations.pathmorphing,decorations.markings,trees,calc}
\tikzset{
particle/.style={draw, solid,postaction={decorate},>=stealth,
decoration={markings,mark=at position .5 with {\arrow[draw]{>}}}},
antiparticle/.style={solid,draw, postaction={decorate},>=stealth,
decoration={markings,mark=at position .5 with {\arrow[draw]{<}}}}, gluon/.style={decorate, draw, decoration={snake,amplitude=4pt, segment length=10pt,pre=lineto,pre length=0.1cm}} } \begin{document} \scalebox{1.75}{ \newcommand{\inv}[1]{\textcolor{white}{#1}} \begin{tikzpicture}[thick,grow=left,level distance=2cm,sibling distance=3.5cm, remember picture,overlay,baseline=(leftpos.base)] \node (leftpos) at (0,0){ \Tree [ \edge[particle,thick] node[auto=right]{$g$};[.\inv{g} ] \edge[antiparticle,thick] node[auto=left]{$g$};[.\inv{g} ] ] }; \end{tikzpicture} \begin{tikzpicture}[thick,grow=right,level distance=2cm,sibling distance=3.5cm, remember picture,overlay,baseline=(rightpos.base)] \node (rightpos) at (4,0){ \Tree [ \edge[particle,thick] node[auto=right]{$g$}; [.\inv{g} ] \edge[antiparticle,thick] node[auto=left]{$g$};[.\inv{g} ] ] }; \end{tikzpicture} \begin{tikzpicture}[thick, remember picture,overlay,baseline=(rightpos.base)] \draw($(leftpos.east)-(0.2,0)$)edge[gluon]($(rightpos.west)+(0.2,0)$); \end{tikzpicture} } \end{document} ` In definitiva mi sento di dire che l'esempio più semplice che si possa fare per ottenere quel particolare esempio è riportato nel mio intervento precedente. Ciao Claudio

Go to top