- Questo topic ha 9 risposte, 5 partecipanti ed è stato aggiornato l'ultima volta 8 anni, 1 mese fa da
Indrjo Dedej.
-
CreatoreTopic
-
22 Luglio 2018 alle 8:01 #113525::
Buongiorno a tutti. La mia domanda è da completa ignorante sull’argomento: come posso disegnare grafi topologici? Mi scuso in anticipo nel caso la domanda fosse già stata posta, ma non sono stata in grado di trovare precedenti.
Per intenderci il tipo di grafi che mi piacerebbe imparare a disegnare è questo:[attachment=2091]grafi.png[/attachment]
Ovviamente sarei particolarmente interessata all’esistenza di editor (online e non) che mi facilitino la vita, come ne conosco per i diagrammi commutativi.
Se la cosa risultasse troppo complicata mi andrebbe bene anche imparare a disegnarli come immagini da caricare nel file LaTeX, anche se immagino questa soluzione sia antiestetica e disapprovata dai più.Grazie mille in anticipo
Attachments:
You must be logged in to view attached files. -
CreatoreTopic
-
AutoreRisposte
-
-
22 Luglio 2018 alle 14:26 #113526::
Benvenuta nel forum.
La tua domanda trova tutte le risposte necessarie nelle varie guide presenti nella sezione documentazione di questo sito.
Tuttavia, tutte ti indirizzeranno all’uso del pacchetto TikZ; tanto vale quindi che tu direttamente apra un terminale o prompt dei comandi, comuqnque si chiami col tuo sistema operativo, che tu ci scriva dentro il comando texdoc tikz e che tu mandi in esecuzione il comando semplicemente premendo il tasto Invio, Enter, Return, comunque si chiami sulla tua tastiera; ti si pare una finiestra con tutta la documentazione di TikZ. Cerca di acquisire i concetti principali del disegno programmato leggendo il tutorial iniziale, poi vai al capitolo dei grafi e approfondisci.Il pacchetto in questione è estremamente professionale, fa un fantastilione di cose, per cui la documentazione è fondamantale e non bisogn farsi spaventare dalla sua mole.
In compenso produce disegni belllissimi, vettoriali, colorati, eccetera. Il suo comapgno pgfplots permette di disegnare grafici (non grafi) di ogni genere.
All’inizio avrai difficoltà ad entrare nel concetto del disegno programmato; ma appena hai un po’ di confidenza scopri che poi non è così difficile “programmare” il codice che di fa i disegni; in fondo è la stessa filosofia di LaTeX; scrivi un programma che contiene anche del testo non formattato e {pdf|Xe|Lua}LaTeX te lo traduce in una pagina ben composta tipograficamente.
Se ci provi, sarai sorpresa di quello che puoi ottenere.
-
22 Luglio 2018 alle 19:13 #113527::
Grazie mille, mi stavo giusto chiedendo se TikZ fosse la scelta giusta per il mio genere di necessitá, ma in effetti pare essere onnipotente nell’ambito della realizzazione grafica! Per quanto riguarda gli editor o comunque “facilitatori” che mi aiutino ad avere subito un riscontro grafico ce ne è qualcuno di consigliabile o è preferibile procedere da soli “a mano”? Mi scuso se il gergo è poco tecnico, ma sto inziando a scrivere la tesi triennale e sono veramente nuova di questi strumenti!
-
23 Luglio 2018 alle 5:02 #113528::
So che esistono programmi di matematca/geometria chepermettono di disegnare in modo interattivo e di esportare quanto fatto in codice TikZ. Io personalmente non ne ho mai usati, quindi non ti so dire di più.
Ma quando devo fare qualcosa di complicato che mi giustifichi l’uso di TikZ (di solito uso l’ambiente picture, nativo di LaTeX esteso con il pacchetto standard pict2e, e mi scrivo le macro che mi servono; tuttavia non lo farei per disegnare grafi come i tuoi), mi servo di un file .tex a parte dove eseguo il disegno compilandolo via via che aggiungo elementi; la piccolezza del file mi permette di compilare in pochi secondi; in questo modo lavoro in modo quasi interattivo; soddisfatto il mio bisogno estetico, copio il codice che ho scritto e lo incollo nel file tex del mio documento vero. Non getto via il file tex di servizio, perché mi potrebbe servire per creare un altro disegno. Procedendo in questo modo apparentemente lungo non ci metto più tempo che con un programma interattivo, dove devi lavorare di mouse e devi avere una mano fermissima, altrimenti devi ricominciare in continuazione.Qualcun altro qui sul forum ti può consigliare soluzioni migliori.
-
23 Luglio 2018 alle 7:28 #113529
-
23 Luglio 2018 alle 7:37 #113530::
@OldClaudio ha già risposto in modo perfetto alla domanda che costituisce l’oggetto di questo filone, e non ho nulla da aggiungere a ciò che lui ha detto. Tuttavia, come ben sanno i suoi frequentatori di più lunga data, è consuetudine di questo forum promuovere, oltre alla conoscenza del (La)TeX e dei programmi a esso correlati, anche il buon uso dell’italiano, in considerazione del fatto che — ovviamente! 🙂 — la buona tipografia non può non comprendere la proprietà linguistica come sua parte integrante.Ora, a costo di passare per vecchio brontolone (descrizione che, peraltro, mi si addice), non posso non rimarcare che vedere un(a) laureanda/o che commette un errore marchiano come usare il verbo intransitivo «ripugnare» come sinonimo dei transitivi «disapprovare» o «biasimare» mi fa una certa impressione. Penso che la responsabilità di questa sciatteria vada equamente ripartita tra un sistema educativo che rinuncia sempre di più, ogni anno che passa, a svolgere il suo ruolo di guida e studenti che rinunciano sempre di più, ogni anno che passa, a protestare contro la decadenza del sistema educativo, lieti, al contrario, di potersi approfittare della conseguente anarchia.
Vi prego di perdonarmi, ma, ripeto, sto invecchiando.
Ciao.
—
Gustavo
-
23 Luglio 2018 alle 8:12 #113531::
Sì, è vero, TikZ è davvero potente, a volte troppo. Però esistono delle library di PGF/TikZ che ti potrebbero aiutare (invocale con \usetikzlibrary{…}), ma io trovo molto più istruttivo che tu abbia nel tuo preambolo una situazione del tipo
`
\usepackage{tikz}
\newcommand\nodo[1]{\draw [fill=black] (#1) circle (0.6mm)}
% ricordati i punti e virgola, vanno messi alla fine di ciascun comando…
\newcommand\arco[numero di variabili che vuoi dare]{qui decidi tu…}
% e così via…
`Se vuoi vedere il tutto in “tempo reale” ci sono qTikZ e kTikZ, sono equivalenti, scegli tu.
-
23 Luglio 2018 alle 9:55 #113532::
niania” post=113886Buongiorno a tutti. La mia domanda è da completa ignorante sull’argomento: come posso disegnare grafi topologici? Mi scuso in anticipo nel caso la domanda fosse già stata posta, ma non sono stata in grado di trovare precedenti.
Per intenderci il tipo di grafi che mi piacerebbe imparare a disegnare è questo:[attachment=2091]grafi.png[/attachment]
Ovviamente sarei particolarmente interessata all’esistenza di editor (online e non) che mi facilitino la vita, come ne conosco per i diagrammi commutativi.
Se la cosa risultasse troppo complicata mi andrebbe bene anche imparare a disegnarli come immagini da caricare nel file LaTeX, anche se immagino questa soluzione sia antiestetica e ripugnata dai più.Grazie mille in anticipo
Ciao niania,
ho un esempio di codice che penso sia interessante.Prima di tutto è preferibile disegnare il pallino centrale come nodo e non come cerchietto pieno, così sarà poi possibile avvalersi di semplici path di costruzione. Per esempio, per disegnare il pallino nell’origine che chiameremo A, è utile il codice:
`\node [draw,fill,circle,minimum size=2.5pt,inner sep=0pt] (A) at (0,0) {};`Per quanto riguarda i loop colorati, ti suggerisco di usare uno stile “path to” in questo modo:
`
\documentclass{article}
\usepackage{tikz}\tikzset{%
right up half/.style={to path={
.. controls +(120:0.6) and +(180:0.6) .. (\tikztotarget) \tikztonodes
}},
left up half/.style={to path={
.. controls +(0:0.6) and +(60:0.6) .. (\tikztotarget) \tikztonodes
}}
}\begin{document}
\begin{tikzpicture}
\node [draw,fill,circle,minimum size=2.5pt,inner sep=0pt] (A) at (0,0) {};\draw[->,green] (A) to
node {} (0,1cm);
\draw[->,red] (0,1cm) tonode {} (A);
\end{tikzpicture}
\end{document}
`Per fare un percorso completo, anziché un unico path puoi mantenere spezzate le righe, dal nodo centrale a quello sopra, e poi di nuovo a quello centrale, simulando un percorso intero (si toglie la freccia elimindando i due caratteri tratti maggiore ->):
`
\documentclass{article}
\usepackage{tikz}\tikzset{%
right up half/.style={to path={
.. controls +(120:0.6) and +(180:0.6) .. (\tikztotarget) \tikztonodes
}},
left up half/.style={to path={
.. controls +(0:0.6) and +(60:0.6) .. (\tikztotarget) \tikztonodes
}}
}\begin{document}
\begin{tikzpicture}
\node [draw,fill,circle,minimum size=2.5pt,inner sep=0pt] (A) at (0,0) {};\draw[blue] (A) to
node {} (0,1cm);
\draw[->,blue] (0,1cm) tonode {} (A);
\end{tikzpicture}
\end{document}
`
Questo perché la curva rimane la stessa.Adesso, per fare i loop ruotati puoi usare un ambiente scope e ruotare per esempio di 120 gradi e di 240 gradi il disegno:
`
\documentclass{article}
\usepackage{tikz}\tikzset{%
right up half/.style={to path={
.. controls +(120:0.6) and +(180:0.6) .. (\tikztotarget) \tikztonodes
}},
left up half/.style={to path={
.. controls +(0:0.6) and +(60:0.6) .. (\tikztotarget) \tikztonodes
}}
}\begin{document}
\begin{tikzpicture}
\node [draw,fill,circle,minimum size=2.5pt,inner sep=0pt] (A) at (0,0) {};\draw[blue] (A) to
node {} (0,1cm);
\draw[->,blue] (0,1cm) tonode {} (A);
\begin{scope}[rotate=120]
\draw[red] (A) tonode {} (0,1cm);
\draw[->,red] (0,1cm) tonode {} (A);
\end{scope}\begin{scope}[rotate=240]
\draw[->,green] (A) tonode {} (0,1cm);
\draw[->,green] (0,1cm) tonode {} (A);
\end{scope}\end{tikzpicture}
\end{document}`Ci sono diverse cose da sistemare (tipo di freccia, spessori, dimensioni, miglioramenti di codice, ecc), ma il codice degli esempi è abbastanza semplice.
Ciao.
-
24 Luglio 2018 alle 4:57 #113533::
Ho modificato la domanda, o, come avrei piú spontaneamente scritto, l’ho “editata”. Penso sia effettivamente triste constatare che molti laureandi non sono in grado di scrivere nemmeno qualche riga in italiano, ma ho la presunzione di sostenere di essere in grado di farlo. Questo aggrava la mia situazione comunque e giustifica l’uso del termine “sciatteria”. Rimane il fatto che si potessero usare toni meno spiacevoli.
-
1 Agosto 2018 alle 11:40 #113534::
Ciao! 😀Ho trovato da qualche parte dei comandi per fare dei grafi semplici con tikz.
`
\usepackage{tikz}
\usetikzlibrary{calc}% questa volta non hai bisogno di mettere i ' ; ', ci sono già dentro i comandi
\newcommand\nodo[2]{
\node (#1) [circle,anchor=center] at (#2) {};
\fill [black] (#2) circle (3pt);
}\newcommand\cappio[2]{
\draw [->,line width=1pt]
(#1)
.. controls
($(#1)+1.5*({cos(#2)+sin(#2)},{sin(#2)-cos(#2)})$)
and
($(#1)+1.5*({cos(#2)-sin(#2)},{sin(#2)+cos(#2)})$)
..
(#1);
}\newcommand\arcoS[2]{
\draw [->,line width=1pt]
(#1) ..
controls ($(#1)!0.4!(#2)!0.3!90:(#2)$) and ($(#2)!0.4!(#1)!0.3!-90:(#1)$)
.. (#2);
}\newcommand\arcoD[2]{
\draw [->,line width=1pt]
(#1) ..
controls ($(#1)!0.4!(#2)!0.3!-90:(#2)$) and ($(#2)!0.4!(#1)!0.3!90:(#1)$)
.. (#2);
}
`
Liberissima di modificarli.
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.