[LaTeX] creare testo sovrapposto a curva con tikz
-
- Entusiasta Emergente
- Messaggi: 1506
- Iscrizione: mercoledì 22 dicembre 2010, 18:09
- Desktop: Unity
- Distribuzione: Ubuntu 14.04.1 LTS 64bit
- Località: Verona
[LaTeX] creare testo sovrapposto a curva con tikz
Ciao a tutti!
Quello che sto cercando di fare è ottenere la cosa rappresentata nell'immagine allegata (molto più chiara di mille spiegazioni) usando tikz. So che si può fare, perché è un'immagine di esempio di un manuale di tikz, ma non riesco a capire come. Ho cercato sia nel manuale e su google, ma non ho trovato la soluzione.
In particolare, credo di dover usare la libreria text decorations di tikz, ma riesco solo a avvicinarmi al risultato, anche perché nel capitolo sulle text decorations nel manuale di tikz ci sono solo casi in cui il testo è in linea con la curva ma la curva stessa non è tracciata o casi in cui il testo segue la linea, ma sopra o sotto di essa.
Sono sulla strada giusta usando text decorations? Se sì, cosa mi manca per arrivare a quello che voglio? Se no, avete consigli su come fare?
Grazie mille fin d'ora
Quello che sto cercando di fare è ottenere la cosa rappresentata nell'immagine allegata (molto più chiara di mille spiegazioni) usando tikz. So che si può fare, perché è un'immagine di esempio di un manuale di tikz, ma non riesco a capire come. Ho cercato sia nel manuale e su google, ma non ho trovato la soluzione.
In particolare, credo di dover usare la libreria text decorations di tikz, ma riesco solo a avvicinarmi al risultato, anche perché nel capitolo sulle text decorations nel manuale di tikz ci sono solo casi in cui il testo è in linea con la curva ma la curva stessa non è tracciata o casi in cui il testo segue la linea, ma sopra o sotto di essa.
Sono sulla strada giusta usando text decorations? Se sì, cosa mi manca per arrivare a quello che voglio? Se no, avete consigli su come fare?
Grazie mille fin d'ora
- Allegati
-
- label_over_line.png (3.4 KiB) Visualizzato 811 volte
"I find your lack of faith disturbing."
- vaeVictis
- Imperturbabile Insigne
- Messaggi: 4703
- Iscrizione: venerdì 27 luglio 2012, 17:58
- Desktop: Gnome
- Distribuzione: Ubuntu 20.04 64bit
Re: [LaTeX] creare testo sovrapposto a curva con tikz
Versione di Tikz, numero della pagine e numero della figura.So che si può fare, perché è un'immagine di esempio di un manuale di tikz, ma non riesco a capire come. Ho cercato sia nel manuale e su google, ma non ho trovato la soluzione
Grazie.
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
-
- Entusiasta Emergente
- Messaggi: 1506
- Iscrizione: mercoledì 22 dicembre 2010, 18:09
- Desktop: Unity
- Distribuzione: Ubuntu 14.04.1 LTS 64bit
- Località: Verona
Re: [LaTeX] creare testo sovrapposto a curva con tikz
Ciao vae, grazie mille della risposta!
Il manuale è questo: http://cremeronline.com/LaTeX/minimaltikz.pdf
L'immagine è a pagina 16. Non ha numero perché è inserita inline, ma, giusto per identificarla in maniera univoca, è l'ultima cosa prima della sezione 6.
La versione di tikz che uso io è la 2.10. Quella che usa nella guida non lo so, non c'è scritta, ma visto che la suddetta guida è del 2011 direi che hanno usato la 2.10 anche lì
Il manuale è questo: http://cremeronline.com/LaTeX/minimaltikz.pdf
L'immagine è a pagina 16. Non ha numero perché è inserita inline, ma, giusto per identificarla in maniera univoca, è l'ultima cosa prima della sezione 6.
La versione di tikz che uso io è la 2.10. Quella che usa nella guida non lo so, non c'è scritta, ma visto che la suddetta guida è del 2011 direi che hanno usato la 2.10 anche lì
"I find your lack of faith disturbing."
- vaeVictis
- Imperturbabile Insigne
- Messaggi: 4703
- Iscrizione: venerdì 27 luglio 2012, 17:58
- Desktop: Gnome
- Distribuzione: Ubuntu 20.04 64bit
Re: [LaTeX] creare testo sovrapposto a curva con tikz
Allora, mi sono scaricato il pdf e ho dato un'occhiata.
Ti dice che sul manuale di Tikz puoi trovare (ovviamente) spiegazioni più dettagliate di quelle date in questa guida minimale che stai seguendo.
Quindi, dando per scontato che stai su Linux anche perché altrimenti non saprei aiutarti, la domanda diventa: tu sai che con l'istallazione di LaTeX hai tutti i manuali in locale?
Li apri tutti con il comando texdoc, in questo caso:
Trovi tutto nel paragrafo 48.6 (a cui puoi arrivare anche cercando "text decorations" nel pdf)
Non so se ti va che ti posti qualche esempio di codice, a me di norma piace parecchio sbattermi con LaTeX.
Quindi per ora evito di rovinarti il "divertimento".
Se vuoi, chiedi ovviamente. E vediamo che riusciamo a fare.
Ti dice che sul manuale di Tikz puoi trovare (ovviamente) spiegazioni più dettagliate di quelle date in questa guida minimale che stai seguendo.
Quindi, dando per scontato che stai su Linux anche perché altrimenti non saprei aiutarti, la domanda diventa: tu sai che con l'istallazione di LaTeX hai tutti i manuali in locale?
Li apri tutti con il comando texdoc, in questo caso:
Codice: Seleziona tutto
texdoc tikz
Non so se ti va che ti posti qualche esempio di codice, a me di norma piace parecchio sbattermi con LaTeX.
Quindi per ora evito di rovinarti il "divertimento".
Se vuoi, chiedi ovviamente. E vediamo che riusciamo a fare.
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
-
- Entusiasta Emergente
- Messaggi: 1506
- Iscrizione: mercoledì 22 dicembre 2010, 18:09
- Desktop: Unity
- Distribuzione: Ubuntu 14.04.1 LTS 64bit
- Località: Verona
Re: [LaTeX] creare testo sovrapposto a curva con tikz
Sì, il manuale di tikz (e in particolare il capitolo su text decorations) l'ho letto, ma continuo a non capire come "far scomparire" la linea sotto al testo.
Voglio dire, con questo:
ottengo sia la linea che il testo, e i due si sovrappongono dove ci dovrebbe essere solo il testo (allegato 1).
Con questo:
la linea scompare del tutto (allegato 2).
Non trovo però l'opzione per fare quello che ho postato nel primo messaggio. Ho allora pensato di disegnare il testo con il secondo modo, dichiarando un nodo in modo da tracciare le linee dopo usando il nodo che contiene il testo e i modificatori west e east. Ma questo nodo che vorrei fare non riesco proprio a farlo.
Sono sulla strada giusta?
Voglio dire, con questo:
Codice: Seleziona tutto
\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{patterns}
\usetikzlibrary{decorations.text}
\usetikzlibrary{calc}
\usetikzlibrary{shapes,arrows}
\begin{document}
\begin{tikzpicture}
\draw [help lines] grid (3,2);
\draw [gray, ->]
[postaction={decoration={text along path,
text={label}, text color=blue, raise=-2, text align={align=center}}, decorate}]
(0,0) to [out=90, in=180] (1.5, 1.5) to [out=0, in=90] (3, 0);
\end{tikzpicture}
\end{document}
Con questo:
Codice: Seleziona tutto
\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{patterns}
\usetikzlibrary{decorations.text}
\usetikzlibrary{calc}
\usetikzlibrary{shapes,arrows}
\begin{document}
\begin{tikzpicture}
\draw [help lines] grid (3,2);
\path [gray, ->]
[postaction={decoration={text along path,
text={label}, text color=blue, raise=-2, text align={align=center}}, decorate}]
(0,0) to [out=90, in=180] (1.5, 1.5) to [out=0, in=90] (3, 0);
\end{tikzpicture}
\end{document}
Non trovo però l'opzione per fare quello che ho postato nel primo messaggio. Ho allora pensato di disegnare il testo con il secondo modo, dichiarando un nodo in modo da tracciare le linee dopo usando il nodo che contiene il testo e i modificatori west e east. Ma questo nodo che vorrei fare non riesco proprio a farlo.
Sono sulla strada giusta?
"I find your lack of faith disturbing."
- vaeVictis
- Imperturbabile Insigne
- Messaggi: 4703
- Iscrizione: venerdì 27 luglio 2012, 17:58
- Desktop: Gnome
- Distribuzione: Ubuntu 20.04 64bit
Re: [LaTeX] creare testo sovrapposto a curva con tikz
Ok, immaginavo che il problema fosse questo.
Se non ricordo male (ho fatto tempo fa una cosa analoga da mettere in una presentazione fatta poi con beamer), devi "spezzare" la linea. Nel senso che fai il primo arco, poi la scritta, poi il secondo tratto di arco.
Ma non sono sicuro ora due piedi che non ci sia una soluzione più semplice.
Ora che ho il codice, appena ho "due minuti" da dedicargli, controllo meglio.
Se non ricordo male (ho fatto tempo fa una cosa analoga da mettere in una presentazione fatta poi con beamer), devi "spezzare" la linea. Nel senso che fai il primo arco, poi la scritta, poi il secondo tratto di arco.
Ma non sono sicuro ora due piedi che non ci sia una soluzione più semplice.
Ora che ho il codice, appena ho "due minuti" da dedicargli, controllo meglio.
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
-
- Entusiasta Emergente
- Messaggi: 1506
- Iscrizione: mercoledì 22 dicembre 2010, 18:09
- Desktop: Unity
- Distribuzione: Ubuntu 14.04.1 LTS 64bit
- Località: Verona
Re: [LaTeX] creare testo sovrapposto a curva con tikz
Eh infatti, è quello che temevo anche io. Cioè, ci avevo pensato, ma poi mi ero detto che ci doveva essere qualcosa che mi sfuggiva, perché questo richiede di fare i due pezzi di linea "a occhio", se la linea non è una geometria facile (tipo una circonferenza) ma qualcosa fatto usando ad esempio l'operatore to..vaeVictis [url=http://forum.ubuntu-it.org/viewtopic.php?p=4615001#p4615001][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto: Se non ricordo male devi "spezzare" la linea. Nel senso che fai il primo arco, poi la scritta, poi il secondo tratto di arco.
Proverò a fare così e vedere cosa esce, se poi hai idee migliori saranno sicuramente bene accette
Intanto grazie mille!
"I find your lack of faith disturbing."
- skevin93
- Prode Principiante
- Messaggi: 28
- Iscrizione: martedì 29 gennaio 2013, 1:03
- Desktop: Lubuntu
- Distribuzione: Ubuntu 14.04.1 LTS i686
Re: [LaTeX] creare testo sovrapposto a curva con tikz
La soluzione è più semplice. Prova a vedere se così ti va bene
Codice: Seleziona tutto
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw [help lines] grid (3,2);
\draw [gray, ->]
(0,0) to [out=90, in=180] (1.5, 1.5) node[fill=white]{label} to [out=0, in=90] (3,0) ;
\end{tikzpicture}
\end{document}
-
- Entusiasta Emergente
- Messaggi: 1506
- Iscrizione: mercoledì 22 dicembre 2010, 18:09
- Desktop: Unity
- Distribuzione: Ubuntu 14.04.1 LTS 64bit
- Località: Verona
Re: [LaTeX] creare testo sovrapposto a curva con tikz
Ti ringrazio per la risposta skevin93, ma il tuo approccio non fa quello che avrei voluto fare io: il testo infatti è stampato in orizzontale invece che seguire la curva tracciata (cosa che si nota in particolare usando un testo molto lungo).
PS: Alla fine ho "risolto" cambiando radicalmente modo di rappresentare il disegno che stavo provando a fare, ma non ho mai capito come fare quello che avrei voluto fare in questo thread, per questo non ho mai messo il tag [Risolto]
PS: Alla fine ho "risolto" cambiando radicalmente modo di rappresentare il disegno che stavo provando a fare, ma non ho mai capito come fare quello che avrei voluto fare in questo thread, per questo non ho mai messo il tag [Risolto]
"I find your lack of faith disturbing."
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 6 ospiti