El paquet tikz té una biblioteca especial (mindmap) per crear mapes conceptuals o mentals molt vistosos. En aquest article veurem com crear un d'aquesta mapes conceptuals, en concret un sobre el portafolis electrònic o eportafolis.
Comencem creant els estils dels nodes arrel i els dels altres conceptes que en sortiran. Per exemple definim l'estil de tots els nodes:
every node/.style={concept,%tipus de node=concept
font=\sffamily,% tipus de lletra
circular drop shadow,%ombra},
evidencia/.style={%concepte evidència
concept color=red,%color del node
faded/.style={concept color=red!50}},%definim una variant atenuada
Si volem redefinir o afegir característiques a un node tenim el comandament append style:
root concept/.append style={
concept color=black,
%fill=white, %omple de color blanc
line width=1ex,
%text=black, %color del text
text=white,
font=\large\scshape},% família i tipus de lletra
També s'ha de definir com es distribuiran els conceptes fills en els diferents subnivells:
level 1/.append style={level distance=4.5cm,%distància de l'arrel al primer nivell
%sibling angle=90,% angle que formaran els fills entre sí. Aquí fixat a 90º
sibling angle=360/\the\tikznumberofchildren,%divideix 360 entre el nombre de fills perquè tots els angles siguin iguals
font=\scshape},%tipus de lletra
Un cop definits tots els estils comencem a dibuixar el mapa començant per l'arrel:
\node [root] (NomDelConcepte) {Contingut}
A Contingut hi podem posar un text curt, millor una paraula, o be incloure una imatge amb \includegraphics.
Del node arrel hi surten els fills i "néts":
child [EstilDeConcepte] { node [yshift=-1cm] (NomDelConcepte) {Contingut fill 1}
child{ node(NomDelConcepte) {Contingut nét 1}}
child{ node(NomDelConcepte) {Contingut nét 2}}
child{ node(NomDelConcepte) {Contingut nét 3}}
}%tanca el fill 1
Val la pena estudiar el codi al fitxer mapamental.tex i veure com, un cop processat, en resulta el PDF mapamental.pdf tan impressionant.
Es pot trobar més informació sobre la biblioteca de mapes mentals i trucs al Manual de PGF-tikz i a l'etiqueta mindmaps de tex.stackexchange
diumenge, 30 de novembre del 2014
diumenge, 16 de novembre del 2014
Diagrames de flux amb tikz
Un diagrama de flux és una figura que il·lustra un procés, que pot ser informàtic (un algorisme) o de qualsevol altra mena. Són molt útils per visualitzar la seqüència de les accions i què passa quan cal prendre algun tipus de decisió.
Amb tikz es pot fer tot tipus de figures i gràfics i, no podia ser d'altra manera, es poden construir diagrames de flux clars, entenedors i atractius. En aquest article veurem com es crea una figura amb tikz i com, en acabat, es pot incrustar en qualsevol document LaTeX.
Un diagrama de flux consta d'unes "caixes" de text connectades per línies. Aquestes "caixes" tenen diferent forma -i color- segons el que representin: l'entrada del procés, una acció, una decisió o la sortida. A tikz aquestes caixes se'n diuen nodes i es poden construir fàcilment amb l'ajut de biblioteques específiques simplement donant el nom de la figura que cal dibuixar. Per exemple, per dibuixar un node d'entrada al procés amb forma rectangular només cal definir el node amb les ordres: rectangle i draw, és a dir "dibuixa un rectangle". Naturalment podem donar un format més acurat al node, cosa que es fa abans de començar a dibuixar els nodes sota el comandament de configuració \tikzset. Vegem un exemple de definició de l'estil d'un node de decisió:
decisio/.style = {diamond,% forma geomètrica de romb
draw,
top color= white,% color de la part superior del degradat
bottom color=red,% color de la part inferior del degradat
drop shadow,% ombra
text width=8em, % ampla del text
text badly centered, % centrat del text
node distance=3cm, %distància al centre dels altres nodes
inner sep=0pt},%separació del text a la figura que el conté
Dins d'aquest comandament de configuració també es pot definir el format de les línies que uniran els nodes, per exemple amb forma de fletxes:
linia/.style = {draw,
line width=1.5pt,%gruix de la línia
% per veure els estils de fletxa: http://tex.stackexchange.com/questions/42611/list-of-available-tikz-libraries-with-a-short-introduction/42679
-triangle 45},% la fletxa és un triangle de 45º
Un cop definits els estils dels nodes i de les línies passem a dibuixar el diagrama (\tikzpicture) tot posant els nodes un a sota dels altres. Comencem pel primer, un node d'entrada:
\node [entrada] (inici) {Text del node\\segona línia de text};
Amb tikz es pot fer tot tipus de figures i gràfics i, no podia ser d'altra manera, es poden construir diagrames de flux clars, entenedors i atractius. En aquest article veurem com es crea una figura amb tikz i com, en acabat, es pot incrustar en qualsevol document LaTeX.
Un diagrama de flux consta d'unes "caixes" de text connectades per línies. Aquestes "caixes" tenen diferent forma -i color- segons el que representin: l'entrada del procés, una acció, una decisió o la sortida. A tikz aquestes caixes se'n diuen nodes i es poden construir fàcilment amb l'ajut de biblioteques específiques simplement donant el nom de la figura que cal dibuixar. Per exemple, per dibuixar un node d'entrada al procés amb forma rectangular només cal definir el node amb les ordres: rectangle i draw, és a dir "dibuixa un rectangle". Naturalment podem donar un format més acurat al node, cosa que es fa abans de començar a dibuixar els nodes sota el comandament de configuració \tikzset. Vegem un exemple de definició de l'estil d'un node de decisió:
decisio/.style = {diamond,% forma geomètrica de romb
draw,
top color= white,% color de la part superior del degradat
bottom color=red,% color de la part inferior del degradat
drop shadow,% ombra
text width=8em, % ampla del text
text badly centered, % centrat del text
node distance=3cm, %distància al centre dels altres nodes
inner sep=0pt},%separació del text a la figura que el conté
Dins d'aquest comandament de configuració també es pot definir el format de les línies que uniran els nodes, per exemple amb forma de fletxes:
linia/.style = {draw,
line width=1.5pt,%gruix de la línia
% per veure els estils de fletxa: http://tex.stackexchange.com/questions/42611/list-of-available-tikz-libraries-with-a-short-introduction/42679
-triangle 45},% la fletxa és un triangle de 45º
Un cop definits els estils dels nodes i de les línies passem a dibuixar el diagrama (\tikzpicture) tot posant els nodes un a sota dels altres. Comencem pel primer, un node d'entrada:
\node [entrada] (inici) {Text del node\\segona línia de text};
- \node és el comandament que dibuixarà el node
- [entrada] és el format del node que hem definit prèviament
- (inici) és el nom que li donem al node i que l'identificarà dins la figura
- {Text} és el text que apareix dins del node, dins del rectangle en aquest cas.
El segon bloc el volem situat sota el node inici, per això escrivim:
\node [bloc, below=of inici] (divesquerra) {Text...};
- la diferència respecte al primer node és a [bloc, below=of inici], on bloc és l'estil de node i below=of inici diu on s'ha de situar el bloc (sota d'inici). Amb above=of, right=of i left=of el posaríem a sobre, a la dreta o a l'esquerra respectivament.
D'aquesta manera anem situant els diferents tipus de bloc. Quan ja estan tots dibuixem les línies amb punta de fletxa que els uneixen:
\draw [linia] (inici) -- (divesquerra);
Podem dibuixar línies acodades amb |- ó amb -|:
\draw [linia] (a1) |- (divesquerra);
Finalment, podem dibuixar un doble colze si marquem un punt del diagrama, una coordenada, i hi fem arribar una línia sense punta i que en surti una altra amb punta:
\coordinate[right=5cm of donau] (a1);
- Aquest punt de coordenades és 5cm a la dreta del node donau i l'anomenem a1.
Al fitxer tex diagramadeflux.tex podeu veure el codi comentat del diagrama complet. I al fitxer diagramadeflux.pdf podeu veure'n el resultat. S'hi representa l'algorisme de la multiplicació russa, una manera molt interessant de fer multiplicacions.
Subscriure's a:
Missatges (Atom)