Risposte nei forum create
-
AutoreRisposte
-
::
giuseppegerax” post=86127Mi viene un pò complicato 🙁 ma c’è qualche altro modo per “evidenziare” una parola?
Beh.. onestamente trovo spot un pacchetto del tutto inutile, ma è un’opinione personale. Quello che ti posso dire è che TikZ e Beamer interagiscono molto bene insieme visto che l’autore è lo stesso perciò sarebbe consigliabile fare i disegni con TikZ. Se riesci a ridurre un po’ l’esempio che non è minimo sarebbe meglio anche perché oltrettuto ci sono due ambienti, adv e disadv che non sono stati definiti prima. A me sembrano familiari perché in un mio pacchetto ne ho proprio definiti due chiamati così, ma capisci che chi ti vuole aiutare si trova con il dilemma: cosa fanno questi ambienti? Per questo è meglio ridurre tutto ad una slide sola con il disegno incriminato. 🙂
Dimenticavo: benvenuto sul forum!!
Ciao
Claudio
::giuseppegerax” post=86125Salve ragazzi, ho un problema con il comando \spot su un punto di un diagramma generato con pstricks. In pratica, vorrei mettere lo “spot” giallo sul primo s(t) della figura, ma non appena eseguo la direttiva spot, s(t) si sovrappone a m(t), ovvero si sposta verso sinistra. Come posso fare?
Mescolare PSTricks e TikZ (pacchetto spot) è in genere una gran brutta idea, comunque riesci a ridurre il codice ad un esempio minimo compilabile?
Ciao
Claudio
::
Effettivamente c’è da diventare matti a scrivere tutto 😀Ivan ha avuto l’intuizione giusta, ma credo che al giorno d’oggi trovare qualcuno che si metta ad imparare PGF sia difficile: è molto più macchinoso di TikZ che è nato appunto per essere un’interfaccia più user-friendly di PGF. Una piccola pecca al codice di Ivan è che genera si cerchi casualmente distribuiti, ma non su un cerchio: definendo infatti casualmente le coordinate x e y i punti si dispongono su un quadrato/rettangolo a seconda dei massimi consentiti.
Su TeX.SX ci sono un paio di interventi per problemi simili, ma sempre su rettangoli: qui e qui (nel secondo si tiene conto di come non far sovrapporre i cerchi).
Qui il problema è diverso: i cerchi devono essere distribuiti su un cerchio. Quindi serve una sintassi diversa per generare un angolo e una distanza dal centro: in questo modo si può scrivere `
\node[opzioni] at ($(inc.center)!\distanza!(inc.angolo)$){};` dove [tt]inc[/tt] è un nodo di tipo circle già esistente.Ecco un esempio completo: `
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}\begin{document}
\tikzset{bianco_circle/.style={circle,minimum size=4cm, draw}}
\tikzset{_circle/.style={circle,minimum size=2cm, draw}}
\tikzset{green_circle/.style={circle,minimum size=0.1cm, draw,bottom color=green!80}}
\tikzset{red_circle/.style={circle,minimum size=0.1cm, draw,bottom color=red!80}}
\tikzset{blue_circle/.style={circle,minimum size=0.1cm, draw,bottom color=blue!80}}\begin{tikzpicture}
\pgfmathsetseed{123456}
\node (inc) at (0,5) [bianco_circle,label=INCLUSIONE] {};\foreach \circle in {1,…,10}{
\pgfmathrandom{0,360}
\pgfmathtruncatemacro\angle\pgfmathresult
\pgfmathrnd
\pgfmathsetmacro\distance\pgfmathresult
\node[green_circle] at ($(inc.center)!\distance!(inc.\angle)$){};
}\foreach \circle in {1,…,10}{
\pgfmathrandom{0,360}
\pgfmathtruncatemacro\angle\pgfmathresult
\pgfmathrnd
\pgfmathsetmacro\distance\pgfmathresult
\node[red_circle] at ($(inc.center)!\distance!(inc.\angle)$){};
}\foreach \circle in {1,…,10}{
\pgfmathrandom{0,360}
\pgfmathtruncatemacro\angle\pgfmathresult
\pgfmathrnd
\pgfmathsetmacro\distance\pgfmathresult
\node[blue_circle] at ($(inc.center)!\distance!(inc.\angle)$){};
}\end{tikzpicture}
\end{document}
`Dimenticavo: a parte l’uso dei cicli e numeri casuali per ridurre il numero di righe di codice, altri miglioramenti riguardano come hai scritto le opzioni. Abituati ad usare tikzset e non tikzstyle che oltre ad essere non raccomandato è più pericoloso perché è più facile da modificare: se copiando ed incollando ti scappa un solo + rischi di sovrascrivere uno stile. Con tikzset è più difficile fare questi pasticci.
Altra cosa: non c’è motivo di specificare cose come [tt]shapes=[/tt] o [tt]=black[/tt]. Sono predefinite.
Ciao
Claudio
::MarcelloFioravanti” post=86069Dove trovo le estensioni di PGF per creare calendari con latex? Mi servirebbe trovare qualcosa da cui partire…
Se hai una distribuzione completa, hai già attraverso PGF/TikZ la libreria [tt]calendar[/tt] che è presente nella documentazione perciò potresti cominciare da lì. Per vedere poi un’esempio vero, ti inserisco il link di questo calendario realizzato da Marc Van Dongen.
Ciao
Claudio
::illinguista1972″ post=86045Questo codice è copiato pari pari dalla documentazione di modiagram:
`\documentclass{article}
\usepackage{modiagram,chemfig}\begin{document}
\MOsetup{style = fancy, distance = 7cm, AO-width = 15pt, labels}
\begin{MOdiagram}
\atom[N]{left}{
2p = {0;up,up,up}
}
\atom[O]{right}{
2p = {2;pair,up,up}
}
\molecule[NO]{
2pMO = {1.8,.4;pair,pair,pair,up},
color = { 2piy*=red }
}
\EnergyAxis
\end{MOdiagram}\end{document}`
Anche volendo disegnare il più semplice diagramma molecolare, sempre preso dalla documentazione,
`\documentclass{article}
\usepackage{modiagram,chemfig}\begin{document}
\begin{MOdiagram}
\atom{right}{
1s={ 0;pair},
2s={ 1;pair},
2p = {1.5; up, down }
}
\end{MOdiagram}\end{document}`
l’errore che ottengo è sempre quello, nella riga corrispondente alla prima graffa di chiusura solitaria. Ecco l’errore:
`This is pdfTeX, Version 3.1415926-2.4-1.40.13 (TeX Live 2012)
\write18 enabled.
entering extended mode
(./esemodiagram-1.tex
LaTeX2e <2011/06/27>
Babeland hyphenation patterns for english, dumylang, nohyphenation, ge
rman-x-2012-05-30, ngerman-x-2012-05-30, afrikaans, ancientgreek, ibycus, arabi
c, armenian, basque, bulgarian, catalan, pinyin, coptic, croatian, czech, danis
h, dutch, ukenglish, usenglishmax, esperanto, estonian, ethiopic, farsi, finnis
h, french, friulan, galician, german, ngerman, swissgerman, monogreek, greek, h
ungarian, icelandic, assamese, bengali, gujarati, hindi, kannada, malayalam, ma
rathi, oriya, panjabi, tamil, telugu, indonesian, interlingua, irish, italian,
kurmanji, latin, latvian, lithuanian, mongolian, mongolianlmc, bokmal, nynorsk,
piedmontese, polish, portuguese, romanian, romansh, russian, sanskrit, serbian
, serbianc, slovak, slovenian, spanish, swedish, turkish, turkmen, ukrainian, u
ppersorbian, welsh, loaded.
(/usr/local/texlive/2012/texmf-dist/tex/latex/base/article.cls
Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
(/usr/local/texlive/2012/texmf-dist/tex/latex/base/size10.clo))
(/usr/local/texlive/2012/texmf-dist/tex/latex/modiagram/modiagram.sty
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/expl3.sty
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3names.sty
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty))
(/usr/local/texlive/2012/texmf-dist/tex/latex/etex-pkg/etex.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3basics.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3expan.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3tl.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3seq.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3int.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3quark.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3prg.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3clist.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3token.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3prop.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3msg.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3file.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3skip.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3keys.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3fp.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3box.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3coffins.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3color.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3luatex.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3candidates.sty)
(/usr/local/texlive/2012/texmf-dist/tex/generic/oberdiek/ifpdf.sty))
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3packages/xparse/xparse.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty
(/usr/local/texlive/2012/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty
(/usr/local/texlive/2012/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.te
x)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def
(/usr/local/texlive/2012/texmf-dist/tex/latex/ms/everyshi.sty))
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex))
(/usr/local/texlive/2012/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty
(/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/graphicx.sty
(/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/graphics.sty
(/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/latexconfig/graphics.cfg)
(/usr/local/texlive/2012/texmf-dist/tex/latex/pdftex-def/pdftex.def
(/usr/local/texlive/2012/texmf-dist/tex/generic/oberdiek/infwarerr.sty)
(/usr/local/texlive/2012/texmf-dist/tex/generic/oberdiek/ltxcmds.sty))))
(/usr/local/texlive/2012/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.c
ode.tex))
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.d
ef
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-p
df.def)))
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.
code.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.
code.tex)) (/usr/local/texlive/2012/texmf-dist/tex/latex/xcolor/xcolor.sty
(/usr/local/texlive/2012/texmf-dist/tex/latex/latexconfig/color.cfg))
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex
)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.
tex
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic
.code.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigo
nometric.code.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.rando
m.code.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.compa
rison.code.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.
code.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round
.code.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.
code.tex)))
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex)
)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.co
de.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconst
ruct.code.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage
.code.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.co
de.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicst
ate.code.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransform
ations.code.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.cod
e.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.c
ode.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathproce
ssing.code.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.co
de.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.cod
e.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.cod
e.tex
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.
code.tex))
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.co
de.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretranspare
ncy.code.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.
code.tex)))
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.cod
e.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.
tex)
(/usr/local/texlive/2012/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version
-0-65.sty)
(/usr/local/texlive/2012/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version
-1-18.sty))
(/usr/local/texlive/2012/texmf-dist/tex/latex/pgf/utilities/pgffor.sty
(/usr/local/texlive/2012/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)
) (/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex
))
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.cod
e.tex
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothan
dlers.code.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.cod
e.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/frontendlayer/tikz/librarie
s/tikzlibrarytopaths.code.tex)))
(/usr/local/texlive/2012/texmf-dist/tex/latex/textgreek/textgreek.sty
(/usr/local/texlive/2012/texmf-dist/tex/generic/babel/lgrenc.def))
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/frontendlayer/tikz/librarie
s/tikzlibrarycalc.code.tex)
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/frontendlayer/tikz/librarie
s/tikzlibraryarrows.code.tex
(/usr/local/texlive/2012/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.
code.tex))) (/usr/local/texlive/2012/texmf-dist/tex/generic/chemfig/chemfig.sty
(/usr/local/texlive/2012/texmf-dist/tex/generic/chemfig/chemfig.tex))
(./esemodiagram-1.aux)
(/usr/local/texlive/2012/texmf-dist/tex/generic/babel/lgrcmr.fd)
ABD: EveryShipout initializing macros
(/usr/local/texlive/2012/texmf-dist/tex/context/base/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
) (/usr/local/texlive/2012/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
(/usr/local/texlive/2012/texmf-dist/tex/generic/oberdiek/ifluatex.sty))
(/usr/local/texlive/2012/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
(/usr/local/texlive/2012/texmf-dist/tex/latex/oberdiek/grfext.sty
(/usr/local/texlive/2012/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty))
(/usr/local/texlive/2012/texmf-dist/tex/latex/oberdiek/kvoptions.sty
(/usr/local/texlive/2012/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
(/usr/local/texlive/2012/texmf-dist/tex/generic/oberdiek/etexcmds.sty)))
(/usr/local/texlive/2012/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg))
! Undefined control sequence.
…:Nn \l_tmpa_tl { }\prg_case_str:onn
{\l_tmpa_tl }{{up}{\MOdiag…
l.10 }? x
No pages of output.
Transcript written on esemodiagram-1.log.`
Sembra che ci sia qualcosa che non va nella riga 1288 di [tt]modiagram.sty[/tt].È scritto in LaTeX3, mi sembra, che non so interpretare. Avete qualche idea? Potrebbe essere un bug del pacchetto?
Ciao
TommasoMagari è una cavolata, ma può darsi che come è successo per hobby (vedi qui) quella funzione sia stata sostituita. Forse Enrico ti potrebbe dare qualche informazione in più.
Ciao
Claudio
::DirkPitt” post=86006
In realtà non hai sbagliato nulla: serve creare un .gif a partire dal file pdf. Io personalmente uso GIMP, ma si può fare anche con ImageMagick: vedi qui.
Ciao
ClaudioGrazie ancora per la risposta. Ma sono necessari entrambi i programmi o solo gimp va bene (ce l ho già installato sul mio ubuntu) ?. Cercando in rete ho trovato varie guide ma tutte terminano con l invocazione di un comando di image magick.
No, anche solo GIMP va bene. La procedura in breve:
– apri il pdf con GIMP e importi tutte le pagine;
– su una finestrella a destra inverti l’ordine delle pagine (devono essere in ordine decrescente);
– esporti e al momento di selezionare il nome del file scrivi: scegli di fare l’animazione e imposti la durata fra due frame. Fatto!!! 🙂
Ciao
Claudio
::DirkPitt” post=86003Sono riuscito a produrre il pdf che ho messo in allegato. Ho notato però che esso non viene visualizzato con lo scorrimento automatico come in questo esempio che mi aveva passato Claudio all’inizio della discussione (sto provando con Adobe Reader). Dove sbaglio?
`
\documentclass[tikz]{standalone}\usepackage{pgfplots}
\usepackage{verbatim}
\begin{document}
\foreach \x/\y/\ang in{%
{25.000/5.000/2.35619, 24.965/5.035/2.27633, 24.933/5.072/2.23351, 24.902/5.112/2.21078, 24.873/5.152/2.19881}
%vi risparmio gli altri 500
\begin{tikzpicture}
\begin{axis}[xlabel=$x_1$, ylabel=$x_2$, xmax=27, xmin=8, ymin=3, ymax=25]
\draw[black] (axis cs:\x,\y) circle (0.2cm);
\path (axis cs: \x,\y) ++(\ang*180/3.14:0.15cm) coordinate (tmp);
\node at (tmp) [draw, fill=black,shape=circle, inner sep=0pt, minimum size=1pt] (n) {};
\path (axis cs: \x,\y) ++(\ang*180/3.1416 – 90:0.15cm) coordinate (p1);
\path (axis cs: \x,\y) ++(\ang*180/3.1416 + 90:0.15cm) coordinate (p2);
\draw[thick] (p1)–(p2);
\end{axis}
\end{tikzpicture}
}
\end{document}`
Non mi fa allegare il pdf
In realtà non hai sbagliato nulla: serve creare un .gif a partire dal file pdf. Io personalmente uso GIMP, ma si può fare anche con ImageMagick: vedi qui.
Ciao
Claudio
::DirkPitt” post=85996
[quote=”DirkPitt” post=85988]Grazie Marco i tuoi suggerimenti mi sono stati utilissimi come anche il tuo esempio.
Al momento non riesco a fare però una prova “seria” perchè nel mio file devi scrivere 3 array di dati numerici e poi utilizzarli nel for.
Cioè io ho dei dati come questi
`
%x1
25.000 24.965 24.933 24.902 24.873 24.843 24.814 24.785 24.756 24.727%x2
5.000 5.035 5.072 5.112 5.152 5.192 5.233 5.274 5.314 5.355%x3
2.35619 2.27633 2.23351 2.21078 2.19881 2.19255 2.18930 2.18762 2.18676 2.18633
`Le coppie (x1,x2) rappresentano il centro del piccolo cerchio che devo disegnare in ogni “subfigure” dell’animazione. Quindi nel ciclo for devo accedere agli elementi degli array in questione, ma non so come farlo (a livello sintattico del codice).
La x3 serve per calcolarmi l’angolazione dell asse delle ruote, ma se non riesco ve lo chiedo + avanti 🙂Ringrazio anche gli altri per il loro aiuto, ciao
EDIT:
Rileggendo mi viene da pensare che non sono stato chiarissimo. Ciò che mi serve è la sintassi per definire array in latex e per accedere agli elementi. Ad esempio in java fareiint lunghezza=3;
double vett = {0.5, 0.4, 0.6}
for n=0; nCosì:`\documentclass{beamer}
\usepackage{tikz}
% Daniel's code:
% http://tex.stackexchange.com/questions/55806/tikzpicture-in-beamer/55827#55827
\tikzset{
invisible/.style={opacity=0},
visible on/.style={alt=#1{}{invisible}},
alt/.code args={<#1>#2#3}{%
\alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't change the path
},
}\begin{document}
\begin{frame}{Titolo}
\begin{tikzpicture}
\foreach \pos[count=\xi] in {{(25,5)},{(24.965,5.035)},{(24.933,5.072)},{(24.902,5.112)}}{
\node[draw,red,circle,visible on=<\xi>]at \pos {};
}
\end{tikzpicture}
\end{frame}
\end{document}` Attenzione: il contatore, \xi in questo esempio deve essere un valore intero e non troncato. Lo dico già ora perché io ho usato il count per semplicità, ma per cose più complesse è meglio definirsi a parte una macro. A quel punto se la definisci male, TikZ ti ritornerà dei valori.0 dove il .0 è un angolo e tutto il meccanismo va a arotoli. Ciao
ClaudioTi ringrazio per l’esempio, ma non esiste un modo per definirsi gli array e poi accedervi? Io nello stesso ciclo for ho bisogno di accedere anche all’elemento in posizione “pos” anche di x3, per decidere con quale angolo rispetto all’orizzontale devo disegnare un segmento all interno del cerchio. Sto vedendo il pacchetto arrayjob per ora, http://www.ctan.org/tex-archive/macros/generic/arrayjobx
Ciao[/quote]
Beh certo che esiste un modo per definire array eccetera, ma credo tu ti stia complicando la vita inutilmente. Devi aggiungere il parametro x3? Cambia il ciclo:`
\foreach \pos/\parametrox3[count=\xi] in {{(25,5)}/0,{(24.965,5.035)/0},{(24.933,5.072)/0},{(24.902,5.112)/0}}
` e poi potrai usare \pos e \parametrox3 come meglio credi (io sulla storia degli angoli passo: non ho capito cosa devi fare e come si potrebbe fare).Ora, invece, per complicarti la vita, ti allego qualche collegamento su come implementare delle liste: Enrico ti direbbe di usare LaTeX3, ne sono sicuro :wink:, ma ci sono anche altri modi. Una bella carrellata, è un esempio indiretto, ma il messaggio è facile da cogliere, la trovi qui (in particolare guarda con attenzione la risposta di Andrew). In realtà pgfplots se non ricordo male ha un suo modo per gestire le liste, ma non ci ho mai fatto troppo caso. Infine, esiste anche questa possibilità che non è male.
Ciao
Claudio
::illinguista1972″ post=85991
@robitex
Eh, no.
Purtroppo è proprio indispensabile smussare i punti in cui le line si autointersecano 🙂Non mi intendo tanto di disegno con TikZ, ma quello che chiedi non è proprio quello che si dice un disegno elementare, con cui si consiglia di partire.
Ciao
TommasoBeh, non è banale,ma nemmeno impossibile!! In merito ai bordi, la questione è interessante e c’è persino scelta fra gli approcci sviluppati. Quello più famoso è questo: in pratica basta specificare un ordine qualsiasi, beh non proprio qualsiasi, di nodi esistenti e il bordo viene generato automaticamente. Il secondo è sempre automatico, ma genera una linea curva perciò in questo caso non va bene; la referenza è questa. Direi però che si può fare anche a mano: certe volte si ottiene un risultato migliore e più accurato.
Per i + e – puoi anche usare una matrice: con [tt]matrix of nodes[/tt] avresti automaticamente accesso al nome di ogni singola entrata. Io farei così.
Ciao
Claudio
::DirkPitt” post=85988Grazie Marco i tuoi suggerimenti mi sono stati utilissimi come anche il tuo esempio.
Al momento non riesco a fare però una prova “seria” perchè nel mio file devi scrivere 3 array di dati numerici e poi utilizzarli nel for.
Cioè io ho dei dati come questi
`
%x1
25.000 24.965 24.933 24.902 24.873 24.843 24.814 24.785 24.756 24.727%x2
5.000 5.035 5.072 5.112 5.152 5.192 5.233 5.274 5.314 5.355%x3
2.35619 2.27633 2.23351 2.21078 2.19881 2.19255 2.18930 2.18762 2.18676 2.18633
`Le coppie (x1,x2) rappresentano il centro del piccolo cerchio che devo disegnare in ogni “subfigure” dell’animazione. Quindi nel ciclo for devo accedere agli elementi degli array in questione, ma non so come farlo (a livello sintattico del codice).
La x3 serve per calcolarmi l’angolazione dell asse delle ruote, ma se non riesco ve lo chiedo + avanti 🙂Ringrazio anche gli altri per il loro aiuto, ciao
EDIT:
Rileggendo mi viene da pensare che non sono stato chiarissimo. Ciò che mi serve è la sintassi per definire array in latex e per accedere agli elementi. Ad esempio in java fareiint lunghezza=3;
double vett = {0.5, 0.4, 0.6}
for n=0; nCosì:`\documentclass{beamer}
\usepackage{tikz}
% Daniel's code:
% http://tex.stackexchange.com/questions/55806/tikzpicture-in-beamer/55827#55827
\tikzset{
invisible/.style={opacity=0},
visible on/.style={alt=#1{}{invisible}},
alt/.code args={<#1>#2#3}{%
\alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't change the path
},
}\begin{document}
\begin{frame}{Titolo}
\begin{tikzpicture}
\foreach \pos[count=\xi] in {{(25,5)},{(24.965,5.035)},{(24.933,5.072)},{(24.902,5.112)}}{
\node[draw,red,circle,visible on=<\xi>]at \pos {};
}
\end{tikzpicture}
\end{frame}
\end{document}` Attenzione: il contatore, \xi in questo esempio deve essere un valore intero e non troncato. Lo dico già ora perché io ho usato il count per semplicità, ma per cose più complesse è meglio definirsi a parte una macro. A quel punto se la definisci male, TikZ ti ritornerà dei valori.0 dove il .0 è un angolo e tutto il meccanismo va a arotoli. Ciao
Claudio
::l3on4rdo” post=85981Comunque, per far capire, il disegno che devo rifare è questo:
[attachment=730]Schermata_2013-06-10.png[/attachment]
Più un altro, analogo.
Sto vedendo dei codici di esempio… per fare i sudoku 🙂Beh.. c’è un pacchetto sudoku se ti interessa oppure puoi guardare l’apposito sudoku tag su TeX.SX.
Ciao
Claudio
10 Giugno 2013 alle 7:53 in risposta a: Tre graf.(pgfplots) allin. vert. con subfloat e senza didasc #86580::antonioliva” post=85971Salve a tutti,
vorrei realizzare un grafico identico a quello presente in allegato.Per realizzare i tre grafici ho usato pgfplots e per metterli insieme subfloat.
Vorrei sapere se:
1 la strada scelta è corretta;
2 esiste un modo per allineare i grafici automaticamente e non in modo manuale (es. \quad);
3 si possono eliminare la didascalie sotto ogni figura, e dunque anche le lettere minuscole (a,b,c).Per completezza riporto la parte di codice a cui si riferisce il quesito:
\begin{figure}
\centering
\quad
\subfloat[][]{
\begin{tikzpicture}
\begin{axis}[
xticklabels=none,
scale only axis,
grid=major,
width=10cm,height=3cm,
xmin=210,xmax=360,
ymin=1,ymax=3,
%xlabel=\si{m/s},
ylabel={
\parbox{2cm}{
\centering
$\alpha_0$
\\[0.4em] %distanza tra il simbolo e l’unità di misuraxc\alpha
\centering
($\deg$)
}
}
]
\addplot[line width=0.5pt] table [x=v,y=alpha_0] {TRIM_delta_e_deg_m1.txt};
\end{axis}
\end{tikzpicture}
}\\
\subfloat[][]{
\begin{tikzpicture}
\begin{axis}[
scale only axis,
xticklabels=none,
width=10cm,height=3cm,
grid=major,
xmin=210,xmax=360,
ymin=-1,ymax=1,
%xlabel=\si{m/s},
ylabel={
\parbox{2cm}{
\centering
$\delta_{e,0}$
\\[0.4em] %distanza tra il simbolo e l’unità di misuraxc\alpha
\centering
($\deg$)
}
}
]
\addplot[line width=0.5pt] table [x=v,y=delta_e_0] {TRIM_delta_e_deg_m1.txt};
\end{axis}
\end{tikzpicture}
}\\
\quad\quad\quad\quad
\subfloat[][]{
\begin{tikzpicture}
\begin{axis}[
scale only axis,
width=10cm,height=3cm,
grid=major,
xmin=210,xmax=360,
ymin=0.1,ymax=0.6,
xlabel=\si{m/s},
ylabel=$\delta_{T,0}$
%xlabel = V_{TAS} \si{m/\s}
]%,ylabel style={rotate=-90}] %questa opz è utile solo quando si vuol ruotare l’etichetta di un solo grafico
\addplot[line width=0.5pt] table [x=v,y=delta_T_0] {TRIM_delta_e_deg_m1.txt};
\end{axis}
\end{tikzpicture} }
\caption{Componenti della velocità angolare in assi aerodinamici}
\label{fig:TRIM_delta_e_m1}
\end{figure}Ti consiglierei la libreria [tt]groupplots[/tt]: la trovi spiegata in dettaglio nella documentazione e puoi fare tutte le personalizzazioni del caso in merito a label eccetera…
Ciao
Claudio
::OldClaudio” post=85946L’elenco dei passi per installare a mano, ti dà l’idea di quanto sia pi`¨semplice disporre di un programma di installazione che fa tutto da solo. e ti dice anche quanto sia differente “scaricare” a confronto con “installare”.
E giusto per rincarare la dose, voglio evidenziare una cosa: questo metodo di “installazione” che installazione non è, non è sicuro al 100%.
Motivo? Molto semplice. Supponiamo che si “installi” il pacchetto x nel suddetto modo e che la distribuzione in possesso non sia aggiornata. Supponiamo anche che x carichi il pacchetto y, ma y non sia presente nella distribuzione. Ebbene, si avrà un errore per cui il compilatore si lamenterà della mancanza di y. Questo perché è stato scaricato dall’archivio di CTAN aggiornato e non nella versione che teoricamente risale al momento in cui la distribuzione è aggiornata.
Ecco perché è importante fare un’installazione corretta e non una “installazione”.
Ciao
Claudio
::l3on4rdo” post=85949Ciao a tutti.
Premessa: sto facendo delle ricerche in rete, ma essendo totalmente ignorante in merito… ci sto capendo poco.Ho notato con piacere che, dopo un primo periodo di apprendimento non lineare dell’uso del pacchetto, pgfplots permette di fare dei grafici perfettamente integrati nel documento, in termini di estetica e compagnia bella.
Ora, mi sto chiedendo se non sia possibile anche fare dei semplici disegni, con qualche pacchetto di LaTeX.
Mi servirebbe di rifare alcune immagini (per lo più dei reticoli con delle “palline”) che ho fatto con GIMP, ma che risultano comunque “differenti” dal documento in cui li vado ad inserire.
Le linee, per esempio, sono troppo spesse (sebbene abbia provato più e più volte con GIMP).
Altri inconvenienti di questo tipo mi impediscono di guardare con soddisfazione le pagine in cui vado a inserire queste immagini.Vi ringrazio in anticipo, mi servirebbe solo un’indicazione su che strada intraprendere e su che pacchetti concentrarmi (se ne esistono).
Ciao 🙂
Direi proprio che visto che hai già usato pgfplots la via naturale è TikZ: pgfplots è in pratica una sua estensione per disegnare grafici quindi molti concetti ti saranno già chiari. Ti segnalo che nella sezione documentazione c’è una guida tematica su TikZ: non è una guida per principianti, ma potrebbe tornarti utile lo stesso.
Si aspetta sempre che un certo articolo proprio su TikZ esca.. vero Tommaso? 😉
Ciao
Claudio
::matteo.pedani” post=85928Sto usando un database con datatool, che contiene delgi indirizzi e degli anni di nascita.
Ho bisogno di mettere in un indice tutte le persone più giovani di 30 anni ma non ci riesco.
Mettere il valore dell anno di nascita per confrontarlo con l’anno attuale diventa cosi complicato che non ci riesco.
Non sto a tediarvi con il codice che ho scritto.Come dato di partenza ho l’anno di nascita e \now che faccio diventare \anno formattandolo YYYY
Grazie
Matteo
Visto che non c’è il codice che hai usato neppure io sto a tediarti inventandolo e inventandomi un database. Usa il pacchetto etoolbox per i confronti ed è fatta.
Ciao
Claudio
-
AutoreRisposte