Le mie (dis)avventure con TikZ

  • Creatore
    Topic
  • #96701
    lorenzo.pantieri
    Partecipante
      Up
      0
      Down
      ::


      Buongiorno a tutti. Apro questo topic in cui metterò tutti i miei dubbi relativi a questo formidabile strumento. Ciò forse non è pienamente conforme alla netiquette, che vuole un topic per ogni argomento, ma il rischio in caso contrario è di inondare il forum di dubbi tutti più o meno simili. Diciamo che il tema di questo topic è TikZ, di cui faccio un uso abbastanza elementare.
      `\documentclass{article}
      \usepackage{tikz}
      \usetikzlibrary{matrix}
      \begin{document}
      \begin{tikzpicture}[font=\small,x=5mm,y=5mm]
      \matrix (a)[matrix of nodes, nodes in empty cells,nodes={ text width=8mm, text depth=1mm, text centered}]{
      & $1$ & $-6$ & $11$ & $-6$ \\
      $1$ & & $1$ & $-5$ & \\
      & $1$ & $-5$ & & \\
      };
      \begin{scope}[blue]
      \draw(a-1-2.north west)–(a-3-1.south east);
      \draw(a-2-1.south west)–(a-2-5.south east);
      \draw(a-1-4.north east)–(a-3-4.south east);
      \end{scope}

      \draw[->,red] (a-2-1)–(a-3-3);
      \draw[->,red] (a-3-3)–(a-2-4);
      \end{tikzpicture}
      \end{document}`
      Il problema è nelle frecce rosse: la prima, quella che collega 1 a -5, può (forse) andare, anche se non è un gran che. La seconda, che dovrebbe collegare i due -5, proprio no. Ho provato a giocare con i punti cardinali, ma non ne sono venuto a capo. Mi aiutate?

      Grazie anticipate

    Visualizzazione 140 filoni di risposte
    • Autore
      Risposte
      • #96702
        Up
        0
        Down
        ::


        Tipo qualcosa del genere?

        `
        \documentclass{article}
        \usepackage{tikz}
        \usetikzlibrary{matrix,calc}
        \begin{document}
        \begin{tikzpicture}[font=\small,x=5mm,y=5mm]
        \matrix (a)[matrix of nodes, nodes in empty cells,nodes={ text width=8mm, text depth=1mm, text centered}]{
        & $1$ & $-6$ & $11$ & $-6$ \\
        $1$ & & $1$ & $-5$ & \\
        & $1$ & $-5$ & & \\
        };
        \begin{scope}[blue]
        \draw(a-1-2.north west)–(a-3-1.south east);
        \draw(a-2-1.south west)–(a-2-5.south east);
        \draw(a-1-4.north east)–(a-3-4.south east);
        \end{scope}

        \draw[->,red] ($(a-2-1.center)+(0.5,0)$)–($(a-3-3.center)-(.5,0)$);
        \draw[->,red] ($(a-3-3.center)+(0.5,0)$)–($(a-2-4.center)-(0.5,0)$);
        \end{tikzpicture}
        \end{document}
        `

      • #96703
        Up
        0
        Down
        ::


        Quella proposta da Little è certamente una soluzione.

        Ne propongo una seconda spiegando cosa c’è che secondo me non funziona in quel codice. Per capirlo, è sufficiente aggiungere la chiave [tt]draw[/tt]: `
        \begin{tikzpicture}[font=\small,x=5mm,y=5mm]
        \matrix (a)[matrix of nodes, nodes in empty cells,nodes={draw, %<= aggiunta qui text width=8mm, text depth=1mm, text centered}]{ & $1$ & $-6$ & $11$ & $-6$ \\ $1$ & & $1$ & $-5$ & \\ & $1$ & $-5$ & & \\ }; \begin{scope}[blue] \draw(a-1-2.north west)--(a-3-1.south east); \draw(a-2-1.south west)--(a-2-5.south east); \draw(a-1-4.north east)--(a-3-4.south east); \end{scope} \draw[->,red] (a-2-1)–(a-3-3);
        \draw[->,red] (a-3-3)–(a-2-4);
        \end{tikzpicture}
        ` I nodi sono tutti attaccati perciò la seconda freccia non può essere disegnata: non c’è spazio. La prima cosa da fare è aggiungere spazio fra righe e colonne con opzioni apposite: `
        \begin{tikzpicture}[font=\small,x=5mm,y=5mm]
        \matrix (a)[matrix of nodes, nodes in empty cells,% meglio matrix of math nodes
        row sep=1ex,column sep=1em,
        nodes={draw,text width=8mm, text depth=1mm, text centered}]{
        & $1$ & $-6$ & $11$ & $-6$ \\
        $1$ & & $1$ & $-5$ & \\
        & $1$ & $-5$ & & \\
        };
        \begin{scope}[blue]
        \draw(a-1-2.north west)–(a-3-1.south east);
        \draw(a-2-1.south west)–(a-2-5.south east);
        \draw(a-1-4.north east)–(a-3-4.south east);
        \end{scope}

        \draw[->,red] (a-2-1)–(a-3-3);
        \draw[->,red] (a-3-3)–(a-2-4);
        \end{tikzpicture}
        ` il che ci permette anche di capire che il primo dei segmenti in blu è diventato inguardabile. Il problema è che inizia dal nodo della seconda colonna e finisce nella prima. Anche il secondo segmento verticale è sbagliato visto che è appoggiato ai nodi della stessa colonna. Oltretutto i nodi hanno dimensioni differenti. Insomma, una schifezza.

        Per ovviare a tutto ciò, punto 1 sistemiamo i nodi: devono avere le stesse dimensioni. È facile: usiamo `
        nodes={draw,text depth=0mm,text height=1ex,text centered,minimum width=5mm,minimum height=2ex,inner sep=0pt}
        ` dove diamo dimensioni minime in larghezza e altezza e eliminiamo il padding con inner sep. Ora i segmenti. Siccome c’è spazio fra le colonne, bisogna individuarne la metà, il che presuppone di caricare la libreria calc. Quindi: `\documentclass{article}
        \usepackage{tikz}
        \usetikzlibrary{calc,matrix}
        \begin{document}

        \begin{tikzpicture}[font=\small,x=5mm,y=5mm]
        \matrix (a)[matrix of nodes, nodes in empty cells,
        row sep=1ex,column sep=1em,
        nodes={text depth=0mm,text height=1ex,text centered,minimum width=5mm,minimum height=2ex,inner sep=0pt}]{
        & $1$ & $-6$ & $11$ & $-6$ \\
        $1$ & & $1$ & $-5$ & \\
        & $1$ & $-5$ & & \\
        };
        \begin{scope}[blue]
        \draw($(a-1-1.north east)!0.5!(a-1-2.north west)$)–
        ($(a-3-1.south east)!0.5!(a-3-2.south west)$);
        \draw(a-2-1.south west)–(a-2-5.south east);% stessa cosa di sopra qui
        \draw(a-1-4.north east)–(a-3-4.south east);% idem, ma in verticale
        \end{scope}

        \draw[->,red] (a-2-1)–(a-3-3);
        \draw[->,red] (a-3-3.north east)–(a-2-4.south west);% meglio così
        \end{tikzpicture}

        \end{document}` Ho già tolto il [tt]draw[/tt] lasciato per debug. Mancano un paio di elementi lasciati per esercizio.

        Ciao
        Claudio

      • #96704
        lorenzo.pantieri
        Partecipante
          Up
          0
          Down
          ::


          Grazie 1000 a tutti e due, Little e cfiandra, le vostre soluzioni funzionano egregiamente. Quella di cfiandra è più elegante, ma anche (per me) più complessa. Quella di Little è più empirica, ma più semplice e comprensibile a me che sono neofita della materia…

          Grazie ancora! 🙂

        • #96705
          Up
          0
          Down
          ::


          Entrambe le soluzioni usano la libreria calc. Quale sia meglio dipende un po’ dal flusso di lavoro che devi svolgere.

          Con la soluzione di Little potrai tracciare più velocemente i segmenti blu, ma dovrai ogni volta andare a calcolare (per tentativi) i punti di inizio e fine segmenti con freccia.

          Nella mia soluzione si sposta la parte “complicata”, quella in cui devi usare la libreria calc, nel disegno dei segmenti blu. In aggiunta occorre ridefinire qualche opzione della matrice. Però, per disegnare le freccie puoi accedere alle ancore standard dei nodi. Probabilmente questa soluzione è più adatta se devi fare molti disegni simili: hai il template con la matrice e i segmenti blu già pronto, perciò per la sola parte di disegno nuova, le frecce, non devi ogni volta trovare i punti di inizio e fine con calc.

          Ciao
          Claudio

        • #96706
          Up
          0
          Down
          ::


          Ciao Lorenzo,

          il mio commento è parzialmente OT, ma scrivo lo stesso.

          Hai pensato di utilizzare Inkscape per le illustrazioni? Io ho provato a imparare a usare TikZ diverse volte, ma lo trovo assurdamente complicato, e in genere l’effetto è che mi ci vuole due ore per fare una cosa che in Inkscape farei in 5 minuti. Inkscape è free e open source.

        • #96707
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::

            grmttr” post=96495Ciao Lorenzo,

            il mio commento è parzialmente OT, ma scrivo lo stesso.

            Hai pensato di utilizzare Inkscape per le illustrazioni? Io ho provato a imparare a usare TikZ diverse volte, ma lo trovo assurdamente complicato, e in genere l’effetto è che mi ci vuole due ore per fare una cosa che in Inkscape farei in 5 minuti. Inkscape è free e open source.

            Il discorso su inkscape non è off topic, perché questo programma di grafica vettoriale graficamente interattivo è in grado di esportare in LaTeX, quindi è in grado di produrre cose perfettamente compatibili con LaTeX stesso; in pratica scegliendo questa via produce un pdf vettoriale con al parte grafica abbinato a un file con una estensione particolare che contiene codice latex dell’ambiente picture, costruito da inkscape epr mettere le parti scritte, le legende, le espressioni matematiche e via discorrendo. le misore che inkscape stesso deterima per tutte le scatole e il loro posizionamento sono determinati sulle coordinate del disegno pdf. Il risultato si può considerare da buono ad ottimo oltre che veloce.
            Certamente TiKZ per ottenere gli stessi disegni richiede una maggiore attenzione e una competenza maggiore.
            Ma i disegni di TiKz sono eseguiti con il disegno programmato e il risultato è sempre eccellente, se l’operatore ha scritto le “espressioni grafiche” giuste. Inkscape come tutti i programmi interattivi con l’operatore produce ottimi risultati se l’operatore è in gamba, o prodotti modesti che possono soddisfare l’occhio disattento di un principiante, ma non quello di un esperto.

            In sostanza il tempo consumato per fare un disegno è proprzionale (±) alla sua qualità.

            TiKZ riesce da solo a fare disegni impensabili con inkscape; basta sfogliare al guida di TiKZ per rendersene conto; ma per certi disegni abbastanza semplici la soluzione inkscape va bene.

            Probabilmente le tabelle dei segni delle frazioni o i campi di esistenza delle soluzioni di disequazioni sono più facili da fare con inkscape, ma bisogna ogni volta ricominciare da capo per ogni nuova frazione o per ogni nuovo sistema di disequazioni.

            Io, fossi Lorenzo, insisterei con TiKZ; ho già usato inkscapee mi ci trovo abbastanza bene, ma poi di fatto lo uso raramente, perché ottengo risultati migliori con le parti native o di estensione di LaTeX.

          • #96708
            Up
            0
            Down
            ::

            OldClaudio” post=96497

            Ciao Lorenzo,

            il mio commento è parzialmente OT, ma scrivo lo stesso.

            Hai pensato di utilizzare Inkscape per le illustrazioni? Io ho provato a imparare a usare TikZ diverse volte, ma lo trovo assurdamente complicato, e in genere l’effetto è che mi ci vuole due ore per fare una cosa che in Inkscape farei in 5 minuti. Inkscape è free e open source.

            Il discorso su inkscape non è off topic, perché questo programma di grafica vettoriale graficamente interattivo è in grado di esportare in LaTeX, quindi è in grado di produrre cose perfettamente compatibili con LaTeX stesso; in pratica scegliendo questa via produce un pdf vettoriale con al parte grafica abbinato a un file con una estensione particolare che contiene codice latex dell’ambiente picture, costruito da inkscape epr mettere le parti scritte, le legende, le espressioni matematiche e via discorrendo. le misore che inkscape stesso deterima per tutte le scatole e il loro posizionamento sono determinati sulle coordinate del disegno pdf. Il risultato si può considerare da buono ad ottimo oltre che veloce.
            Certamente TiKZ per ottenere gli stessi disegni richiede una maggiore attenzione e una competenza maggiore.
            Ma i disegni di TiKz sono eseguiti con il disegno programmato e il risultato è sempre eccellente, se l’operatore ha scritto le “espressioni grafiche” giuste. Inkscape come tutti i programmi interattivi con l’operatore produce ottimi risultati se l’operatore è in gamba, o prodotti modesti che possono soddisfare l’occhio disattento di un principiante, ma non quello di un esperto.

            In sostanza il tempo consumato per fare un disegno è proprzionale (±) alla sua qualità.

            TiKZ riesce da solo a fare disegni impensabili con inkscape; basta sfogliare al guida di TiKZ per rendersene conto; ma per certi disegni abbastanza semplici la soluzione inkscape va bene.

            Probabilmente le tabelle dei segni delle frazioni o i campi di esistenza delle soluzioni di disequazioni sono più facili da fare con inkscape, ma bisogna ogni volta ricominciare da capo per ogni nuova frazione o per ogni nuovo sistema di disequazioni.

            Io, fossi Lorenzo, insisterei con TiKZ; ho già usato inkscapee mi ci trovo abbastanza bene, ma poi di fatto lo uso raramente, perché ottengo risultati migliori con le parti native o di estensione di LaTeX.

            Vi dirò un segreto: a me piacerebbe molto provare a utilizzare Inkscape, ma sul mio computer non vuole saperne di funzionare. Si chiude appena aperto notificandomi un errore.

            Ciao
            Tommaso

          • #96709
            Up
            0
            Down
            ::


            Oltre a concordare con quanto dice @OldClaudio (per le matrici, una volta che si ha il template pronto, andare a creare un nuovo diagramma è questione di minuti – pochi – e non si inizia mai da zero) vorrei commentare il problema del tempo.

            È innegabile che il disegno programmato richieda tempo. Ma per avere una certa qualità, in qualsiasi cosa, esistono sempre strade veloci? In genere la velocità si paga in termini di qualità. Secondo punto, la conversione. Ogni programma di conversione, per quanto accurato sia, crea “perdite”. È abbastanza noto quanto sia precisa la conversione LaTeX->Word. E la stessa cosa capita esportando figure. In primo luogo alcuni effetti vengono resi male (penso alle sfumature). Secondo: il codice, perché quando si esporta viene generato del codice TikZ, è semplicemente penoso e mai al passo con i tempi. Tanto per dire, se faccio ora una conversione, col cavolo che posso utilizzare al 100% le potenzialità della libreria [tt]arrows.meta[/tt] per le frecce.

            Bene essendomi dilungato, torniamo al punto. Non è sempre vero che usare programmi esterni faccia risparmiare tempo. Venerdì assistevo ad un evento vicino ad un collega del mio gruppo di ricerca, un ragazzo molto bravo. In circa un’ora e mezza ha disegnato uno schema con OmniGraffle, una roba quasi banale (colonna sinistra diversi tipi di utenti, colonna destra applicazioni). Certo il risultato finale è molto carino e sicuramente con TikZ servono ottime competenze per riprodurre tutti gli effetti, ma ci ha impiegato tantissimo. Non parliamo del posizionamento dei vari elementi “con il mouse” + “spostamenti con le frecce direzionali” + “edit da finestra delle proprietà”.

            La storia del complicato non mi convince. Tutto è complicato se non si entra nella filosofia dello strumento. Ipotizziamo che ho fatto uno schema a blocchi con Inkscape e voglia cambiare il corpo del font a metà dei blocchi. Cosa devo fare? Mi devo selezionare il testo e cambiare il font. Con TikZ cosa faccio? Aggiungo un [tt]\begin{scope}[font=qualcosa][/tt] e [tt]\end{scope}[/tt] per raggruppare i blocchi che mi interessano. Stop. Per me è più semplice il secondo metodo, oltre che più veloce.

            Poi riconosco che in alcuni tipi di applicazioni siano migliori tool esterni. Se uno deve produrre un logo, TikZ forse non è lo strumento migliore. Per diagrammi non c’è storia.

            Ciao
            Claudio

          • #96710
            Up
            0
            Down
            ::

            illinguista1972″ post=96499Vi dirò un segreto: a me piacerebbe molto provare a utilizzare Inkscape, ma sul mio computer non vuole saperne di funzionare. Si chiude appena aperto notificandomi un errore.

            Ciao
            Tommaso

            Probabilmente è XQuartz. Hai provato a reinstallarlo? Oltretutto devi anche installare il plugin per esportare in TikZ, mi sembra che di suo non ci sia.

            Ciao
            Claudio

          • #96711
            Up
            0
            Down
            ::

            OldClaudio” post=96497
            Il discorso su inkscape non è off topic, perché questo programma di grafica vettoriale graficamente interattivo è in grado di esportare in LaTeX, quindi è in grado di produrre cose perfettamente compatibili con LaTeX stesso; in pratica scegliendo questa via produce un pdf vettoriale con al parte grafica abbinato a un file con una estensione particolare che contiene codice latex dell’ambiente picture, costruito da inkscape epr mettere le parti scritte, le legende, le espressioni matematiche e via discorrendo. le misore che inkscape stesso deterima per tutte le scatole e il loro posizionamento sono determinati sulle coordinate del disegno pdf. Il risultato si può considerare da buono ad ottimo oltre che veloce.
            Certamente TiKZ per ottenere gli stessi disegni richiede una maggiore attenzione e una competenza maggiore.
            Ma i disegni di TiKz sono eseguiti con il disegno programmato e il risultato è sempre eccellente, se l’operatore ha scritto le “espressioni grafiche” giuste. Inkscape come tutti i programmi interattivi con l’operatore produce ottimi risultati se l’operatore è in gamba, o prodotti modesti che possono soddisfare l’occhio disattento di un principiante, ma non quello di un esperto.

            In sostanza il tempo consumato per fare un disegno è proprzionale (±) alla sua qualità.

            TiKZ riesce da solo a fare disegni impensabili con inkscape; basta sfogliare al guida di TiKZ per rendersene conto; ma per certi disegni abbastanza semplici la soluzione inkscape va bene.

            Probabilmente le tabelle dei segni delle frazioni o i campi di esistenza delle soluzioni di disequazioni sono più facili da fare con inkscape, ma bisogna ogni volta ricominciare da capo per ogni nuova frazione o per ogni nuovo sistema di disequazioni.

            Io, fossi Lorenzo, insisterei con TiKZ; ho già usato inkscapee mi ci trovo abbastanza bene, ma poi di fatto lo uso raramente, perché ottengo risultati migliori con le parti native o di estensione di LaTeX.

            Certo, concordo che per i disegni più complessi (mi vengono in mente quelli in cui le parti del disegno devono essere in precisi rapporti geometrici le une con le altre) TikZ sia più indicato; tuttavia, almeno per me, per disegni semplici (come, mi sembra, quello inviato da Lorenzo), Inkscape è la soluzione con il miglior rapporto qualità/sforzo richiesto e qualità/tempo richiesto. La mia idea è che TikZ e Inkscape abbiano diversi vantaggi e svantaggi, e per certi scopi uno può essere più adatto dell’altro. Poi entra anche il gioco la familiarità – per me TikZ è molto complesso da usare perché l’ho usato poco; con Inkscape ho molta più familiarità e quindi mi sembra più immediato. Comunque era solo per dare un ulteriore suggerimento, non volevo dirottare il thread in una discussione su quale sia meglio tra Inkscape e TikZ 🙂

          • #96712
            lorenzo.pantieri
            Partecipante
              Up
              0
              Down
              ::

              OldClaudio” post=96497
              Io, fossi Lorenzo, insisterei con TiKZ […].

              Già! Ammetto che una delle principali ragioni per cui ho accettato l’incarico di scrivere gli e-book di matematica per la mia scuola è stato avere la possibilità di approfondire TikZ. È uno strumento eccezionale , anche se non è facile. Del resto, si può dire la stessa cosa per LaTeX… 😉

            • #96713
              lorenzo.pantieri
              Partecipante
                Up
                0
                Down
                ::


                Carissimi, l’uso che faccio del formidabile TikZ è molto elementare.
                `\documentclass{article}
                \usepackage{tikz}

                \usetikzlibrary{matrix,patterns}

                \begin{document}

                \begin{center}
                \begin{tikzpicture}[x=5mm,y=5mm]
                \matrix (a)[matrix of nodes, nodes in empty cells,nodes={ text width=8mm, text depth=1mm, text centered}]{
                & $1$ & $-3$ & $-3$ & $-4$ \\
                $4$ & & $4$ & $4$ & $4$ \\
                & $1$ & $1$ & $1$ & $0$ \\
                };
                \begin{scope}[blue]
                \draw (a-1-2.north west)–(a-3-1.south east);
                \draw (a-2-1.south west)–(a-2-5.south east);
                \draw (a-1-4.north east)–(a-3-4.south east);
                \end{scope}
                \end{tikzpicture}
                \end{center}

                \begin{center}
                \begin{tikzpicture}[font=\small,x=10mm, y=10mm]

                \draw [->] (0,0) — (8,0) node [below right] () {$r$};

                \foreach \x in {2,4,6}{
                \draw (\x,3pt)–(\x,-3pt);

                \begin{scope} [dotted]
                \draw (\x,0) — (\x,-3.5);
                \end{scope}}

                \node

                at (0,-0.5) {$F_1$};
                \node

                at (0,-1) {$F_2$};
                \node

                at (0,-1.5) {$F_3$};
                \node

                at (0,-2.5) {$P$};
                \node

                at (0,-3.0) {$\mathcal{S}$};

                \node [above] at (2,0) {$-3$};
                \node [above] at (4,0) {$0$};
                \node [above] at (6,0) {$3$};

                \node at (1,-0.5) {$-$};
                \node at (3,-0.5) {$-$};
                \node at (5,-0.5) {$+$};
                \node at (7,-0.5) {$+$};

                \node at (1,-1) {$-$};
                \node at (3,-1) {$-$};
                \node at (5,-1) {$-$};
                \node at (7,-1) {$+$};

                \node at (1,-1.5) {$-$};
                \node at (3,-1.5) {$+$};
                \node at (5,-1.5) {$+$};
                \node at (7,-1.5) {$+$};

                \node at (1,-2.5) {$-$};
                \node at (3,-2.5) {$+$};
                \node at (5,-2.5) {$-$};
                \node at (7,-2.5) {$+$};

                \draw [fill] (4,-0.5) circle (2.0pt);
                \draw [fill] (6,-1) circle (2.0pt);
                \draw [fill] (2,-1.5) circle (2.0pt);

                \draw [fill] (2,-2.5) circle (2.0pt);
                \draw [fill] (4,-2.5) circle (2.0pt);
                \draw [fill] (6,-2.5) circle (2.0pt);

                \pattern [pattern= north east lines, pattern color=blue!75!white] (0,-3) rectangle (2,-3.5);
                \pattern [pattern= north east lines, pattern color=blue!75!white] (4,-3) rectangle (6,-3.5);

                \draw [blue,ultra thick] (0,-3.0) — (2,-3.0);
                \draw [blue,ultra thick] (4,-3.0) — (6,-3.0);
                \draw [blue,fill=white,very thick] (2,-3.0) circle (2.0pt);
                \draw [blue,fill=white,very thick] (4,-3.0) circle (2.0pt);
                \draw [blue,fill=white,very thick] (6,-3.0) circle (2.0pt);
                \end{tikzpicture}
                \end{center}

                \end{document}`
                Vorrei migliorare i risultati precedenti: quello non non va bene è l’incolonnamento dei numeri nella prima tabella, e delle lettere nella seconda. Nel primo caso vorrei che i numeri fossero allineanti a destra (e non a sinistra), nel secondo caso vorrei che le lettere fossero centrate verticalmente.

                Come fare?

                Ah, più la soluzione è semplice, più la apprezzo!! 😉

              • #96714
                GKT
                Partecipante
                  Up
                  0
                  Down
                  ::

                  lorenzo.pantieri” post=96913Carissimi, l’uso che faccio del formidabile TikZ è molto elementare.
                  `\documentclass{article}
                  \usepackage{tikz}

                  \usetikzlibrary{matrix,patterns}

                  \begin{document}

                  \begin{center}
                  \begin{tikzpicture}[x=5mm,y=5mm]
                  \matrix (a)[matrix of nodes, nodes in empty cells,nodes={ text width=8mm, text depth=1mm, text centered}]{
                  & $1$ & $-3$ & $-3$ & $-4$ \\
                  $4$ & & $4$ & $4$ & $4$ \\
                  & $1$ & $1$ & $1$ & $0$ \\
                  };
                  \begin{scope}[blue]
                  \draw (a-1-2.north west)–(a-3-1.south east);
                  \draw (a-2-1.south west)–(a-2-5.south east);
                  \draw (a-1-4.north east)–(a-3-4.south east);
                  \end{scope}
                  \end{tikzpicture}
                  \end{center}

                  \begin{center}
                  \begin{tikzpicture}[font=\small,x=10mm, y=10mm]

                  \draw [->] (0,0) — (8,0) node [below right] () {$r$};

                  \foreach \x in {2,4,6}{
                  \draw (\x,3pt)–(\x,-3pt);

                  \begin{scope} [dotted]
                  \draw (\x,0) — (\x,-3.5);
                  \end{scope}}

                  \node

                  at (0,-0.5) {$F_1$};
                  \node

                  at (0,-1) {$F_2$};
                  \node

                  at (0,-1.5) {$F_3$};
                  \node

                  at (0,-2.5) {$P$};
                  \node

                  at (0,-3.0) {$\mathcal{S}$};

                  \node [above] at (2,0) {$-3$};
                  \node [above] at (4,0) {$0$};
                  \node [above] at (6,0) {$3$};

                  \node at (1,-0.5) {$-$};
                  \node at (3,-0.5) {$-$};
                  \node at (5,-0.5) {$+$};
                  \node at (7,-0.5) {$+$};

                  \node at (1,-1) {$-$};
                  \node at (3,-1) {$-$};
                  \node at (5,-1) {$-$};
                  \node at (7,-1) {$+$};

                  \node at (1,-1.5) {$-$};
                  \node at (3,-1.5) {$+$};
                  \node at (5,-1.5) {$+$};
                  \node at (7,-1.5) {$+$};

                  \node at (1,-2.5) {$-$};
                  \node at (3,-2.5) {$+$};
                  \node at (5,-2.5) {$-$};
                  \node at (7,-2.5) {$+$};

                  \draw [fill] (4,-0.5) circle (2.0pt);
                  \draw [fill] (6,-1) circle (2.0pt);
                  \draw [fill] (2,-1.5) circle (2.0pt);

                  \draw [fill] (2,-2.5) circle (2.0pt);
                  \draw [fill] (4,-2.5) circle (2.0pt);
                  \draw [fill] (6,-2.5) circle (2.0pt);

                  \pattern [pattern= north east lines, pattern color=blue!75!white] (0,-3) rectangle (2,-3.5);
                  \pattern [pattern= north east lines, pattern color=blue!75!white] (4,-3) rectangle (6,-3.5);

                  \draw [blue,ultra thick] (0,-3.0) — (2,-3.0);
                  \draw [blue,ultra thick] (4,-3.0) — (6,-3.0);
                  \draw [blue,fill=white,very thick] (2,-3.0) circle (2.0pt);
                  \draw [blue,fill=white,very thick] (4,-3.0) circle (2.0pt);
                  \draw [blue,fill=white,very thick] (6,-3.0) circle (2.0pt);
                  \end{tikzpicture}
                  \end{center}

                  \end{document}`
                  Vorrei migliorare i risultati precedenti: quello non non va bene è l’incolonnamento dei numeri nella prima tabella, e delle lettere nella seconda. Nel primo caso vorrei che i numeri fossero allineanti a destra (e non a sinistra), nel secondo caso vorrei che le lettere fossero centrate verticalmente.

                  Come fare?

                  Ah, più la soluzione è semplice, più la apprezzo!! 😉

                  Ti piace così?`\documentclass{article}

                  \usepackage{tikz}

                  \usetikzlibrary{matrix,patterns}

                  \begin{document}

                  \begin{center}
                  \begin{tikzpicture}[x=5mm,y=5mm]
                  \matrix (a)[matrix of nodes, nodes in empty cells,nodes={text width=8mm, text depth=1mm,text ragged left}]{
                  & $1$ & $-3$ & $-3$ & $-4$ \\
                  $4$ & & $4$ & $4$ & $4$ \\
                  & $1$ & $1$ & $1$ & $0$ \\
                  };
                  \begin{scope}[blue]
                  \draw (a-1-2.north west)–(a-3-1.south east);
                  \draw (a-2-1.south west)–(a-2-5.south east);
                  \draw (a-1-4.north east)–(a-3-4.south east);
                  \end{scope}
                  \end{tikzpicture}
                  \end{center}

                  \begin{center}
                  \begin{tikzpicture}[font=\small,x=10mm, y=10mm]

                  \draw [->] (0,0) — (8,0) node [below right] () {$r$};

                  \foreach \x in {2,4,6}{
                  \draw (\x,3pt)–(\x,-3pt);

                  \begin{scope} [dotted]
                  \draw (\x,0) — (\x,-3.5);
                  \end{scope}}

                  \node at (-0.25,-0.5) {$F_1$};
                  \node at (-0.25,-1) {$F_2$};
                  \node at (-0.25,-1.5) {$F_3$};
                  \node at (-0.25,-2.5) {$P$};
                  \node at (-0.25,-3.0) {$\mathcal{S}$};

                  \node [above] at (2,0) {$-3$};
                  \node [above] at (4,0) {$0$};
                  \node [above] at (6,0) {$3$};

                  \node at (1,-0.5) {$-$};
                  \node at (3,-0.5) {$-$};
                  \node at (5,-0.5) {$+$};
                  \node at (7,-0.5) {$+$};

                  \node at (1,-1) {$-$};
                  \node at (3,-1) {$-$};
                  \node at (5,-1) {$-$};
                  \node at (7,-1) {$+$};

                  \node at (1,-1.5) {$-$};
                  \node at (3,-1.5) {$+$};
                  \node at (5,-1.5) {$+$};
                  \node at (7,-1.5) {$+$};

                  \node at (1,-2.5) {$-$};
                  \node at (3,-2.5) {$+$};
                  \node at (5,-2.5) {$-$};
                  \node at (7,-2.5) {$+$};

                  \draw [fill] (4,-0.5) circle (2.0pt);
                  \draw [fill] (6,-1) circle (2.0pt);
                  \draw [fill] (2,-1.5) circle (2.0pt);

                  \draw [fill] (2,-2.5) circle (2.0pt);
                  \draw [fill] (4,-2.5) circle (2.0pt);
                  \draw [fill] (6,-2.5) circle (2.0pt);

                  \pattern [pattern= north east lines, pattern color=blue!75!white] (0,-3) rectangle (2,-3.5);
                  \pattern [pattern= north east lines, pattern color=blue!75!white] (4,-3) rectangle (6,-3.5);

                  \draw [blue,ultra thick] (0,-3.0) — (2,-3.0);
                  \draw [blue,ultra thick] (4,-3.0) — (6,-3.0);
                  \draw [blue,fill=white,very thick] (2,-3.0) circle (2.0pt);
                  \draw [blue,fill=white,very thick] (4,-3.0) circle (2.0pt);
                  \draw [blue,fill=white,very thick] (6,-3.0) circle (2.0pt);
                  \end{tikzpicture}
                  \end{center}

                  \end{document}`Ovviamente il codice si può migliorare dal punto di vista dell’eleganza, ma forse prima è meglio sapere se il risultato è accettabile…

                  Lorenzo

                • #96715
                  lorenzo.pantieri
                  Partecipante
                    Up
                    0
                    Down
                    ::

                    GKT” post=96918
                    Ovviamente il codice si può migliorare dal punto di vista dell’eleganza, ma forse prima è meglio sapere se il risultato è accettabile…

                    Il risultato è in entrambi i casi eccellente: esattamente quello che volevo.

                    Nel primo caso la sintassi è molto elegante (è bastato dire di allineare i numeri a destra). Invece nel secondo l’hai raggiunto con un posizionamento manuale: se hai idee per migliorare l’eleganza del codice, sono qui!

                    Grazie 1000,
                    L.

                  • #96716
                    lorenzo.pantieri
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      Di seguito, vi espongo questo dubbio terrificante. Terrificante, perché mostra impietosamente la qualità dei miei neuroni. Per farla breve, non so come disegnare un punto in un grafico. 🙁
                      `\begin{figure}
                      \centering
                      \begin{tikzpicture}
                      \begin{axis} [width=13cm,
                      axis lines=middle,
                      xmin=0,xmax=16,ymin=-5,ymax=5,
                      enlargelimits,
                      xtick = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},
                      ytick={-5,-4,-3,-2,-1,0,1,2,3,4,5},
                      xticklabels={$1$, $2$, $3$, $4$, $5$, $6$, $7$, $8$, $9$, $10$, $11$, $12$, $13$, $14$, $15$, $16$},
                      yticklabels={$-5$, $-4$, $-3$, $-2$, $-1$, $0$, $1$, $2$, $3$, $4$, $5$},
                      xlabel=$x$,
                      ylabel=$y$]
                      \addplot [domain=0:16, samples=500,smooth,very thick,blue] {ln(x)/ln(2))};

                      \draw [blue,fill=blue] (1,0) circle (2.0pt);
                      \draw [blue,fill=blue] (2,1) circle (2.0pt);
                      \draw [blue,fill=blue] (4,2) circle (2.0pt);
                      \draw [blue,fill=blue] (8,3) circle (2.0pt);
                      \draw [blue,fill=blue] (16,4) circle (2.0pt);

                      \end{axis}

                      \end{tikzpicture}
                      \caption{La funzione $y=\log_2{x}$.}
                      \end{figure}`
                      Quello che voglio fare è chiaro. Disegnare per punti una funzione logaritmica.

                      Solo che non so come inserire i punti. Non ci riesco neppure manualmente. 🙁

                      Aiuto!

                    • #96717
                      Liverpool
                      Partecipante
                        Up
                        0
                        Down
                        ::

                        lorenzo.pantieri” post=96922Quello che voglio fare è chiaro. Disegnare per punti una funzione logaritmica.

                        `
                        \begin{tikzpicture}
                        \begin{axis} [width=13cm,
                        axis lines=middle,
                        xmin=0,xmax=16,ymin=-5,ymax=5,
                        enlargelimits,
                        xtick={1,…,16},
                        ytick={-5,…,5},
                        xlabel=$x$,
                        ylabel=$y$]
                        \addplot [domain=0:16, samples=500,smooth,very thick,blue] {ln(x)/ln(2)};
                        \addplot [only marks, samples at={1,2,4,8,16}, blue] {ln(x)/ln(2)};
                        \end{axis}
                        \end{tikzpicture}`
                        Occhio che c’era una parentesi troppo dopo il [tt]ln(2)[/tt]. Nota come ho ridefinito le tacche degli assi con la notazione ellittica. Perché avevi definito manualmente le etichette? A me risulta che quelle automatiche siano già in modo matematico.

                        Ciao

                      • #96718
                        lorenzo.pantieri
                        Partecipante
                          Up
                          0
                          Down
                          ::

                          Liverpool” post=96934

                          Quello che voglio fare è chiaro. Disegnare per punti una funzione logaritmica.

                          `
                          \begin{tikzpicture}
                          \begin{axis} [width=13cm,
                          axis lines=middle,
                          xmin=0,xmax=16,ymin=-5,ymax=5,
                          enlargelimits,
                          xtick={1,…,16},
                          ytick={-5,…,5},
                          xlabel=$x$,
                          ylabel=$y$]
                          \addplot [domain=0:16, samples=500,smooth,very thick,blue] {ln(x)/ln(2)};
                          \addplot [only marks, samples at={1,2,4,8,16}, blue] {ln(x)/ln(2)};
                          \end{axis}
                          \end{tikzpicture}`
                          Occhio che c’era una parentesi troppo dopo il [tt]ln(2)[/tt]. Nota come ho ridefinito le tacche degli assi con la notazione ellittica. Perché avevi definito manualmente le etichette? A me risulta che quelle automatiche siano già in modo matematico.

                          Semplicemente perfetto!

                          Grazie di cuore! 🙂

                        • #96719
                          Up
                          0
                          Down
                          ::


                          Sicuramente la risposta di @Liverpool è la più corretta, ma aggiungo per completezza che, se ti interessa inserire un punto in un grafico, devi utilizzare la sintassi:
                          `
                          \draw (axis cs:0,0) circle (1pt);
                          `
                          Utilizzando [tt]axis cs[/tt] accedi al sistema di riferimento del grafico e puoi quindi utilizzare le coordinate che ti interessano. 😀

                        • #96720
                          lorenzo.pantieri
                          Partecipante
                            Up
                            0
                            Down
                            ::


                            Ecco un’altra stranezza.

                            L’immagine è la figura 47 a pagina 77 di questo documento:

                            http://www.lorenzopantieri.net/Matematica_files/Quarta.pdf

                            Il codice è il seguente:
                            `\begin{tikzpicture} [font=\small,x=6mm, y=5mm]
                            \draw [->] (0,0) — (25,0) node [below left] {frequenza (Hz)};

                            \foreach \x in {1,…,24}{
                            \draw (\x,3pt)–(\x,-3pt);
                            }

                            \node [above] at (1,0) {$10^1$};
                            \node [above] at (5,0) {$10^5$};
                            \node [above] at (7,0) {$10^7$};
                            \node [above] at (9,0) {$10^9$};
                            \node [above] at (11,0) {$10^{11}$};
                            \node [above] at (14,0) {$10^{14}$};
                            \node [above] at (17,0) {$10^{17}$};
                            \node [above] at (19,0) {$10^{19}$};
                            \node [above] at (22,0) {$10^{22}$};
                            \node [above] at (24,0) {$10^{24}$};

                            \draw (1.9,-2.5) rectangle (23.1,-1.5);
                            \shade

                            (0,-2.5) rectangle (2,-1.5);
                            \shade

                            (23,-2.5) rectangle (25,-1.5);

                            \draw [dotted] (14,-1.5) — (14,-2.5);
                            \draw [dotted] (15,-1.5) — (15,-2.5);

                            \node [above] at (6,-3.5) {radio};
                            \node [above] at (11,-3.5) {microonde};
                            \node at (12,-1.0) {infrarosso};
                            \node [above] at (14.5,-3.5) {visibile};
                            \node at (16.5,-1.0) {ultravioletto};
                            \node [above] at (18,-3.5) {raggi X};
                            \node [above] at (21,-3.5) {raggi gamma};
                            \end{tikzpicture}`
                            Perché “raggi X” e “raggi gamma” sono sopra a “radio”, “microonde” e “visibile”, visto che l’ordinata del nodo è la stessa?

                            Soluzioni?

                            Ah, il modo di fare la striscia sfumata ai lati è artigianale, ma non mi è venuto nulla di meglio. Infatti \shade ombreggia il contenuto, ma non il contorno. Per “saldare” il rettangolone centrale, in grigio, con i due alle estremità sfumati, ho dovuto fare quel gioco di sovrapposizioni.

                            Grazie,
                            L.

                          • #96721
                            Up
                            0
                            Down
                            ::

                            lorenzo.pantieri” post=97153Ecco un’altra stranezza.

                            Perché “raggi X” e “raggi gamma” sono sopra a “radio”, “microonde” e “visibile”, visto che l’ordinata del nodo è la stessa?

                            Soluzioni?

                            Non è una stranezza. Le parole raggi e gamma hanno delle “g”, le altre no. Quindi devi tenere presente la gamba della g. Quando definisci i nodi testuali specifica tu l’altezza del testo: `
                            \begin{scope}[text height=1ex, text depth=0pt]
                            \node [above] at (6,-3.5) {radio};
                            \node [above] at (11,-3.5) {microonde};
                            \node at (12,-1.0) {infrarosso};
                            \node [above] at (14.5,-3.5) {visibile};
                            \node at (16.5,-1.0) {ultravioletto};
                            \node [above] at (18,-3.5) {raggi X};
                            \node [above] at (21,-3.5) {raggi gamma};
                            \end{scope}
                            `

                            lorenzo.pantieri” post=97153
                            Ah, il modo di fare la striscia sfumata ai lati è artigianale, ma non mi è venuto nulla di meglio. Infatti \shade ombreggia il contenuto, ma non il contorno. Per “saldare” il rettangolone centrale, in grigio, con i due alle estremità sfumati, ho dovuto fare quel gioco di sovrapposizioni.

                            Grazie,
                            L.

                            Quasi vero. Nel senso che potresti definire una nuova tipologia di shading che risolve il problema. Per quanto riguarda il bordo, non è banalissimo da tenere in considerazione, ma si può fare (vedi qui.

                            Ciao
                            Claudio

                          • #96722
                            lorenzo.pantieri
                            Partecipante
                              Up
                              0
                              Down
                              ::

                              cfiandra” post=97176
                              Non è una stranezza. Le parole raggi e gamma hanno delle “g”, le altre no. Quindi devi tenere presente la gamba della g. Quando definisci i nodi testuali specifica tu l’altezza del testo: `
                              \begin{scope}[text height=1ex, text depth=0pt]
                              \node [above] at (6,-3.5) {radio};
                              \node [above] at (11,-3.5) {microonde};
                              \node at (12,-1.0) {infrarosso};
                              \node [above] at (14.5,-3.5) {visibile};
                              \node at (16.5,-1.0) {ultravioletto};
                              \node [above] at (18,-3.5) {raggi X};
                              \node [above] at (21,-3.5) {raggi gamma};
                              \end{scope}
                              `

                              Perfetto!

                              Circa l’ombreggiatura, invece, tengo la mia soluzione, artigianale e semplicissima.

                              Grazie di cuore! 🙂

                            • #96723
                              Liverpool
                              Partecipante
                                Up
                                0
                                Down
                                ::


                                Hai notato che le etichette dell’asse delle frequenze se ne vanno ognuna per conto suo? Io avrei usato [tt]right[/tt] per allinearle in modo uniforme.

                                Ma perché il rettangolo centrale ha il bordo mentre i due sfumati no?

                              • #96724
                                lorenzo.pantieri
                                Partecipante
                                  Up
                                  0
                                  Down
                                  ::

                                  Liverpool” post=97191Hai notato che le etichette dell’asse delle frequenze se ne vanno ognuna per conto suo? Io avrei usato [tt]right[/tt] per allinearle in modo uniforme.

                                  Ma perché il rettangolo centrale ha il bordo mentre i due sfumati no?

                                  Il bordo del rettangolo centrale è in bianco. Riguardo alle etichette dell’asse delle frequenze, non ho capito come useresti right. Questo è il codice:
                                  `\begin{tikzpicture} [font=\small,x=6mm, y=5mm]
                                  \draw [->] (0,0) — (25,0) node [below left] {frequenza (Hz)};

                                  \foreach \x in {1,…,24}{
                                  \draw (\x,3pt)–(\x,-3pt);
                                  }

                                  \node [above] at (1,0) {$10^1$};
                                  \node [above] at (5,0) {$10^5$};
                                  \node [above] at (7,0) {$10^7$};
                                  \node [above] at (9,0) {$10^9$};
                                  \node [above] at (11,0) {$10^{11}$};
                                  \node [above] at (14,0) {$10^{14}$};
                                  \node [above] at (17,0) {$10^{17}$};
                                  \node [above] at (19,0) {$10^{19}$};
                                  \node [above] at (22,0) {$10^{22}$};
                                  \node [above] at (24,0) {$10^{24}$};

                                  \draw (1.9,-2.5) rectangle (23.1,-1.5);
                                  \shade

                                  (0,-2.5) rectangle (2,-1.5);
                                  \shade

                                  (23,-2.5) rectangle (25,-1.5);

                                  \draw [dotted] (14,-1.5) — (14,-2.5);
                                  \draw [dotted] (15,-1.5) — (15,-2.5);

                                  \begin{scope}[text height=1ex, text depth=0pt]
                                  \node [above] at (6,-3.5) {radio};
                                  \node [above] at (11,-3.5) {microonde};
                                  \node at (12,-1.0) {infrarosso};
                                  \node [above] at (14.5,-3.5) {visibile};
                                  \node at (16.5,-1.0) {ultravioletto};
                                  \node [above] at (18,-3.5) {raggi X};
                                  \node [above] at (21,-3.5) {raggi gamma};
                                  \end{scope}
                                  \end{tikzpicture}
                                  `
                                  Come lo miglioreresti?

                                • #96725
                                  Liverpool
                                  Partecipante
                                    Up
                                    0
                                    Down
                                    ::

                                    lorenzo.pantieri” post=97192Il bordo del rettangolo centrale è in bianco.

                                    Già ma perché? E’ questo che non ho capito.

                                    lorenzo.pantieri” post=97192Riguardo alle etichette dell’asse delle frequenze, non ho capito come useresti right.

                                    `\foreach \x in {1,5,7,9,11,14,17,19,22,24}
                                    \node

                                    at (\x,9pt) {$10^{\x}$};`

                                  • #96726
                                    lorenzo.pantieri
                                    Partecipante
                                      Up
                                      0
                                      Down
                                      ::

                                      Liverpool” post=97194

                                      Il bordo del rettangolo centrale è in bianco.

                                      Già ma perché? E’ questo che non ho capito.

                                      lorenzo.pantieri” post=97192Riguardo alle etichette dell’asse delle frequenze, non ho capito come useresti right.

                                      `\foreach \x in {1,5,7,9,11,14,17,19,22,24}
                                      \node [right=-8pt] at (\x,9pt) {$10^{\x}$};`

                                      Perfetto il codice.

                                      Ho usato il bordo bianco nel rettangolo centrale perché (sbaglio?) un rettangolo sfumato con \shade non ha il bordo. Quindi per incollare bene i due rettangoli laterali sfumati con il rettangolo centrale non sfumato, ho messo il bordo bianco in quest’ultimo. Come potevo fare altrimenti?

                                    • #96727
                                      Liverpool
                                      Partecipante
                                        Up
                                        0
                                        Down
                                        ::

                                        lorenzo.pantieri” post=97195Ho usato il bordo bianco nel rettangolo centrale perché (sbaglio?) un rettangolo sfumato con \shade non ha il bordo. Quindi per incollare bene i due rettangoli laterali sfumati con il rettangolo centrale non sfumato, ho messo il bordo bianco in quest’ultimo. Come potevo fare altrimenti?

                                        Continuo a non capire il problema. Cosa c’è che non va in questo codice?`
                                        \fill [lightgray!50!white] (1.9,-2.5) rectangle (23.1,-1.5);
                                        \shade

                                        (0,-2.5) rectangle (2,-1.5);
                                        \shade

                                        (23,-2.5) rectangle (25,-1.5);`
                                        A me sembra tutto perfettamente incollato.

                                        P.S.: se vuoi dare un bordo alla sfumatura, devi usare il comando [tt]\draw[/tt], come scritto in fondo al par. 5.2 dell’articolo su TikZ.

                                        Ciao

                                      • #96728
                                        lorenzo.pantieri
                                        Partecipante
                                          Up
                                          0
                                          Down
                                          ::

                                          Liverpool” post=97196

                                          Ho usato il bordo bianco nel rettangolo centrale perché (sbaglio?) un rettangolo sfumato con \shade non ha il bordo. Quindi per incollare bene i due rettangoli laterali sfumati con il rettangolo centrale non sfumato, ho messo il bordo bianco in quest’ultimo. Come potevo fare altrimenti?

                                          Continuo a non capire il problema. Cosa c’è che non va in questo codice?`
                                          \fill [lightgray!50!white] (1.9,-2.5) rectangle (23.1,-1.5);
                                          \shade [left color=lightgray!10!white, right color=lightgray!50!white] (0,-2.5) rectangle (2,-1.5);
                                          \shade [left color=lightgray!50!white, right color=lightgray!10!white] (23,-2.5) rectangle (25,-1.5);`
                                          A me sembra tutto perfettamente incollato.

                                          Hai ragione naturalmente! Grazie mille per il codice! 🙂

                                        • #96729
                                          lorenzo.pantieri
                                          Partecipante
                                            Up
                                            0
                                            Down
                                            ::

                                            skevin93″ post=97041Sicuramente la risposta di @Liverpool è la più corretta, ma aggiungo per completezza che, se ti interessa inserire un punto in un grafico, devi utilizzare la sintassi:
                                            `
                                            \draw (axis cs:0,0) circle (1pt);
                                            `
                                            Utilizzando [tt]axis cs[/tt] accedi al sistema di riferimento del grafico e puoi quindi utilizzare le coordinate che ti interessano. 😀

                                            Ciao.

                                            Vorrei mettere un bel pallino vuoto nel punto (1,0) di questo grafico.
                                            `\begin{tikzpicture}[font=\small]
                                            \begin{axis} [width=\textwidth,
                                            axis lines=middle,
                                            xmin=-5,xmax=5,ymin=-5,ymax=5,
                                            enlargelimits,
                                            xtick={-4,…,4},
                                            ytick={-4,…,4},
                                            xlabel=$x$,
                                            ylabel=$y$]
                                            \draw (axis cs:1,0) [blue,fill=white,very thick] (3,6) circle (2.0pt);
                                            \end{axis}
                                            \end{tikzpicture}`
                                            Come si fa?

                                          • #96730
                                            lorenzo.pantieri
                                            Partecipante
                                              Up
                                              0
                                              Down
                                              ::


                                              `\begin{tikzpicture}[font=\small]
                                              \begin{axis} [width=\textwidth,
                                              axis lines=middle,
                                              xmin=-5,xmax=5,ymin=-15,ymax=15,
                                              enlargelimits,
                                              xtick={-5,…,5},
                                              ytick={-4},
                                              xlabel=$x$,
                                              ylabel=$y$]
                                              \addplot [domain=-6:6, samples=600,unbounded coords=jump,smooth,very thick,blue] {(4-x*x)/(x-1)};

                                              \pattern [pattern= north east lines, pattern color=blue!75!white] (axis cs:1,-18) rectangle (axis cs:2,0);
                                              \pattern [pattern= north east lines, pattern color=blue!75!white] (axis cs:2,0) rectangle (axis cs:18,18);
                                              \pattern [pattern= north east lines, pattern color=blue!75!white] (axis cs:-2,0) rectangle (axis cs:1,18);
                                              \pattern [pattern= north east lines, pattern color=blue!75!white] (axis cs:-2,0) rectangle (axis cs:-18,-18);

                                              \draw [blue,thick,dashed] (axis cs:1,-20) — (axis cs:1,20);
                                              \draw [blue,thick,dashed] (axis cs:2,-20) — (axis cs:2,20);
                                              \draw [blue,thick,dashed] (axis cs:-2,-20) — (axis cs:-2,20);

                                              \draw (axis cs:1,0) [blue,fill=white,very thick] circle (2.0pt);
                                              \draw (axis cs:2,0) [blue,fill=blue,very thick] circle (2.0pt);
                                              \draw (axis cs:-2,0) [blue,fill=blue,very thick] circle (2.0pt);
                                              \draw (axis cs:0,-4) [blue,fill=blue,very thick] circle (2.0pt);
                                              \end{axis}
                                              \end{tikzpicture}
                                              `
                                              Perché l’opzione “unbounded coords=jump” non funziona?

                                              In generale, faccio errori nel codice precedente?

                                            • #96731
                                              Liverpool
                                              Partecipante
                                                Up
                                                0
                                                Down
                                                ::

                                                lorenzo.pantieri” post=97223Perché l’opzione “unbounded coords=jump” non funziona?

                                                Perché nonostante i tuoi 600 campioni, nessuno dei valori calcolati è esattamente [tt]inf[/tt], ma è semplicemente un numero molto grande. Soluzione: ciò che ha ordinata di valore assoluto superiore a 30 viene considerato infinito.`
                                                \addplot [domain=-6:6, samples=600, restrict y to domain=-30:30,smooth,very thick,blue] {(4-x*x)/(x-1)};`

                                                Ma ti servono veramente 600 campioni + smoothing? Te lo chiedo perché il file diventa inutilmente pesante oltre a dare alla lunga problemi di esaurimento di memoria.

                                                Errori non ce ne sono. Ma perché non usi \addplot anche per le linee verticali e per i marcatori?
                                                Il consiglio che ti do è di definirti nel preambolo uno stile per le linee da richiamare nei grafici. Metti che un giorno ti accorgi che il blu non ti piace e vuoi cambiare colore. Che fai? Modifichi gli ambienti uno ad uno? Non è più semplice definire una volta per tutte gli stili che utilizzerai in maniera uniforme?

                                              • #96732
                                                lorenzo.pantieri
                                                Partecipante
                                                  Up
                                                  0
                                                  Down
                                                  ::

                                                  Liverpool” post=97225

                                                  Perché l’opzione “unbounded coords=jump” non funziona?

                                                  Perché nonostante i tuoi 600 campioni, nessuno dei valori calcolati è esattamente [tt]inf[/tt], ma è semplicemente un numero molto grande. Soluzione: ciò che ha ordinata di valore assoluto superiore a 30 viene considerato infinito.`
                                                  \addplot [domain=-6:6, samples=600, restrict y to domain=-30:30,smooth,very thick,blue] {(4-x*x)/(x-1)};`

                                                  Ma ti servono veramente 600 campioni + smoothing? Te lo chiedo perché il file diventa inutilmente pesante oltre a dare alla lunga problemi di esaurimento di memoria.

                                                  Errori non ce ne sono. Ma perché non usi \addplot anche per le linee verticali e per i marcatori?
                                                  Il consiglio che ti do è di definirti nel preambolo uno stile per le linee da richiamare nei grafici. Metti che un giorno ti accorgi che il blu non ti piace e vuoi cambiare colore. Che fai? Modifichi gli ambienti uno ad uno? Non è più semplice definire una volta per tutte gli stili che utilizzerai in maniera uniforme?

                                                  Benissimo.
                                                  `\tikzset{grafico/.style={very thick,blue}}`
                                                  Così?

                                                • #96733
                                                  Liverpool
                                                  Partecipante
                                                    Up
                                                    0
                                                    Down
                                                    ::

                                                    lorenzo.pantieri” post=97226`\tikzset{grafico/.style={very thick,blue}}`
                                                    Così?

                                                    Esatto. Qualcosa del genere.

                                                  • #96734
                                                    lorenzo.pantieri
                                                    Partecipante
                                                      Up
                                                      0
                                                      Down
                                                      ::


                                                      `\begin{tikzpicture}[font=\small]
                                                      \begin{axis} [width=0.56\textwidth,
                                                      axis lines=middle,
                                                      xmin=-3,xmax=3,ymin=-5,ymax=5,
                                                      enlargelimits,
                                                      xtick={-1.732,1.732},
                                                      xticklabels={$-\sqrt{3}$,$\sqrt{3}$},
                                                      ytick={},
                                                      xlabel=$x$,
                                                      ylabel=$y$]

                                                      \draw [blue,thick,dashed] (axis cs:1.732,-6) — (axis cs:1.732,6);
                                                      \draw [blue,thick,dashed] (axis cs:-1.732,-6) — (axis cs:-1.732,6);

                                                      \draw (axis cs:1.732,0) [blue,fill=blue,very thick] circle (2.0pt);
                                                      \draw (axis cs:-1.732,0) [blue,fill=blue,very thick] circle (2.0pt);
                                                      \draw (axis cs:0,0) [blue,fill=blue,very thick] circle (2.0pt);
                                                      \end{axis}
                                                      \end{tikzpicture}`
                                                      Come faccio a eliminare del tutto le etichette sull’asse y? 🙁

                                                      Ho visto empiricamente che impostando
                                                      `ytick={0}`
                                                      funziona. Va bene così?

                                                    • #96735
                                                      Liverpool
                                                      Partecipante
                                                        Up
                                                        0
                                                        Down
                                                        ::

                                                        lorenzo.pantieri” post=97246Come faccio a eliminare del tutto le etichette sull’asse y? 🙁

                                                        `ytick=\empty`

                                                        lorenzo.pantieri” post=97246Ho visto empiricamente che impostando
                                                        `ytick={0}`
                                                        funziona. Va bene così?

                                                        Funziona nel tuo caso perché hai scelto (per default) di non mostrare l’etichetta dell’origine.

                                                      • #96736
                                                        lorenzo.pantieri
                                                        Partecipante
                                                          Up
                                                          0
                                                          Down
                                                          ::


                                                          Ciao a tutti. Come si impone che l’untà di misura sia la stessa su entrambi gli assi? In altre parole, vorrei correggere il codice
                                                          `\begin{tikzpicture}[font=\small]
                                                          \begin{axis} [width=0.39\textwidth,
                                                          axis lines=middle,
                                                          xmin=-2,xmax=4,ymin=-5,ymax=5,
                                                          enlargelimits,
                                                          xtick={-2,-1,1,2,3,4},
                                                          xticklabels={,,,$2$,,},
                                                          ytick={-5,-4,-3,-2,-1,1,2,3,4},
                                                          yticklabels={,$-4$,,,,,,,},
                                                          xlabel=$x$,
                                                          ylabel=$y$]

                                                          \addplot [domain=-10:10, samples=200, restrict y to domain=-30:30,smooth,grafico] {2*x-4};

                                                          \pattern [pattern= north east lines, pattern color=lightgray] (axis cs:2,0) rectangle (axis cs:10,-10);
                                                          \pattern [pattern= north east lines, pattern color=lightgray] (axis cs:2,0) rectangle (axis cs:-10,10);

                                                          % intersezioni
                                                          \draw (axis cs:0,-4) [blue,fill=blue,very thick] circle (2.0pt);
                                                          \draw (axis cs:2,0) [blue,fill=blue,very thick] circle (2.0pt);
                                                          \end{axis}
                                                          \end{tikzpicture}`
                                                          in modo che la tacca sia lunga uguale nei due assi.

                                                          Grazie,
                                                          L.

                                                        • #96737
                                                          Liverpool
                                                          Partecipante
                                                            Up
                                                            0
                                                            Down
                                                            ::

                                                            lorenzo.pantieri” post=97380Ciao a tutti. Come si impone che l’untà di misura sia la stessa su entrambi gli assi?

                                                            Aggiungi all’ambiente [tt]axis[/tt] l’opzione
                                                            `scale mode=scale uniformly`o più semplicemente
                                                            `axis equal`

                                                          • #96738
                                                            lorenzo.pantieri
                                                            Partecipante
                                                              Up
                                                              0
                                                              Down
                                                              ::

                                                              Liverpool” post=97400

                                                              Ciao a tutti. Come si impone che l’untà di misura sia la stessa su entrambi gli assi?

                                                              Aggiungi all’ambiente [tt]axis[/tt] l’opzione
                                                              `scale mode=scale uniformly`

                                                              Grazie Luigi! Ma ecco un’altra (per me) sopresa:
                                                              `\begin{tikzpicture}[font=\small]
                                                              \begin{axis} [width=0.55\textwidth,
                                                              axis lines=middle,
                                                              xmin=-3,xmax=3,ymin=-2.5,ymax=2.5,
                                                              enlargelimits,
                                                              xtick={-2,-1,1,2},
                                                              ytick=\empty,
                                                              xlabel=$x$,
                                                              ylabel=$y$]

                                                              \draw [help lines] (axis cs:-3,-3) grid (axis cs:3,3);

                                                              \draw [dashed] (axis cs:1,-10) — (axis cs:1,10);
                                                              \draw [dashed] (axis cs:-1,-10) — (axis cs:-1,10);

                                                              \addplot [domain=-5:5, samples=200, restrict y to domain=-10:10,grafico] {sqrt(4-x^2)};

                                                              \end{axis}
                                                              \end{tikzpicture}`
                                                              1. Perché la griglia delle help lines è sfalsata rispetto al piano cartesiano?
                                                              2. Come aiutare TikZ a disegnare meglio la semicirconferenza, saldandola all’asse delle ascisse?

                                                              Grazie 1000,
                                                              L.

                                                            • #96739
                                                              Liverpool
                                                              Partecipante
                                                                Up
                                                                0
                                                                Down
                                                                ::

                                                                lorenzo.pantieri” post=97491
                                                                1. Perché la griglia delle help lines è sfalsata rispetto al piano cartesiano?

                                                                [tt]grid[/tt] è un’istruzione di TikZ, non di pgfplots. Il passo della griglia è di 1 cm per default. Invece l’unità di misura del grafico non è 1 cm, ma dipende anche dal valore di [tt]width[/tt]. Il risultato è che la griglia è sfasata rispetto al grafico.
                                                                Di per sé pgfplots ha una chiave per disegnare la griglia, che si chiama proprio [tt]grid[/tt]. Io userei quella, ma nel tuo caso non funziona. Perché? Perché hai scelto di non mostrare le tacche sull’asse y. Ma allora uno si chiede: che senso ha aggiungere la griglia e rimuovere le tacche sull’asse y? Forse dovresti ripensarci: lasciare le tacche e rimuovere solo le etichette.

                                                                lorenzo.pantieri” post=97491
                                                                2. Come aiutare TikZ a disegnare meglio la semicirconferenza, saldandola all’asse delle ascisse?

                                                                Domanda: se vuoi disegnare la semicirconferenza nel rettangolo [-2,2]x[0,2], perché hai preso il dominio tra -5 e 5 (che tra l’altro è il default) e il codominio in [-10,10]? Dovrebbe bastare semplicemente:
                                                                `\addplot [samples=200, grafico] {sqrt(4-x^2)};`Ma così non va: mancano i punti sull’asse delle ascisse. Il motivo è che dividendo il dominio in 200 punti a partire da x=-5, con le inevitabili approssimazioni del sistema, nessuno dei campioni corrisponde a x=-2 o a x=2. Allora prova con
                                                                `\addplot [domain=-2:2, samples=200, grafico] {sqrt(4-x^2)};`
                                                                Così ci troviamo in x=-2, ma non in x=2 per lo stesso motivo. Allora il trucco consiste nel prendere un numero dispari di campioni:
                                                                `\addplot [domain=-2:2, samples=199, grafico] {sqrt(4-x^2)};`Osservazione: per disegnare una semicirconferenza con questo metodo hai bisogno di 200 campioni o poco meno con l’interpolazione. Invece con le curve di Bézier avresti bisogno di una manciata di punti e la memoria e le dimensioni del file te ne sarebbero grate. Allora perché non ricorrere ai comandi di TikZ? Potresti usare l’istruzione [tt]arc[/tt], ma dovresti conoscere l’unità di misura delle ascisse per determinare il raggio e abbiamo detto di non saperla (almeno io). Allora puoi combinare due curve di Bézier definite dalla posizione dei punti notevoli in questo modo
                                                                `\draw (axis cs:2,0) to [out=90, in=0] (axis cs:0,2) to [out=180, in=90] (axis cs:-2,0);`L’ipotesi restrittiva alla base è che il sistema di riferimento sia monometrico e il tuo, al momento, non lo è necessariamente.

                                                              • #96740
                                                                lorenzo.pantieri
                                                                Partecipante
                                                                  Up
                                                                  0
                                                                  Down
                                                                  ::

                                                                  Liverpool” post=97505

                                                                  1. Perché la griglia delle help lines è sfalsata rispetto al piano cartesiano?

                                                                  [tt]grid[/tt] è un’istruzione di TikZ, non di pgfplots. Il passo della griglia è di 1 cm per default. Invece l’unità di misura del grafico non è 1 cm, ma dipende anche dal valore di [tt]width[/tt]. Il risultato è che la griglia è sfasata rispetto al grafico.
                                                                  Di per sé pgfplots ha una chiave per disegnare la griglia, che si chiama proprio [tt]grid[/tt]. Io userei quella, ma nel tuo caso non funziona. Perché? Perché hai scelto di non mostrare le tacche sull’asse y. Ma allora uno si chiede: che senso ha aggiungere la griglia e rimuovere le tacche sull’asse y? Forse dovresti ripensarci: lasciare le tacche e rimuovere solo le etichette.

                                                                  E quindi? Che cosa devo fare in concreto per disegnare quella griglia? Insomma, vorrei poter evitare cose del tipo:
                                                                  `\begin{tikzpicture}[font=\small]
                                                                  \begin{axis} [width=0.7\textwidth,scale mode=scale uniformly,
                                                                  axis lines=middle,
                                                                  xmin=-5,xmax=5,ymin=-1,ymax=5,
                                                                  enlargelimits,
                                                                  xtick=\empty,
                                                                  ytick=\empty,
                                                                  xlabel=$x$,
                                                                  ylabel=$y$]

                                                                  \draw [help lines] (axis cs:-6,-10) — (axis cs:-6,10);
                                                                  \draw [help lines] (axis cs:-5,-10) — (axis cs:-5,10);
                                                                  \draw [help lines] (axis cs:-4,-10) — (axis cs:-4,10);
                                                                  \draw [help lines] (axis cs:-3,-10) — (axis cs:-3,10);
                                                                  \draw [help lines] (axis cs:-2,-10) — (axis cs:-2,10);
                                                                  \draw [help lines] (axis cs:-1,-10) — (axis cs:-1,10);
                                                                  \draw [help lines] (axis cs:1,-10) — (axis cs:1,10);
                                                                  \draw [help lines] (axis cs:2,-10) — (axis cs:2,10);
                                                                  \draw [help lines] (axis cs:3,-10) — (axis cs:3,10);
                                                                  \draw [help lines] (axis cs:4,-10) — (axis cs:4,10);
                                                                  \draw [help lines] (axis cs:5,-10) — (axis cs:5,10);
                                                                  \draw [help lines] (axis cs:6,-10) — (axis cs:6,10);

                                                                  \draw [help lines] (axis cs:-10,-6) — (axis cs:10,-6);
                                                                  \draw [help lines] (axis cs:-10,-5) — (axis cs:10,-5);
                                                                  \draw [help lines] (axis cs:-10,-4) — (axis cs:10,-4);
                                                                  \draw [help lines] (axis cs:-10,-3) — (axis cs:10,-3);
                                                                  \draw [help lines] (axis cs:-10,-2) — (axis cs:10,-2);
                                                                  \draw [help lines] (axis cs:-10,-1) — (axis cs:10,-1);
                                                                  \draw [help lines] (axis cs:-10,1) — (axis cs:10,1);
                                                                  \draw [help lines] (axis cs:-10,2) — (axis cs:10,2);
                                                                  \draw [help lines] (axis cs:-10,3) — (axis cs:10,3);
                                                                  \draw [help lines] (axis cs:-10,4) — (axis cs:10,4);
                                                                  \draw [help lines] (axis cs:-10,5) — (axis cs:10,5);

                                                                  \addplot [domain=-5:5, samples=999, restrict y to domain=-30:30,smooth,thick] {sqrt(16-x^2)};
                                                                  \draw (axis cs:4,0) [blue,fill=blue,very thick] circle (2.0pt);
                                                                  \draw (axis cs:-4,0) [blue,fill=blue,very thick] circle (2.0pt);
                                                                  \end{axis}
                                                                  \end{tikzpicture}`

                                                                  Un altro problema. Come disegno la radice cubica? Il meglio che ho trovato è:
                                                                  `\begin{tikzpicture}[font=\small]
                                                                  \begin{axis} [width=0.4\textwidth,
                                                                  axis lines=middle,
                                                                  xmin=-5,xmax=5,ymin=-2,ymax=2,
                                                                  enlargelimits,
                                                                  xtick=\empty,
                                                                  ytick=\empty,
                                                                  xlabel=$x$,
                                                                  ylabel=$y$,
                                                                  title={$y=\sqrt[n]{x}$, $n$ naturale dispari $\ge1$}]]

                                                                  \addplot [domain=0:6, samples=999, restrict y to domain=-30:30,smooth,grafico] {e^(ln(x)/3)};
                                                                  \addplot [domain=-6:0, samples=499, restrict y to domain=-30:30,smooth,grafico] {-e^(ln(abs(x))/3)};
                                                                  \end{axis}
                                                                  \end{tikzpicture}`
                                                                  Suggerimenti per migliorare il codice ma soprattutto il risultato?

                                                                  Grazie mille! 🙂

                                                                • #96741
                                                                  Liverpool
                                                                  Partecipante
                                                                    Up
                                                                    0
                                                                    Down
                                                                    ::

                                                                    lorenzo.pantieri” post=97609E quindi? Che cosa devo fare in concreto per disegnare quella griglia?

                                                                    Così non ti piace?
                                                                    `\begin{tikzpicture}[font=\small]
                                                                    \begin{axis} [width=0.7\textwidth,
                                                                    axis equal,
                                                                    axis lines=middle,
                                                                    xmin=-4,xmax=4,ymin=-1,ymax=5,
                                                                    enlargelimits={abs=0.5},
                                                                    xtick={-4,…,4}, xticklabels={},
                                                                    ytick={-1,…,5}, yticklabels={},
                                                                    grid,
                                                                    xlabel=$x$,
                                                                    ylabel=$y$]
                                                                    \draw [thick] (axis cs:4,0) to [out=90, in=0] (axis cs:0,4)
                                                                    to [out=180, in=90] (axis cs:-4,0);
                                                                    \draw (axis cs:4,0) [blue,fill=blue,very thick] circle (2.0pt);
                                                                    \draw (axis cs:-4,0) [blue,fill=blue,very thick] circle (2.0pt);
                                                                    \end{axis}
                                                                    \end{tikzpicture}`

                                                                  • #96742
                                                                    Liverpool
                                                                    Partecipante
                                                                      Up
                                                                      0
                                                                      Down
                                                                      ::

                                                                      lorenzo.pantieri” post=97609Un altro problema. Come disegno la radice cubica?

                                                                      `\addplot [domain=-6:6, samples=50, grafico, hobby] {(x<0?-1:1)*abs(x)^(1/3)};`
                                                                      Devi prima caricare la libreria [tt]hobby[/tt] con
                                                                      `\usetikzlibrary{hobby}`
                                                                      Ti do un consiglio: lascia perdere [tt]smooth[/tt] e usa sempre [tt]hobby[/tt] che è un algoritmo più efficiente (nota che bastano 50 campioni in totale). Se non vuoi modificare tutti i codici che hai scritto finora, inserisci nel preambolo
                                                                      `\tikzset{smooth/.style=hobby}`
                                                                      e continua a usare [tt]smooth[/tt] che però sarà un alias di [tt]hobby[/tt].

                                                                      La funzione [tt](x<0?-1:1)[/tt] è la funzione segno, che potresti anche scrivere [tt](-1+2*(x>0))[/tt].

                                                                      P.S.: ti faccio notare che “n naturale dispari >=1” è un po’ sovrabbondante.

                                                                    • #96743
                                                                      lorenzo.pantieri
                                                                      Partecipante
                                                                        Up
                                                                        0
                                                                        Down
                                                                        ::


                                                                        La tua soluzione funziona perfettamente, Luigi: grazie mille! 🙂

                                                                        Quanto a mettere tutti i grafici in hobby, ci ho provato, ma allunga tantissimo il tempo di compilazione (almeno, lasciando “samples” a 200). Appena ho un secondo prova ad abbassare tutti i “samples” a 50, e a ricompilare tutti i grafici con “hobby”.

                                                                        Anche questa cosa la metto nel file con i tuoi consigli che ancora non ho avuto il tempo materiale di mettere in pratica. Ma, come ti dicevo, in questa fase sono impegnato a finire il lavoro il più preso possibile. Dopo di che, via di labor limae. 🙂

                                                                        Grazie ancora,
                                                                        L.

                                                                      • #96744
                                                                        Liverpool
                                                                        Partecipante
                                                                          Up
                                                                          0
                                                                          Down
                                                                          ::


                                                                          Lorenzo, ti informo che se usi [tt]compat=1.11[/tt] o superiore come opzione di pgfplots, non c’è più bisogno di scrivere ogni volta [tt]axis cs[/tt] perché il riferimento predefinito è quello del diagramma.
                                                                          Scusa ma era sfuggito anche a me.

                                                                          Ciao

                                                                        • #96745
                                                                          lorenzo.pantieri
                                                                          Partecipante
                                                                            Up
                                                                            0
                                                                            Down
                                                                            ::


                                                                            Buongiorno a tutti.

                                                                            Ho il seguente disegno:
                                                                            `\documentclass{article}
                                                                            \usepackage{tikz,pgfplots,xcolor}
                                                                            \begin{document}

                                                                            \begin{tikzpicture}[font=\small]
                                                                            \begin{axis} [width=0.8\textwidth,
                                                                            axis lines=middle,
                                                                            xmin=-0.25,xmax=5,ymin=-1,ymax=10,
                                                                            enlargelimits,
                                                                            xtick=\empty,
                                                                            ytick={2,8},
                                                                            yticklabels={$f(a)$,$f(a+h)$},
                                                                            xlabel=$x$,
                                                                            ylabel=$y$]

                                                                            \draw [dashed] (axis cs:1,-1.5) — (axis cs:1,2);
                                                                            \draw [dashed] (axis cs:4.75,2) — (axis cs:0,2);

                                                                            \draw [dashed] (axis cs:3,-1.5) — (axis cs:3,8);
                                                                            \draw [dashed] (axis cs:4.75,8) — (axis cs:0,8);

                                                                            \draw [dashed,latex-latex] (axis cs:4,2) — (axis cs:4,8);
                                                                            \draw [dashed,latex-latex] (axis cs:1,-1) — (axis cs:3,-1);

                                                                            \addplot [domain=-5:5, samples=200, restrict y to domain=-30:30,smooth,very thick] {2^x};

                                                                            \addplot [domain=-5:5, samples=200, restrict y to domain=-30:30,smooth] {2*x};
                                                                            \addplot [domain=-5:5, samples=200, restrict y to domain=-30:30,smooth,green] {3*x-1};
                                                                            \addplot [domain=-5:5, samples=200, restrict y to domain=-30:30,smooth,thick,red] {1.386294361*x+0.613705639};

                                                                            \begin{scope}[text height=1ex, text depth=0pt]
                                                                            \node [below right] at (axis cs:1,0) {$a$};
                                                                            \node [below right] at (axis cs:3,0) {$a+h$};
                                                                            \end{scope}

                                                                            \node [above=2pt] at (axis cs:1,2) {$P$};
                                                                            \node [above left] at (axis cs:3,8) {$Q$};

                                                                            \node

                                                                            at (axis cs:4,5) {$f(a+h)-f(a)$};
                                                                            \node [below] at (axis cs:2,-1) {$h$};

                                                                            \node [below] at (axis cs:3,4) {\color{red}retta tangente};
                                                                            \node [below] at (axis cs:4.35,10.5) {rette secanti};
                                                                            \node [below] at (axis cs:2.85,10.5) {\color{blue}$y=f(x)$};

                                                                            \draw (axis cs:1,2) [blue,fill=blue,very thick] circle (2.0pt);
                                                                            \draw (axis cs:2,4) [blue,fill=blue,very thick] circle (2.0pt);
                                                                            \draw (axis cs:3,8) [blue,fill=blue,very thick] circle (2.0pt);

                                                                            %\draw (axis cs:1,2) ++(54.195:40mm) arc (54.195:71.56:40mm);

                                                                            \end{axis}
                                                                            \end{tikzpicture}

                                                                            \end{document}`
                                                                            Vorrei aggiungere un bell’arco di circonferenza di centro P(1,2) che colleghi le retta (secante, in verde) $y=3x-1$ con la retta (tangente, in rosso) $y=2\ln 2 x+2-\ln 2$, quest’ultima approssimativamente uguale a $y=1.38x+0.61$. Ho fatto i calcoli e gli angoli dovrebbero essere 54.195 gradi e 71.565 gradi.

                                                                            Non ci riesco.

                                                                            Qualcuno mi aiuta?

                                                                            Grazie anticipate! 🙂

                                                                          • #96746
                                                                            lorenzo.pantieri
                                                                            Partecipante
                                                                              Up
                                                                              0
                                                                              Down
                                                                              ::


                                                                              Un secondo problema.
                                                                              `\documentclass{article}
                                                                              \usepackage{tikz}
                                                                              \begin{document}
                                                                              Costruiamo la tabella dei segni della derivata.
                                                                              %
                                                                              \begin{center}
                                                                              \begin{tikzpicture}[font=\small,x=10mm, y=10mm]

                                                                              \draw [->] (0,0) — (8,0) node [below right] () {$r$};

                                                                              \foreach \x in {2,4,6}{
                                                                              \draw (\x,3pt)–(\x,-3pt);

                                                                              \begin{scope} [dotted]
                                                                              \draw (\x,0) — (\x,-3.5);
                                                                              \end{scope}}

                                                                              \node at (-0.25,-0.5) {$N$};
                                                                              \node at (-0.25,-1.0) {$D$};
                                                                              \node at (-0.25,-2.0) {$f'$};
                                                                              \node at (-0.25,-3.0) {$f$};

                                                                              \node [above] at (2,0) {$-1$};
                                                                              \node [above] at (4,0) {$0$};
                                                                              \node [above] at (6,0) {$1$};

                                                                              \node at (1,-0.5) {$-$};
                                                                              \node at (3,-0.5) {$-$};
                                                                              \node at (5,-0.5) {$+$};
                                                                              \node at (7,-0.5) {$+$};

                                                                              \node at (1,-1.0) {$+$};
                                                                              \node at (3,-1.0) {$+$};
                                                                              \node at (5,-1.0) {$+$};
                                                                              \node at (7,-1.0) {$+$};

                                                                              \node at (1,-2.0) {$-$};
                                                                              \node at (3,-2.0) {$-$};
                                                                              \node at (5,-2.0) {$+$};
                                                                              \node at (7,-2.0) {$+$};

                                                                              \draw [fill=black] (4,-0.5) circle (2.0pt);

                                                                              \draw [fill=black] (2,-1.0) circle (2.0pt);
                                                                              \draw [fill=black] (6,-1.0) circle (2.0pt);

                                                                              \draw [fill=white] (2,-2.0) circle (2.0pt);
                                                                              \draw [fill=black] (4,-2.0) circle (2.0pt);
                                                                              \draw [fill=white] (6,-2.0) circle (2.0pt);

                                                                              \draw [very thick,->] (0.5,-2.5) — (1.5,-3.5);
                                                                              \draw [very thick,->] (2.5,-2.5) — (3.5,-3.5);
                                                                              \draw [very thick,->] (4.5,-3.5) — (5.5,-2.5);
                                                                              \draw [very thick,->] (6.5,-3.5) — (7.5,-2.5);

                                                                              \node [above] at (4,-2.5) {$\min$};
                                                                              \end{tikzpicture}
                                                                              \end{center}

                                                                              Costruiamo la tabella dei segni della derivata seconda.
                                                                              %
                                                                              \begin{center}
                                                                              \begin{tikzpicture}[font=\small,x=10mm, y=10mm]

                                                                              \draw [->] (0,0) — (6,0) node [below right] () {$r$};

                                                                              \foreach \x in {2,4}{
                                                                              \draw (\x,3pt)–(\x,-3pt);

                                                                              \begin{scope} [dotted]
                                                                              \draw (\x,0) — (\x,-3.0);
                                                                              \end{scope}}

                                                                              \node at (-0.25,-0.5) {$N$};
                                                                              \node at (-0.25,-1.0) {$D$};
                                                                              \node at (-0.25,-2.0) {$f''$};
                                                                              \node at (-0.25,-3.0) {$f$};

                                                                              \node [above] at (2,0) {$-1$};
                                                                              \node [above] at (4,0) {$1$};

                                                                              \node at (1,-0.5) {$-$};
                                                                              \node at (3,-0.5) {$-$};
                                                                              \node at (5,-0.5) {$-$};

                                                                              \node at (1,-1.0) {$+$};
                                                                              \node at (3,-1.0) {$-$};
                                                                              \node at (5,-1.0) {$+$};

                                                                              \node at (1,-2.0) {$+$};
                                                                              \node at (3,-2.0) {$-$};
                                                                              \node at (5,-2.0) {$+$};

                                                                              \draw [fill] (2,-1.0) circle (2.0pt);
                                                                              \draw [fill] (4,-1.0) circle (2.0pt);

                                                                              \draw [fill=white] (2,-2.0) circle (2.0pt);
                                                                              \draw [fill=white] (4,-2.0) circle (2.0pt);

                                                                              \draw [very thick] (0.5,-3.0) parabola bend (1,-2.5) (1.5,-3.0);
                                                                              \draw [very thick] (2.5,-2.5) parabola bend (3,-3.0) (3.5,-2.5);
                                                                              \draw [very thick] (4.5,-3.0) parabola bend (5,-2.5) (5.5,-3.0);
                                                                              \end{tikzpicture}
                                                                              \end{center}

                                                                              \end{document}`
                                                                              Le due tabelle sono costruite artigianalmente, ma con un po’ di pazienza si riescono a comporre e ad adattare a tutti i casi che mi interessano. Il problema che ho è questo: le frecce nella prima tabella mi piacciono, ma le parabole nella seconda sono tropo basse e sacrificate. Riuscite a dirmi come modificare il codice delle parabole della seconda tabella, per averle alte e larghe quanto le frecce della prima?

                                                                              Il codice, poi, deve essere modificabile, quindi i numeri devono essere semplici.

                                                                              Ah, se volete il contesto in cui quelle tabelle verranno utilizzate:

                                                                              http://www.lorenzopantieri.net/Matematica_files/Quinta.pdf

                                                                              Ancora grazie!

                                                                            • #96747
                                                                              Liverpool
                                                                              Partecipante
                                                                                Up
                                                                                0
                                                                                Down
                                                                                ::


                                                                                Ciao Lorenzo, come sai oggi sono senza pc quindi non posso esserti molto d’aiuto.
                                                                                Il tuo sistema di riferimento non è monometrico, perciò i valori che calcoli tramite il coefficiente angolare non sono gli angoli che le rette formano con l’asse delle ascisse.

                                                                              • #96748
                                                                                Liverpool
                                                                                Partecipante
                                                                                  Up
                                                                                  0
                                                                                  Down
                                                                                  ::

                                                                                  lorenzo.pantieri” post=98118Vorrei aggiungere un bell’arco di circonferenza di centro P(1,2) che colleghi le retta (secante, in verde) $y=3x-1$ con la retta (tangente, in rosso) $y=2\ln 2 x+2-\ln 2$, quest’ultima approssimativamente uguale a $y=1.38x+0.61$. Ho fatto i calcoli e gli angoli dovrebbero essere 54.195 gradi e 71.565 gradi.

                                                                                  Ecco qua:
                                                                                  `\pgfplotsextra{
                                                                                  \pgfplotstransformdirectionx{1}
                                                                                  \pgfmathsetlengthmacro{\ex}{\pgfmathresult*\pgfplotsunitxlength}
                                                                                  \pgfplotstransformdirectiony{1}
                                                                                  \pgfmathsetlengthmacro{\ey}{\pgfmathresult*\pgfplotsunitylength}
                                                                                  \pgfmathsetmacro{\pd}{\ey/\ex}
                                                                                  }
                                                                                  \draw (axis cs:1,2) ++({atan(2*ln(2)*\pd)}:40mm)
                                                                                  arc ({atan(2*ln(2)*\pd)}:{atan(3*\pd)}:40mm);`
                                                                                  La macro [tt]\pd[/tt] contiene il rapporto tra le lunghezze dei versori della base.

                                                                                  Ciao

                                                                                • #96749
                                                                                  Liverpool
                                                                                  Partecipante
                                                                                    Up
                                                                                    0
                                                                                    Down
                                                                                    ::

                                                                                    lorenzo.pantieri” post=98122Riuscite a dirmi come modificare il codice delle parabole della seconda tabella, per averle alte e larghe quanto le frecce della prima?

                                                                                    Le frecce sono alte e larghe 1 cm. Le parabole sono larghe 1 cm e alte 5 mm. Quindi:
                                                                                    `\draw [very thick] (0.5,-3.5) parabola bend (1,-2.5) (1.5,-3.5);
                                                                                    \draw [very thick] (2.5,-2.5) parabola bend (3,-3.5) (3.5,-2.5);
                                                                                    \draw [very thick] (4.5,-3.5) parabola bend (5,-2.5) (5.5,-3.5);`

                                                                                  • #96750
                                                                                    lorenzo.pantieri
                                                                                    Partecipante
                                                                                      Up
                                                                                      0
                                                                                      Down
                                                                                      ::


                                                                                      Scusami per il ritardo con cui rispondo, Luigi! Le tue soluzioni funzionano perfettamente!! 🙂

                                                                                      Grazie ancora,
                                                                                      Lorenzo

                                                                                    • #96751
                                                                                      lorenzo.pantieri
                                                                                      Partecipante
                                                                                        Up
                                                                                        0
                                                                                        Down
                                                                                        ::


                                                                                        Ciao a tutti. Vorrei sapere perché nel codice seguente l’opzione “grid” non funziona… 🙁
                                                                                        `
                                                                                        \documentclass{article}
                                                                                        \usepackage{tikz,pgfplots}
                                                                                        \begin{document}
                                                                                        \begin{tikzpicture}[font=\small]
                                                                                        \begin{axis} [width=0.55\textwidth,scale mode=scale uniformly,
                                                                                        axis lines=middle,
                                                                                        xmin=-5,xmax=4,ymin=-5,ymax=5,
                                                                                        enlargelimits,
                                                                                        xtick=\empty,
                                                                                        ytick=\empty,
                                                                                        xlabel=$x$,
                                                                                        ylabel=$y$,grid]

                                                                                        \draw (axis cs:-2,-4) — (axis cs:1,-4);
                                                                                        \draw (axis cs:1,-4) — (axis cs:2,3);
                                                                                        \draw (axis cs:-4,4) — (axis cs:-2,-4);

                                                                                        \addplot [domain=-5:-4, samples=200, restrict y to domain=-10:10,smooth,dashed] {-4*x-12};

                                                                                        \draw (axis cs:2,3) [blue,fill=blue,very thick] circle (2.0pt);
                                                                                        \end{axis}
                                                                                        \end{tikzpicture}
                                                                                        \end{document}
                                                                                        `
                                                                                        Grazie mille,
                                                                                        Lorenzo

                                                                                      • #96752
                                                                                        lorenzo.pantieri
                                                                                        Partecipante
                                                                                          Up
                                                                                          0
                                                                                          Down
                                                                                          ::


                                                                                          Ciao a tutti. Nel codice seguente, come si fa a togliere i numeri dagli assi, lasciando la griglia?
                                                                                          `\begin{tikzpicture}[font=\small]
                                                                                          \begin{axis} [width=0.55\textwidth,scale mode=scale uniformly,
                                                                                          axis lines=middle,
                                                                                          xmin=-5,xmax=4,ymin=-5,ymax=5,
                                                                                          enlargelimits,
                                                                                          xtick={-5,…,4},
                                                                                          ytick={-5,…,5},
                                                                                          xlabel=$x$,
                                                                                          ylabel=$y$,grid]

                                                                                          \draw [grafico] (axis cs:-2,-4) — (axis cs:1,-4);
                                                                                          \draw [grafico] (axis cs:1,-4) — (axis cs:2,3);
                                                                                          \draw [grafico] (axis cs:-4,4) — (axis cs:-2,-4);

                                                                                          \addplot [domain=-5:-4, samples=200, restrict y to domain=-10:10,smooth,very thick,blue,dashed] {-4*x-12};

                                                                                          \draw (axis cs:2,3) [blue,fill=blue,very thick] circle (2.0pt);
                                                                                          \end{axis}
                                                                                          \end{tikzpicture}`
                                                                                          Se al posto di
                                                                                          ` xtick={-5,…,4},
                                                                                          ytick={-5,…,5},
                                                                                          `
                                                                                          metto
                                                                                          ` xtick=\empty,
                                                                                          ytick=\empty,
                                                                                          `
                                                                                          la griglia sparisce. Se aggiungo le righe
                                                                                          ` xticklabels={,,,,,,,,,,},
                                                                                          yticklabels={,,,,,,,,,,},
                                                                                          `
                                                                                          funziona, ma chiedevo se c’è una soluzione è elegante.

                                                                                          Grazie 1000,
                                                                                          L.

                                                                                        • #96753
                                                                                          Up
                                                                                          0
                                                                                          Down
                                                                                          ::

                                                                                          lorenzo.pantieri” post=98263Ciao a tutti. Nel codice seguente, come si fa a togliere i numeri dagli assi, lasciando la griglia?
                                                                                          `\begin{tikzpicture}[font=\small]
                                                                                          \begin{axis} [width=0.55\textwidth,scale mode=scale uniformly,
                                                                                          axis lines=middle,
                                                                                          xmin=-5,xmax=4,ymin=-5,ymax=5,
                                                                                          enlargelimits,
                                                                                          xtick={-5,…,4},
                                                                                          ytick={-5,…,5},
                                                                                          xlabel=$x$,
                                                                                          ylabel=$y$,grid]

                                                                                          \draw [grafico] (axis cs:-2,-4) — (axis cs:1,-4);
                                                                                          \draw [grafico] (axis cs:1,-4) — (axis cs:2,3);
                                                                                          \draw [grafico] (axis cs:-4,4) — (axis cs:-2,-4);

                                                                                          \addplot [domain=-5:-4, samples=200, restrict y to domain=-10:10,smooth,very thick,blue,dashed] {-4*x-12};

                                                                                          \draw (axis cs:2,3) [blue,fill=blue,very thick] circle (2.0pt);
                                                                                          \end{axis}
                                                                                          \end{tikzpicture}`
                                                                                          Se al posto di
                                                                                          ` xtick={-5,…,4},
                                                                                          ytick={-5,…,5},
                                                                                          `
                                                                                          metto
                                                                                          ` xtick=\empty,
                                                                                          ytick=\empty,
                                                                                          `
                                                                                          la griglia sparisce. Se aggiungo le righe
                                                                                          ` xticklabels={,,,,,,,,,,},
                                                                                          yticklabels={,,,,,,,,,,},
                                                                                          `
                                                                                          funziona, ma chiedevo se c’è una soluzione è elegante.

                                                                                          Grazie 1000,
                                                                                          L.

                                                                                          Prova con: `\documentclass[tikz]{standalone}
                                                                                          \usepackage{pgfplots,amsmath}

                                                                                          \begin{document}

                                                                                          \begin{tikzpicture}[font=\small, grafico/.style={blue,very thick}]
                                                                                          \begin{axis} [width=0.55\textwidth,scale mode=scale uniformly,
                                                                                          axis lines=middle,
                                                                                          xmin=-5,xmax=4,ymin=-5,ymax=5,
                                                                                          enlargelimits,
                                                                                          xtick={-5,…,4},% <= necessario ytick={-5,...,5},% <= necessario xticklabels={},% <= nessuna etichetta yticklabels={},% <= nessuna etichetta xlabel=$x$, ylabel=$y$,grid] \draw [grafico] (axis cs:-2,-4) -- (axis cs:1,-4); \draw [grafico] (axis cs:1,-4) -- (axis cs:2,3); \draw [grafico] (axis cs:-4,4) -- (axis cs:-2,-4); \addplot [domain=-5:-4, samples=200, restrict y to domain=-10:10,smooth,very thick,blue,dashed] {-4*x-12}; \draw (axis cs:2,3) [blue,fill=blue,very thick] circle (2.0pt); \end{axis} \end{tikzpicture} \end{document}` Ciao Claudio

                                                                                        • #96754
                                                                                          lorenzo.pantieri
                                                                                          Partecipante
                                                                                            Up
                                                                                            0
                                                                                            Down
                                                                                            ::


                                                                                            Ciao a tutti.
                                                                                            `\begin{tikzpicture}
                                                                                            \node (esp) at (0,0) {$2^3=\underbrace{2\cdot 2\cdot 2}_{3 \text{ volte}} = 8$};
                                                                                            \begin{scope}[font=\small]
                                                                                            \draw[<-] (-1.0,.6)--(-0.8,.8) node[right] {esponente}; \draw[->] (-1.5,-.1)–(-1.3,.1) node[below left=.2] {base};
                                                                                            \draw[<-] (1.6,.1)--(1.8,-.1) node[below right] {potenza }; \end{scope} \end{tikzpicture}` Come si può rendere migliore questo disegno? Il posizionamento delle frecce è molto approssimativo, ma andare per tentativi è un delirio. Come fare? Grazie anticipate, Lorenzo

                                                                                          • #96755
                                                                                            GKT
                                                                                            Partecipante
                                                                                              Up
                                                                                              0
                                                                                              Down
                                                                                              ::

                                                                                              lorenzo.pantieri” post=98690Ciao a tutti.
                                                                                              `\begin{tikzpicture}
                                                                                              \node (esp) at (0,0) {$2^3=\underbrace{2\cdot 2\cdot 2}_{3 \text{ volte}} = 8$};
                                                                                              \begin{scope}[font=\small]
                                                                                              \draw[<-] (-1.0,.6)--(-0.8,.8) node[right] {esponente}; \draw[->] (-1.5,-.1)–(-1.3,.1) node[below left=.2] {base};
                                                                                              \draw[<-] (1.6,.1)--(1.8,-.1) node[below right] {potenza }; \end{scope} \end{tikzpicture}` Come si può rendere migliore questo disegno? Il posizionamento delle frecce è molto approssimativo, ma andare per tentativi è un delirio. Come fare? Grazie anticipate, Lorenzo

                                                                                              Hai provato a dare un occhiata al pacchetto hf-tikz? Credo che faccia al caso tuo.

                                                                                              Lorenzo

                                                                                            • #96756
                                                                                              Up
                                                                                              0
                                                                                              Down
                                                                                              ::

                                                                                              lorenzo.pantieri” post=98690Come si può rendere migliore questo disegno? Il posizionamento delle frecce è molto approssimativo, ma andare per tentativi è un delirio.

                                                                                              Come fare?

                                                                                              Ci credo sia un delirio: non sfrutti minimamente le informazioni che i nodi ti danno.

                                                                                              Il problema principale in qualsiasi disegno è posizionare gli elementi: o lo fai a mano (il tuo approccio) o sfrutti metodi intelligenti che il software ti mette a disposizione. In questo caso, tu hai inserito in un nodo la tua equazione: ottimo! Vuol dire che di quel nodo conosci tutti i bordi e ci puoi accedere con la sintassi [tt]nome nodo.ancora[/tt]. Per ottenere i punti intermedi ai bordi puoi sfruttare la libreria calc.

                                                                                              Quindi: `\documentclass[tikz,border=10pt]{standalone}
                                                                                              \usepackage{amsmath}
                                                                                              \usetikzlibrary{calc}
                                                                                              \begin{document}
                                                                                              \begin{tikzpicture}[inner sep=1pt]
                                                                                              \node (esp) at (0,0) {$2^3=\underbrace{2\cdot 2\cdot 2}_{3 \text{ volte}} = 8$};
                                                                                              \begin{scope}[font=\small,>=stealth,<-] \draw ($(esp.north west)!0.3!(esp.north)$)--++(45:2mm) node[above right, inner sep=0pt] {esponente}; \draw ($(esp.north west)!0.75!(esp.west)$)--++(225:2mm) node[below left=.2] {base}; \draw ($(esp.north east)!0.75!(esp.east)$)--++(315:2mm) node[below right] {potenza }; \end{scope} \end{tikzpicture} \begin{tikzpicture}[inner sep=1pt] \node[draw] (esp) at (0,0) {$2^3=\underbrace{2\cdot 2\cdot 2}_{3 \text{ volte}} = 8$}; \foreach \anchor/\placement in {($(esp.north west)!0.3!(esp.north)$)/above, ($(esp.north west)!0.75!(esp.west)$)/left, ($(esp.north east)!0.75!(esp.east)$)/right} \draw[draw=red] plot[mark=x] coordinates{\anchor} node[\placement] {\tiny\anchor}; \foreach \anchor in {north west, north, north east, west, east, south west, south, south east} \draw[draw=blue,shift=(esp.\anchor)] plot[mark=x] coordinates{(0,0)}; \end{tikzpicture} \end{document} ` Nella seconda figura [attachment=1216]ScreenShot2014-12-16at7.38.56AM.png[/attachment] in blu ci sono le ancore predefinite mentre in rosso quelle che servono a te. Ciao Claudio

                                                                                              Attachments:
                                                                                              You must be logged in to view attached files.
                                                                                            • #96757
                                                                                              lorenzo.pantieri
                                                                                              Partecipante
                                                                                                Up
                                                                                                0
                                                                                                Down
                                                                                                ::

                                                                                                cfiandra” post=98698
                                                                                                Ci credo sia un delirio: non sfrutti minimamente le informazioni che i nodi ti danno.

                                                                                                Il problema principale in qualsiasi disegno è posizionare gli elementi: o lo fai a mano (il tuo approccio) o sfrutti metodi intelligenti che il software ti mette a disposizione. In questo caso, tu hai inserito in un nodo la tua equazione: ottimo! Vuol dire che di quel nodo conosci tutti i bordi e ci puoi accedere con la sintassi [tt]nome nodo.ancora[/tt]. Per ottenere i punti intermedi ai bordi puoi sfruttare la libreria calc.

                                                                                                Ringrazio con enorme ritardo Claudio per le sue indicazioni, perfette. Ma ecco un altro problema che riguarda il disegno di un arco (cosa che mi risulta sempre indigesta).

                                                                                                `\begin{tikzpicture}[font=\small]
                                                                                                \begin{axis} [width=0.55\textwidth,scale mode=scale uniformly,
                                                                                                axis lines=middle,
                                                                                                xmin=-5,xmax=5,ymin=-5,ymax=5,
                                                                                                enlargelimits,
                                                                                                xtick={-5,…,5},
                                                                                                ytick={-5,…,5},
                                                                                                xticklabels={},
                                                                                                yticklabels={},
                                                                                                xlabel=$x$,
                                                                                                ylabel=$y$,grid]

                                                                                                \addplot [domain=-10:10, samples=200, restrict y to domain=-30:30,smooth,grafico] {x-1};

                                                                                                \draw [->] (axis cs:2,0) arc (0:45:1);

                                                                                                \end{axis}
                                                                                                \end{tikzpicture}`
                                                                                                Quello che voglio fare è “mettere in evidenza l’angolo formato dalla retta con l’asse x”, ovvero disegnare un arco partendo dal punto (2,0) che termini sulla retta. Perché il codice non funziona? Come fare?

                                                                                                Tempo fa Liverpool mi suggerì per un problema analogo un codice del tipo:
                                                                                                `\pgfplotsextra{\pgfmathsetmacro{\pd}{\pgfplotsunitylength/(10*\pgfplotsunitxlength)}}
                                                                                                \draw [->] (axis cs:1,0) ++({atan(2*ln(2)*\pd)}:40mm) arc ({atan(2*ln(2)*\pd)}:{atan(3*\pd)}:40mm);
                                                                                                `
                                                                                                ma non lo capisco, quindi non so usarlo.

                                                                                                Grazie anticipate!
                                                                                                L.

                                                                                              • #96758
                                                                                                Liverpool
                                                                                                Partecipante
                                                                                                  Up
                                                                                                  0
                                                                                                  Down
                                                                                                  ::


                                                                                                  `\pgfplotsextra{
                                                                                                  \pgfplotstransformdirectionx{1}
                                                                                                  \pgfmathsetlengthmacro{\ex}{\pgfmathresult*\pgfplotsunitxlength}
                                                                                                  }

                                                                                                  \draw [->] (axis cs:2,0) arc (0:45:\ex);`
                                                                                                  [tt]\ex[/tt] è l’unità di misura delle lunghezze per l’asse delle ascisse e ti serve al posto di 1 nell’istruzione per generare l’arco affinché pgfplots intenta 1 unità di misura. In questo caso, avendo usato un sistema di riferimento monometrico, puoi scrivere direttamente [tt]45[/tt] come misura di ampiezza dell’arco.

                                                                                                  Ciao

                                                                                                • #96759
                                                                                                  lorenzo.pantieri
                                                                                                  Partecipante
                                                                                                    Up
                                                                                                    0
                                                                                                    Down
                                                                                                    ::

                                                                                                    Liverpool” post=98845`\pgfplotsextra{
                                                                                                    \pgfplotstransformdirectionx{1}
                                                                                                    \pgfmathsetlengthmacro{\ex}{\pgfmathresult*\pgfplotsunitxlength}
                                                                                                    }

                                                                                                    \draw [->] (axis cs:2,0) arc (0:45:\ex);`
                                                                                                    [tt]\ex[/tt] è l’unità di misura delle lunghezze per l’asse delle ascisse e ti serve al posto di 1 nell’istruzione per generare l’arco affinché pgfplots intenta 1 unità di misura. In questo caso, avendo usato un sistema di riferimento monometrico, puoi scrivere direttamente [tt]45[/tt] come misura di ampiezza dell’arco.

                                                                                                    Perfetto! 🙂 Questo sì che è un regalo di Natale! 🙂

                                                                                                    Grazie mille, Luigi! 🙂

                                                                                                    Lorenzo

                                                                                                  • #96760
                                                                                                    lorenzo.pantieri
                                                                                                    Partecipante
                                                                                                      Up
                                                                                                      0
                                                                                                      Down
                                                                                                      ::


                                                                                                      Auguri a tutti, innanzitutto! 🙂
                                                                                                      `\documentclass{article}
                                                                                                      \usepackage{tikz,pgfplots}
                                                                                                      \begin{document}

                                                                                                      \begin{tikzpicture}[font=\small]
                                                                                                      \begin{axis} [width=0.8\textwidth,
                                                                                                      axis lines=middle,
                                                                                                      xmin=0,xmax=18,ymin=0,ymax=120,
                                                                                                      enlargelimits,
                                                                                                      xtick=\empty,
                                                                                                      ytick=\empty,
                                                                                                      xlabel=$x$,
                                                                                                      ylabel=$y$,grid]

                                                                                                      \addplot [domain=0:100, samples=200,smooth,] {5*x+25};
                                                                                                      \addplot [domain=0:100, samples=200,smooth,thick,blue,red] {7*x+15};
                                                                                                      \addplot [domain=0:100, samples=200,smooth,thick,blue,green] {85};

                                                                                                      \addplot [domain=-100:0, samples=200,smooth,thick,blue,dashed] {5*x+25};
                                                                                                      \addplot [domain=-100:0, samples=200,smooth,thick,blue,red,dashed] {7*x+15};
                                                                                                      \addplot [domain=-100:0, samples=200,smooth,thick,blue,green,dashed] {85};

                                                                                                      %\addplot [domain=12:100, samples=200,smooth,thick,blue,yellow,ultra thick] {85};
                                                                                                      %\addplot [domain=5:12, samples=200,smooth,thick,blue,yellow,ultra thick] {5*x+25};
                                                                                                      %\addplot [domain=0:5, samples=200,smooth,thick,blue,yellow,ultra thick] {7*x+15};
                                                                                                      %\addplot [domain=-100:0, samples=200,smooth,thick,blue,yellow,ultra thick,dashed] {7*x+15};

                                                                                                      \draw (axis cs:5,50) [fill=blue,thick] circle (2.0pt);
                                                                                                      \node [above=2pt] at (axis cs:5,50) {$A$};

                                                                                                      \draw (axis cs:10,85) [fill=blue,thick] circle (2.0pt);
                                                                                                      \node [above=2pt] at (axis cs:10,85) {$B$};

                                                                                                      \draw (axis cs:12,85) [fill=blue,thick] circle (2.0pt);
                                                                                                      \node [above=2pt] at (axis cs:12,85) {$C$};

                                                                                                      \draw [dashed] (axis cs:5,0) — (axis cs:5,50);
                                                                                                      \draw [dashed] (axis cs:0,50) — (axis cs:5,50);

                                                                                                      \draw [dashed] (axis cs:10,0) — (axis cs:10,85);

                                                                                                      \draw [dashed] (axis cs:12,0) — (axis cs:12,85);

                                                                                                      \node [below] at (axis cs:5,0) {$5$};
                                                                                                      \node [below] at (axis cs:10,0) {$10$};
                                                                                                      \node [below] at (axis cs:12,0) {$12$};

                                                                                                      \node

                                                                                                      at (axis cs:0,50) {$50$};
                                                                                                      \node

                                                                                                      at (axis cs:0,85) {$85$};

                                                                                                      \node [below] at (axis cs:18,105) {\color{blue}$y=5x+25$};
                                                                                                      \node at (axis cs:12,120) {\color{red}$y=7x+15$};
                                                                                                      \node [below] at (axis cs:18,85) {\color{green}$y=85$};
                                                                                                      \end{axis}
                                                                                                      \end{tikzpicture}

                                                                                                      \end{document}`
                                                                                                      Nel disegno precedente vorrei evidenziare “la parte in basso della spezzata”. Se decommentate le quattro righe che ora sono commentate avete un’idea di che cosa voglio fare. Quello che vorrei, però, è evidenziare la spezzata lasciando intravedere i segmenti (colorati in rosso, blu e verde) da cui è costituita.

                                                                                                      Pensavo a un’onda (tipo una sinusoide) che “sbiscioli” i tre segmenti, ma non so come farla.

                                                                                                      Suggerimenti?

                                                                                                      Grazie, e ancora auguri! 🙂
                                                                                                      L.

                                                                                                    • #96761
                                                                                                      Up
                                                                                                      0
                                                                                                      Down
                                                                                                      ::

                                                                                                      lorenzo.pantieri” post=98864Auguri a tutti, innanzitutto! 🙂
                                                                                                      `\documentclass{article}
                                                                                                      \usepackage{tikz,pgfplots}
                                                                                                      \begin{document}

                                                                                                      \begin{tikzpicture}[font=\small]
                                                                                                      \begin{axis} [width=0.8\textwidth,
                                                                                                      axis lines=middle,
                                                                                                      xmin=0,xmax=18,ymin=0,ymax=120,
                                                                                                      enlargelimits,
                                                                                                      xtick=\empty,
                                                                                                      ytick=\empty,
                                                                                                      xlabel=$x$,
                                                                                                      ylabel=$y$,grid]

                                                                                                      \addplot [domain=0:100, samples=200,smooth,] {5*x+25};
                                                                                                      \addplot [domain=0:100, samples=200,smooth,thick,blue,red] {7*x+15};
                                                                                                      \addplot [domain=0:100, samples=200,smooth,thick,blue,green] {85};

                                                                                                      \addplot [domain=-100:0, samples=200,smooth,thick,blue,dashed] {5*x+25};
                                                                                                      \addplot [domain=-100:0, samples=200,smooth,thick,blue,red,dashed] {7*x+15};
                                                                                                      \addplot [domain=-100:0, samples=200,smooth,thick,blue,green,dashed] {85};

                                                                                                      %\addplot [domain=12:100, samples=200,smooth,thick,blue,yellow,ultra thick] {85};
                                                                                                      %\addplot [domain=5:12, samples=200,smooth,thick,blue,yellow,ultra thick] {5*x+25};
                                                                                                      %\addplot [domain=0:5, samples=200,smooth,thick,blue,yellow,ultra thick] {7*x+15};
                                                                                                      %\addplot [domain=-100:0, samples=200,smooth,thick,blue,yellow,ultra thick,dashed] {7*x+15};

                                                                                                      \draw (axis cs:5,50) [fill=blue,thick] circle (2.0pt);
                                                                                                      \node [above=2pt] at (axis cs:5,50) {$A$};

                                                                                                      \draw (axis cs:10,85) [fill=blue,thick] circle (2.0pt);
                                                                                                      \node [above=2pt] at (axis cs:10,85) {$B$};

                                                                                                      \draw (axis cs:12,85) [fill=blue,thick] circle (2.0pt);
                                                                                                      \node [above=2pt] at (axis cs:12,85) {$C$};

                                                                                                      \draw [dashed] (axis cs:5,0) — (axis cs:5,50);
                                                                                                      \draw [dashed] (axis cs:0,50) — (axis cs:5,50);

                                                                                                      \draw [dashed] (axis cs:10,0) — (axis cs:10,85);

                                                                                                      \draw [dashed] (axis cs:12,0) — (axis cs:12,85);

                                                                                                      \node [below] at (axis cs:5,0) {$5$};
                                                                                                      \node [below] at (axis cs:10,0) {$10$};
                                                                                                      \node [below] at (axis cs:12,0) {$12$};

                                                                                                      \node

                                                                                                      at (axis cs:0,50) {$50$};
                                                                                                      \node

                                                                                                      at (axis cs:0,85) {$85$};

                                                                                                      \node [below] at (axis cs:18,105) {\color{blue}$y=5x+25$};
                                                                                                      \node at (axis cs:12,120) {\color{red}$y=7x+15$};
                                                                                                      \node [below] at (axis cs:18,85) {\color{green}$y=85$};
                                                                                                      \end{axis}
                                                                                                      \end{tikzpicture}

                                                                                                      \end{document}`
                                                                                                      Nel disegno precedente vorrei evidenziare “la parte in basso della spezzata”. Se decommentate le quattro righe che ora sono commentate avete un’idea di che cosa voglio fare. Quello che vorrei, però, è evidenziare la spezzata lasciando intravedere i segmenti (colorati in rosso, blu e verde) da cui è costituita.

                                                                                                      Pensavo a un’onda (tipo una sinusoide) che “sbiscioli” i tre segmenti, ma non so come farla.

                                                                                                      Suggerimenti?

                                                                                                      Grazie, e ancora auguri! 🙂
                                                                                                      L.

                                                                                                      Auguri!! Prova così: `\documentclass{article}
                                                                                                      \usepackage{tikz,pgfplots}
                                                                                                      \usetikzlibrary{backgrounds}
                                                                                                      \begin{document}

                                                                                                      \begin{tikzpicture}[font=\small]
                                                                                                      \begin{axis} [width=0.8\textwidth,
                                                                                                      axis lines=middle,
                                                                                                      xmin=0,xmax=18,ymin=0,ymax=120,
                                                                                                      enlargelimits,
                                                                                                      xtick=\empty,
                                                                                                      ytick=\empty,
                                                                                                      xlabel=$x$,
                                                                                                      ylabel=$y$,grid]

                                                                                                      % racchiudiamo in un gruppo e aumentiamo la dimensione del tratto:
                                                                                                      % avendo inserito questo codice prima di tutto il resto automaticamente
                                                                                                      % sarà in background e non coprirà gli altri segmenti
                                                                                                      \begin{scope}[opacity=0.8,line width=2mm,yellow!80!orange]
                                                                                                      \addplot [domain=12:100, samples=200,smooth,ultra thick] {85};
                                                                                                      \addplot [domain=5:12, samples=200,smooth,ultra thick] {5*x+25};
                                                                                                      \addplot [domain=0:5, samples=200,smooth,ultra thick] {7*x+15};
                                                                                                      \addplot [domain=-100:0, samples=200,smooth,ultra thick,dashed] {7*x+15};
                                                                                                      \end{scope}

                                                                                                      \addplot [domain=0:100, samples=200,smooth,] {5*x+25};
                                                                                                      \addplot [domain=0:100, samples=200,smooth,thick,blue,red] {7*x+15};
                                                                                                      \addplot [domain=0:100, samples=200,smooth,thick,blue,green] {85};

                                                                                                      \addplot [domain=-100:0, samples=200,smooth,thick,blue,dashed] {5*x+25};
                                                                                                      \addplot [domain=-100:0, samples=200,smooth,thick,blue,red,dashed] {7*x+15};
                                                                                                      \addplot [domain=-100:0, samples=200,smooth,thick,blue,green,dashed] {85};

                                                                                                      \draw (axis cs:5,50) [fill=blue,thick] circle (2.0pt);
                                                                                                      \node [above=2pt] at (axis cs:5,50) {$A$};

                                                                                                      \draw (axis cs:10,85) [fill=blue,thick] circle (2.0pt);
                                                                                                      \node [above=2pt] at (axis cs:10,85) {$B$};

                                                                                                      \draw (axis cs:12,85) [fill=blue,thick] circle (2.0pt);
                                                                                                      \node [above=2pt] at (axis cs:12,85) {$C$};

                                                                                                      \draw [dashed] (axis cs:5,0) — (axis cs:5,50);
                                                                                                      \draw [dashed] (axis cs:0,50) — (axis cs:5,50);

                                                                                                      \draw [dashed] (axis cs:10,0) — (axis cs:10,85);

                                                                                                      \draw [dashed] (axis cs:12,0) — (axis cs:12,85);

                                                                                                      \node [below] at (axis cs:5,0) {$5$};
                                                                                                      \node [below] at (axis cs:10,0) {$10$};
                                                                                                      \node [below] at (axis cs:12,0) {$12$};

                                                                                                      \node

                                                                                                      at (axis cs:0,50) {$50$};
                                                                                                      \node

                                                                                                      at (axis cs:0,85) {$85$};

                                                                                                      % qui io lascerei in nero il testo anche se capisco l'utilità del colore: il problema è il verde, troppo chiaro anche a schermo
                                                                                                      \node [below] at (axis cs:18,105) {\color{blue}$y=5x+25$};
                                                                                                      \node at (axis cs:12,120) {\color{red}$y=7x+15$};
                                                                                                      \node [below] at (axis cs:18,85) {\color{green}$y=85$};
                                                                                                      \end{axis}
                                                                                                      \end{tikzpicture}

                                                                                                      \end{document}` Ho lasciato alcuni commenti nel codice.

                                                                                                      In alternativa, c’è sempre la possibilità di creare qualcosa di più morbido con hobby, come Highlighting some nodes of a TikZ binomial tree. In questo caso però è complicato definire il percorso.

                                                                                                      Ciao
                                                                                                      Claudio

                                                                                                    • #96762
                                                                                                      lorenzo.pantieri
                                                                                                      Partecipante
                                                                                                        Up
                                                                                                        0
                                                                                                        Down
                                                                                                        ::


                                                                                                        Che dire… perfetto!!! 🙂

                                                                                                        Grazie mille Claudio! 🙂

                                                                                                      • #96763
                                                                                                        lorenzo.pantieri
                                                                                                        Partecipante
                                                                                                          Up
                                                                                                          0
                                                                                                          Down
                                                                                                          ::


                                                                                                          Ciao a tutti.
                                                                                                          `\documentclass{article}
                                                                                                          \usepackage{tikz,pgfplots}
                                                                                                          \usetikzlibrary{calc}
                                                                                                          \begin{document}

                                                                                                          \begin{tikzpicture}[font=\small]
                                                                                                          \begin{axis} [width=\textwidth,
                                                                                                          axis lines=middle,
                                                                                                          xmin=-20,xmax=600,ymin=-5000,ymax=4000,
                                                                                                          enlargelimits,
                                                                                                          xtick=\empty,
                                                                                                          ytick=\empty,
                                                                                                          xlabel=$x$,
                                                                                                          ylabel=$y$,grid]

                                                                                                          \addplot [domain=0:400, samples=200,smooth,very thick,blue] {-0.1*x*x+60*x-5000};
                                                                                                          \addplot [domain=400:600, samples=200,smooth,very thick,dashed] {-0.1*x*x+60*x-5000};

                                                                                                          \draw (axis cs:400,-10000) — (axis cs:400,10000);
                                                                                                          \node [below] at (axis cs:400,0) {$400$};

                                                                                                          \node (a1) at (axis cs:550,3500) {Zona di utile};
                                                                                                          \node (b1) at (axis cs:200,-4000) {Zona di perdita};

                                                                                                          \node (a2) at (axis cs:350,2000) {};
                                                                                                          \node (b2) at (axis cs:30,-1500) {};

                                                                                                          \draw [->] (a1.south) — (a2.center);
                                                                                                          \draw [->] (b1.north) — (b2.center);
                                                                                                          \end{axis}
                                                                                                          \end{tikzpicture}
                                                                                                          \end{document}`
                                                                                                          In questa figura vorrei colorare di blu la zona di utile (compresa tra la parabola, l’asse x e la retta verticale y=400) e in rosso la zona di perdita (compresa tra la parabola, l’asse y e l’asse x).

                                                                                                          Come faccio?

                                                                                                          Grazie anticipate,
                                                                                                          Lorenzo

                                                                                                          Come faccio?

                                                                                                        • #96764
                                                                                                          Up
                                                                                                          0
                                                                                                          Down
                                                                                                          ::

                                                                                                          lorenzo.pantieri” post=98928Ciao a tutti.
                                                                                                          `\documentclass{article}
                                                                                                          \usepackage{tikz,pgfplots}
                                                                                                          \usetikzlibrary{calc}
                                                                                                          \begin{document}

                                                                                                          \begin{tikzpicture}[font=\small]
                                                                                                          \begin{axis} [width=\textwidth,
                                                                                                          axis lines=middle,
                                                                                                          xmin=-20,xmax=600,ymin=-5000,ymax=4000,
                                                                                                          enlargelimits,
                                                                                                          xtick=\empty,
                                                                                                          ytick=\empty,
                                                                                                          xlabel=$x$,
                                                                                                          ylabel=$y$,grid]

                                                                                                          \addplot [domain=0:400, samples=200,smooth,very thick,blue] {-0.1*x*x+60*x-5000};
                                                                                                          \addplot [domain=400:600, samples=200,smooth,very thick,dashed] {-0.1*x*x+60*x-5000};

                                                                                                          \draw (axis cs:400,-10000) — (axis cs:400,10000);
                                                                                                          \node [below] at (axis cs:400,0) {$400$};

                                                                                                          \node (a1) at (axis cs:550,3500) {Zona di utile};
                                                                                                          \node (b1) at (axis cs:200,-4000) {Zona di perdita};

                                                                                                          \node (a2) at (axis cs:350,2000) {};
                                                                                                          \node (b2) at (axis cs:30,-1500) {};

                                                                                                          \draw [->] (a1.south) — (a2.center);
                                                                                                          \draw [->] (b1.north) — (b2.center);
                                                                                                          \end{axis}
                                                                                                          \end{tikzpicture}
                                                                                                          \end{document}`
                                                                                                          In questa figura vorrei colorare di blu la zona di utile (compresa tra la parabola, l’asse x e la retta verticale y=400) e in rosso la zona di perdita (compresa tra la parabola, l’asse y e l’asse x).

                                                                                                          Come faccio?

                                                                                                          Grazie anticipate,
                                                                                                          Lorenzo

                                                                                                          Come faccio?

                                                                                                          Per questo tipo di necessità, la libreria [tt]fillbetween[/tt] è quello che serve.

                                                                                                          In pratica basta dare dei nomi ai plot (in generale si può applicare ad ogni path) che delimitano la zona da colorare e successivamente inserire il colore con un costrutto: `
                                                                                                          \addplot []fill between[of= and ];
                                                                                                          ` Quindi: `
                                                                                                          \documentclass{article}
                                                                                                          \usepackage{tikz,pgfplots}
                                                                                                          \usetikzlibrary{calc}
                                                                                                          \usepgfplotslibrary{fillbetween}
                                                                                                          \begin{document}

                                                                                                          \begin{tikzpicture}[font=\small]
                                                                                                          \begin{axis} [width=\textwidth,
                                                                                                          axis lines=middle,
                                                                                                          xmin=-20,xmax=600,ymin=-5000,ymax=4000,
                                                                                                          enlargelimits,
                                                                                                          xtick=\empty,
                                                                                                          ytick=\empty,
                                                                                                          xlabel=$x$,
                                                                                                          ylabel=$y$,grid]

                                                                                                          \addplot [domain=0:400, samples=200,smooth,very thick,blue,name path global=parabola] {-0.1*x*x+60*x-5000};
                                                                                                          \addplot [domain=400:600, samples=200,smooth,very thick,dashed] {-0.1*x*x+60*x-5000};

                                                                                                          \draw[name path=retta] (axis cs:400,10000) — (axis cs:400,-5000)node[below]{$400$};% opzione 2
                                                                                                          \node [below right] at (axis cs:400,0) {$400$};% opzione 1

                                                                                                          % riempimento
                                                                                                          \addplot [fill=blue!50!cyan!20]fill between[of=retta and parabola];

                                                                                                          \node (a1) at (axis cs:550,3500) {Zona di utile};
                                                                                                          \node (b1) at (axis cs:200,-4000) {Zona di perdita};

                                                                                                          \node (a2) at (axis cs:350,2000) {};
                                                                                                          \node (b2) at (axis cs:30,-1500) {};

                                                                                                          \draw [->] (a1.south) — (a2.center);
                                                                                                          \draw [->] (b1.north) — (b2.center);
                                                                                                          \end{axis}
                                                                                                          \end{tikzpicture}
                                                                                                          \end{document}
                                                                                                          ` Ho anche proposto un paio di alternative per inserire l’etichetta 400 non sopra l’asintoto.

                                                                                                          Ciao
                                                                                                          Claudio

                                                                                                        • #96765
                                                                                                          lorenzo.pantieri
                                                                                                          Partecipante
                                                                                                            Up
                                                                                                            0
                                                                                                            Down
                                                                                                            ::

                                                                                                            cfiandra” post=98945
                                                                                                            Per questo tipo di necessità, la libreria [tt]fillbetween[/tt] è quello che serve.

                                                                                                            Grazie mille, Claudio. Ho appena controllato, e ho visto che purtroppo questa libreria non è compresa nella mia MacTeX 2013. Sono restio ad aggiornare il tutto: sto lavorando a dei documenti che sono quasi terminati, e so che quando si aggiorna la distribuzione è necessario investire tempo (a volte molto) per mettere le cose a punto.

                                                                                                            È possibile usare quella libreria senza fare l’aggiornamento della distribuziuone?

                                                                                                            Ho provato a scaricare da CTAN il file “pgflibrarypgfplots.fillbetween.code.tex” e a metterlo nella carrella di lavoro, ma compilando il tuo documento ricevo questo errore:

                                                                                                            `Package pgfplots Warning: running in backwards compatibility mode (unsuitable t
                                                                                                            ick labels; missing features). Consider writing \pgfplotsset{compat=1.9} into y
                                                                                                            our preamble.
                                                                                                            on input line 5.

                                                                                                            ./prova 8.tex:17: Package pgfkeys Error: I do not know the key '/tikz/name path
                                                                                                            global' and I am going to ignore it. Perhaps you misspelled it.

                                                                                                            See the pgfkeys package documentation for explanation.
                                                                                                            Type H for immediate help.

                                                                                                            l.17 …ath global=parabola] {-0.1*x*x+60*x-5000};

                                                                                                            ?
                                                                                                            Process aborted`
                                                                                                            Che cosa mi consigli di fare?

                                                                                                          • #96766
                                                                                                            Up
                                                                                                            0
                                                                                                            Down
                                                                                                            ::

                                                                                                            lorenzo.pantieri” post=98947Grazie mille, Claudio. Ho appena controllato, e ho visto che purtroppo questa libreria non è compresa nella mia MacTeX 2013. Sono restio ad aggiornare il tutto: sto lavorando a dei documenti che sono quasi terminati, e so che quando si aggiorna la distribuzione è necessario investire tempo (a volte molto) per mettere le cose a punto.

                                                                                                            È possibile usare quella libreria senza fare l’aggiornamento della distribuziuone?

                                                                                                            Ho provato a scaricare da CTAN il file “pgflibrarypgfplots.fillbetween.code.tex” e a metterlo nella carrella di lavoro, ma compilando il tuo documento ricevo questo errore:

                                                                                                            `Package pgfplots Warning: running in backwards compatibility mode (unsuitable t
                                                                                                            ick labels; missing features). Consider writing \pgfplotsset{compat=1.9} into y
                                                                                                            our preamble.
                                                                                                            on input line 5.

                                                                                                            ./prova 8.tex:17: Package pgfkeys Error: I do not know the key '/tikz/name path
                                                                                                            global' and I am going to ignore it. Perhaps you misspelled it.

                                                                                                            See the pgfkeys package documentation for explanation.
                                                                                                            Type H for immediate help.

                                                                                                            l.17 …ath global=parabola] {-0.1*x*x+60*x-5000};

                                                                                                            ?
                                                                                                            Process aborted`
                                                                                                            Che cosa mi consigli di fare?

                                                                                                            In effetti per quella libreria serve una versione di pgfplots più recente di quelle presenti in MacTeX 2013. Il che non è un problema: la libreria non fa altro che emulare funzionalità di clipping già presenti in TikZ.

                                                                                                            Oltretutto, solo per questo specifico caso, la definizione della parabola aiuta molto. Infatti, tenendo presente che ogni plot non è altro che un percorso, la seguente definizione: `
                                                                                                            \addplot [domain=0:400, samples=200,smooth,very thick,blue,fill=cyan] {-0.1*x*x+60*x-5000};
                                                                                                            ` colorerebbe lo sfondo compreso fra x=0 e x=400 della parabola (attenzione: non tutto lo sfondo, ma solo quello fra la parabola e un’ipotetica retta fra i due punti menzionati). Bisogna quindi far capire a pgfplots di tenere in considerazione l’asintoto. Anche qui, poiché un plot è un path, possiamo tranquillamente inserire dopo il normale costrutto [tt]\addplot[/tt] coordinate o altri operatori. Quindi: `
                                                                                                            \addplot [domain=0:400, samples=200,smooth,draw=none,fill=blue!50!cyan!20] {-0.1*x*x+60*x-5000} –(axis cs:400,-5000);
                                                                                                            ` risolve i nostri problemi. A questo punto l’unica differenza rispetto alla libreria è che il nostro sfondo copre l’asse x. Con il solito trucco del background possiamo aggirare l’ostacolo: `
                                                                                                            \begin{pgfonlayer}{background}% richiede \usetikzlibrary{backgrounds}
                                                                                                            \addplot [domain=0:400, samples=200,smooth,draw=none,fill=blue!50!cyan!20] {-0.1*x*x+60*x-5000} –(axis cs:400,-5000);
                                                                                                            \end{pgfonlayer}
                                                                                                            ` Inserirei questo codice prima dei plot: `
                                                                                                            \begin{pgfonlayer}{background}
                                                                                                            \addplot [domain=0:400, samples=200,smooth,draw=none,fill=blue!50!cyan!20] {-0.1*x*x+60*x-5000} –(axis cs:400,-5000);
                                                                                                            \end{pgfonlayer}

                                                                                                            \addplot [domain=0:400, samples=200,smooth,very thick,blue] {-0.1*x*x+60*x-5000};
                                                                                                            \addplot [domain=400:600, samples=200,smooth,very thick,dashed] {-0.1*x*x+60*x-5000};
                                                                                                            ` Non è strettamente necessario, ma non fa male.

                                                                                                            Ciao
                                                                                                            Claudio

                                                                                                          • #96767
                                                                                                            lorenzo.pantieri
                                                                                                            Partecipante
                                                                                                              Up
                                                                                                              0
                                                                                                              Down
                                                                                                              ::


                                                                                                              Allora Claudio, ci siamo quasi. Modificando leggermente i parametri del codice che mi hai suggerito sono riuscito a colorare la zona di utile.
                                                                                                              `\documentclass{article}
                                                                                                              \usepackage{tikz,pgfplots}
                                                                                                              \usetikzlibrary{calc,backgrounds}
                                                                                                              \begin{document}

                                                                                                              \begin{tikzpicture}[font=\small]
                                                                                                              \begin{axis} [width=\textwidth,
                                                                                                              axis lines=middle,
                                                                                                              xmin=-20,xmax=600,ymin=-5000,ymax=4000,
                                                                                                              enlargelimits,
                                                                                                              xtick=\empty,
                                                                                                              ytick=\empty,
                                                                                                              xlabel=$x$,
                                                                                                              ylabel=$y$,grid]

                                                                                                              \begin{pgfonlayer}{background}
                                                                                                              \addplot [domain=100:400, samples=200,smooth,draw=none,fill=blue!50!cyan!20] {-0.1*x*x+60*x-5000} –(axis cs:400,0);
                                                                                                              \end{pgfonlayer}

                                                                                                              \addplot [domain=0:400, samples=200,smooth,very thick,blue] {-0.1*x*x+60*x-5000};
                                                                                                              \addplot [domain=400:600, samples=200,smooth,very thick,dashed] {-0.1*x*x+60*x-5000};

                                                                                                              \draw (axis cs:400,-10000) — (axis cs:400,10000);
                                                                                                              \node [below] at (axis cs:400,0) {$400$};

                                                                                                              \node (a1) at (axis cs:550,3500) {Zona di utile};
                                                                                                              \node (b1) at (axis cs:200,-4000) {Zona di perdita};

                                                                                                              \node (a2) at (axis cs:350,2000) {};
                                                                                                              \node (b2) at (axis cs:30,-1500) {};

                                                                                                              \draw [->] (a1.south) — (a2.center);
                                                                                                              \draw [->] (b1.north) — (b2.center);
                                                                                                              \end{axis}
                                                                                                              \end{tikzpicture}
                                                                                                              \end{document}`
                                                                                                              Ora mi resta da colorare in rosso la zona di perdita, che è quella specie di “triangolo”, sotto l’asse x, compreso tra l’asse x, l’asse y e la parabola, indicato dalla relativa freccia.

                                                                                                              Come si fa?

                                                                                                              Ho provato a modificare il tuo codice, ma invano: da quanto capisco, il tuo codice permette di colorare l’area che sta sotto una curva, non sopra (come a me invece serve per la zona di perdita).

                                                                                                              Non so davvero come ringraziarti, sai? 🙂

                                                                                                            • #96768
                                                                                                              lorenzo.pantieri
                                                                                                              Partecipante
                                                                                                                Up
                                                                                                                0
                                                                                                                Down
                                                                                                                ::


                                                                                                                Fantastico!!! Questo è il codice che ho usato per risolvere il problema:
                                                                                                                `\documentclass{article}
                                                                                                                \usepackage{tikz,pgfplots}
                                                                                                                \usetikzlibrary{calc,backgrounds}
                                                                                                                \begin{document}

                                                                                                                \begin{tikzpicture}[font=\small]
                                                                                                                \begin{axis} [width=\textwidth,
                                                                                                                axis lines=middle,
                                                                                                                xmin=-20,xmax=600,ymin=-5000,ymax=4000,
                                                                                                                enlargelimits,
                                                                                                                xtick=\empty,
                                                                                                                ytick=\empty,
                                                                                                                xlabel=$x$,
                                                                                                                ylabel=$y$,grid]

                                                                                                                \begin{pgfonlayer}{background}
                                                                                                                \addplot [domain=100:400, samples=200,smooth,draw=none,fill=blue!50!cyan!20] {-0.1*x*x+60*x-5000} –(axis cs:400,0);
                                                                                                                \end{pgfonlayer}

                                                                                                                \begin{pgfonlayer}{background}
                                                                                                                \addplot [domain=0:100, samples=200,smooth,draw=none,fill=red!50!orange!20] {-0.1*x*x+60*x-5000} — (axis cs:0,0);
                                                                                                                \end{pgfonlayer}

                                                                                                                \addplot [domain=0:400, samples=200,smooth,very thick,blue] {-0.1*x*x+60*x-5000};
                                                                                                                \addplot [domain=400:600, samples=200,smooth,very thick,dashed] {-0.1*x*x+60*x-5000};

                                                                                                                \draw (axis cs:400,-10000) — (axis cs:400,10000);
                                                                                                                \node [below] at (axis cs:400,0) {$400$};

                                                                                                                \node (a1) at (axis cs:550,3500) {Zona di utile};
                                                                                                                \node (b1) at (axis cs:200,-4000) {Zona di perdita};

                                                                                                                \node (a2) at (axis cs:350,2000) {};
                                                                                                                \node (b2) at (axis cs:30,-1500) {};

                                                                                                                \draw [->] (a1.south) — (a2.center);
                                                                                                                \draw [->] (b1.north) — (b2.center);
                                                                                                                \end{axis}
                                                                                                                \end{tikzpicture}
                                                                                                                \end{document}`
                                                                                                                Grazie milla, Claudio, per il tuo preziosissimo aiuto!!! 🙂 🙂 🙂

                                                                                                              • #96769
                                                                                                                lorenzo.pantieri
                                                                                                                Partecipante
                                                                                                                  Up
                                                                                                                  0
                                                                                                                  Down
                                                                                                                  ::


                                                                                                                  Ciao a tutti. Devo realizzare il seguente disegno.

                                                                                                                  Siccome ho molti disegni di questo tipo nel mio documento, ho bisogno di un metodo “solido”. Ho pensato di definire due nodi (uno per il primo e uno per l’ultimo termine del trinomio e di lavorare con quelli, ma poi sono in difficoltà con la spaziatura orizzontale nella formula (che deve essere quella standard) e con l’allineamento verticale…

                                                                                                                  Che dite?

                                                                                                                • #96770
                                                                                                                  Up
                                                                                                                  0
                                                                                                                  Down
                                                                                                                  ::

                                                                                                                  lorenzo.pantieri” post=99016Ciao a tutti. Devo realizzare il seguente disegno.

                                                                                                                  Siccome ho molti disegni di questo tipo nel mio documento, ho bisogno di un metodo “solido”. Ho pensato di definire due nodi (uno per il primo e uno per l’ultimo termine del trinomio e di lavorare con quelli, ma poi sono in difficoltà con la spaziatura orizzontale nella formula (che deve essere quella standard) e con l’allineamento verticale…

                                                                                                                  Che dite?

                                                                                                                  Secondo me raggiungere tutti gli obbiettivi contemporaneamente è complicato.

                                                                                                                  Per rispettare la spaziatura matematica al 100% si potrebbe pensare di usare hf-tikz con la sua opzione markings. A quel punto però ogni volta devi andare a calcolarti la posizione dei marcatori per poi disegnare le frecce: addio solidità.

                                                                                                                  Dall’altra parte, se utilizzi solo TikZ e vedi il polinomio come matrice dove ogni elemento è una cella ti diventa molto facile disegnare le frecce. Il sistema è estremamente solido perché basta copia-incollare e sostituire i valori del polinomio, ma si perde la spaziatura matematica.

                                                                                                                  Ciao
                                                                                                                  Claudio

                                                                                                                • #96771
                                                                                                                  OldClaudio
                                                                                                                  Partecipante
                                                                                                                    Up
                                                                                                                    0
                                                                                                                    Down
                                                                                                                    ::

                                                                                                                    lorenzo.pantieri” post=99016Ciao a tutti. Devo realizzare il seguente disegno.

                                                                                                                    Siccome ho molti disegni di questo tipo nel mio documento, ho bisogno di un metodo “solido”. Ho pensato di definire due nodi (uno per il primo e uno per l’ultimo termine del trinomio e di lavorare con quelli, ma poi sono in difficoltà con la spaziatura orizzontale nella formula (che deve essere quella standard) e con l’allineamento verticale…

                                                                                                                    Che dite?

                                                                                                                    Non vedo perché devi volere a tutti i costi fare dell’alta acrobazia senza rete. Le dispense che stai scrivendo non sono un lavagna, e non sono nemmeno una presentazione PowerPoint, ma sono un testo tipocomposto.

                                                                                                                    Claudio (F.) ti ha spiegato perché non puoi avere la moglie ubriaca e la botte piena; io con l’ambiente rudimentale picture credo che saprei farlo, ovviamente senza tutti gli automatismi di TikZ, ma non lo faccio perché lo trovo inutile; infatti il tuo scopo con quel disegno ardito è quello di mostrare che il polinomio è un quadrato perfetto; perché allora non fai semplicemente i passaggi?`\[
                                                                                                                    a^2 + 8a + 16 = a^2 + 2\times 4 a + 4^2 = (a+4)^2
                                                                                                                    \]`A me parrebbe molto più chiaro e molto meno acrobatico.

                                                                                                                  • #96772
                                                                                                                    lorenzo.pantieri
                                                                                                                    Partecipante
                                                                                                                      Up
                                                                                                                      0
                                                                                                                      Down
                                                                                                                      ::

                                                                                                                      OldClaudioNon vedo perché devi volere a tutti i costi fare dell’alta acrobazia senza rete. Le dispense che stai scrivendo non sono un lavagna, e non sono nemmeno una presentazione PowerPoint, ma sono un testo tipocomposto.

                                                                                                                      Diciamo che quella visualizzazione mi sembra molto chiara. In un testo delle superiori sono giustificabili espedienti grafici che non adotterei mai in una tesi o una dispensa universitaria.

                                                                                                                      cfiandra” post=99026Dall’altra parte, se utilizzi solo TikZ e vedi il polinomio come matrice dove ogni elemento è una cella ti diventa molto facile disegnare le frecce. Il sistema è estremamente solido perché basta copia-incollare e sostituire i valori del polinomio, ma si perde la spaziatura matematica.

                                                                                                                      Mi fai vedere come si fa?

                                                                                                                      Grazie,
                                                                                                                      L.

                                                                                                                    • #96773
                                                                                                                      lorenzo.pantieri
                                                                                                                      Partecipante
                                                                                                                        Up
                                                                                                                        0
                                                                                                                        Down
                                                                                                                        ::


                                                                                                                        Sposto qui questo dubbio: qualcosa mi dice che c’entra TikZ…

                                                                                                                        Nella formula $A+B+y+z$ vorrei sottolineare in blu le prime due lettere e in rosso le ultime due in blu. Vorrei anche che le rispettive sottolineature apparissero diverse al tratto, per chi stampa in bianco e nero (per esempio, la prima sottolineatura dritta e l’altra ondulata).

                                                                                                                        Come si fa?

                                                                                                                      • #96774
                                                                                                                        lorenzo.pantieri
                                                                                                                        Partecipante
                                                                                                                          Up
                                                                                                                          0
                                                                                                                          Down
                                                                                                                          ::


                                                                                                                          Ancora Ancora un dubbio (serve la libreria matrix).
                                                                                                                          `\begin{tikzpicture}[x=5mm,y=5mm]
                                                                                                                          \matrix (a)[matrix of nodes, nodes in empty cells,nodes={text width=8mm, text depth=1mm, text centered}]{
                                                                                                                          & $1$ & $5$ & $-5$ & $5$ & $-6$ \\
                                                                                                                          $1$ & & $1$ & $6$ & $1$ & $6$ \\
                                                                                                                          & $1$ & $6$ & $1$ & $6$ & $0$ \\
                                                                                                                          };
                                                                                                                          \begin{scope}
                                                                                                                          \draw(a-1-2.north west)–(a-3-1.south east);
                                                                                                                          \draw(a-2-1.south west)–(a-2-6.south east);
                                                                                                                          \draw(a-1-5.north east)–(a-3-5.south east);
                                                                                                                          \end{scope}
                                                                                                                          \end{tikzpicture}`
                                                                                                                          Non mi dispace, ma vorrei che i numeri venissero incolonnati meglio: o centrati o (forse ancora meglio) allineati a destra. Ora i numeri in colonna sono allineati a sinistra, e non mi convince molto…

                                                                                                                          Grazie! 🙂 🙂 🙂

                                                                                                                        • #96775
                                                                                                                          Up
                                                                                                                          0
                                                                                                                          Down
                                                                                                                          ::

                                                                                                                          lorenzo.pantieri” post=99030Ancora Ancora un dubbio (serve la libreria matrix).
                                                                                                                          `\begin{tikzpicture}[x=5mm,y=5mm]
                                                                                                                          \matrix (a)[matrix of nodes, nodes in empty cells,nodes={text width=8mm, text depth=1mm, text centered}]{
                                                                                                                          & $1$ & $5$ & $-5$ & $5$ & $-6$ \\
                                                                                                                          $1$ & & $1$ & $6$ & $1$ & $6$ \\
                                                                                                                          & $1$ & $6$ & $1$ & $6$ & $0$ \\
                                                                                                                          };
                                                                                                                          \begin{scope}
                                                                                                                          \draw(a-1-2.north west)–(a-3-1.south east);
                                                                                                                          \draw(a-2-1.south west)–(a-2-6.south east);
                                                                                                                          \draw(a-1-5.north east)–(a-3-5.south east);
                                                                                                                          \end{scope}
                                                                                                                          \end{tikzpicture}`
                                                                                                                          Non mi dispace, ma vorrei che i numeri venissero incolonnati meglio: o centrati o (forse ancora meglio) allineati a destra. Ora i numeri in colonna sono allineati a sinistra, e non mi convince molto…

                                                                                                                          Grazie! 🙂 🙂 🙂

                                                                                                                          Senza scomodare TiKz, un semplice codice del genere non è sufficiente?
                                                                                                                          `
                                                                                                                          \[
                                                                                                                          \def\arraystretch{1.3}
                                                                                                                          \begin{array}{c|*{4}{r}|c}
                                                                                                                          & 1 & 5 & -5 & 5 & -6 \\
                                                                                                                          1 & & 1 & 6 & 1 & 6 \\
                                                                                                                          \hline
                                                                                                                          & 1 & 6 & 1 & 6 & 0
                                                                                                                          \end{array}
                                                                                                                          \]
                                                                                                                          `

                                                                                                                          per quanto riguarda la matrice di cui parla @cfiandra, dovrebbe qualcosa tipo
                                                                                                                          `
                                                                                                                          \newcommand\roba[2]{\tikz[baseline=(a-1-1.base)]{\matrix (a)[matrix of math nodes,nodes={inner sep=1pt}]{
                                                                                                                          #1\\[1em]
                                                                                                                          #2\\
                                                                                                                          };
                                                                                                                          \draw[-stealth](a-1-1)–(a-2-1);}}

                                                                                                                          \[
                                                                                                                          \roba{a^2}{(a)^2} + 8a + \roba{16}{a^2}
                                                                                                                          \]
                                                                                                                          `
                                                                                                                          Bisogna sistemare le spaziature, ma l’idea è circa questa. Io appoggio comunque @OldClaudio e @cfiandra: scrivere l’equazione nel modo “classico” resta chiaro e comprensibile anche per studenti delle superiori.

                                                                                                                        • #96776
                                                                                                                          lorenzo.pantieri
                                                                                                                          Partecipante
                                                                                                                            Up
                                                                                                                            0
                                                                                                                            Down
                                                                                                                            ::

                                                                                                                            skevin93″ post=99035Senza scomodare TiKz, un semplice codice del genere non è sufficiente?

                                                                                                                            Sì, è possibile farlo anche senza TikZ, ma poi con TikZ ho la possibilità di aggiungere cose che nell’esempio minimo che ho postato non compaiono. Per esempio con righe tipo:
                                                                                                                            `\node [above of=a-1-3,above=5mm] (b) {Coefficienti numerici del polinomio $P(x)$ da scomporre};
                                                                                                                            \node [align=center,left of=a-2-1,left=10mm] (c) {Zero di $P(x)$};
                                                                                                                            \node [align=center,right of=a-1-5,right=10mm] (d) {Termine noto di $P(x)$};
                                                                                                                            `
                                                                                                                            aggiungono scritte in modo elementare.

                                                                                                                            skevin93″ post=99035Io appoggio comunque @OldClaudio e @cfiandra: scrivere l’equazione nel modo “classico” resta chiaro e comprensibile anche per studenti delle superiori.

                                                                                                                            Mettiamola così: ritengo quelle frecce didatticamente utili. I libri di testo su cui studiano i miei ragazzi ce le hanno. Considerazioni didattiche a parte, sono curioso di vedere come si compone quella scrittura con TikZ: diciamo che mi interessa (anche) il problema TeXnico in sé.

                                                                                                                            Ah, resta aparto il problema della sottolineatura colorata che mi preme assai… 😉

                                                                                                                            Grazie 1000!

                                                                                                                          • #96777
                                                                                                                            Up
                                                                                                                            0
                                                                                                                            Down
                                                                                                                            ::


                                                                                                                            Rispondo in un unico intervento ai 3 quesiti.

                                                                                                                            lorenzo.pantieri” post=99030Ancora Ancora un dubbio (serve la libreria matrix).
                                                                                                                            `\begin{tikzpicture}[x=5mm,y=5mm]
                                                                                                                            \matrix (a)[matrix of nodes, nodes in empty cells,nodes={text width=8mm, text depth=1mm, text centered}]{
                                                                                                                            & $1$ & $5$ & $-5$ & $5$ & $-6$ \\
                                                                                                                            $1$ & & $1$ & $6$ & $1$ & $6$ \\
                                                                                                                            & $1$ & $6$ & $1$ & $6$ & $0$ \\
                                                                                                                            };
                                                                                                                            \begin{scope}
                                                                                                                            \draw(a-1-2.north west)–(a-3-1.south east);
                                                                                                                            \draw(a-2-1.south west)–(a-2-6.south east);
                                                                                                                            \draw(a-1-5.north east)–(a-3-5.south east);
                                                                                                                            \end{scope}
                                                                                                                            \end{tikzpicture}`
                                                                                                                            Non mi dispace, ma vorrei che i numeri venissero incolonnati meglio: o centrati o (forse ancora meglio) allineati a destra. Ora i numeri in colonna sono allineati a sinistra, e non mi convince molto…

                                                                                                                            Grazie! 🙂 🙂 🙂

                                                                                                                            In realtà in quel codice c’è [tt]text centered[/tt] quindi i valori sono centrati (fra le altre cose mi sembra che come opzione sia deprecata in favore di [tt]align=center[/tt]). Come dicevo all’inizio di questo filone, puoi fare un semplice debug mettendo [tt]draw[/tt] come opzione e vedrai i bordi di ogni cella. Per averli incolonnati a destra: `
                                                                                                                            \documentclass[tikz,border=10pt]{standalone}
                                                                                                                            \usepackage{amsmath,amssymb,tikz}
                                                                                                                            \usetikzlibrary{calc,matrix}

                                                                                                                            \begin{document}

                                                                                                                            \begin{tikzpicture}[x=5mm,y=5mm]
                                                                                                                            \matrix (a)[matrix of nodes, nodes in empty cells,nodes={draw,% <= draw è da togliere text width=8mm, text depth=1mm, align=right}]{ & $1$ & $5$ & $-5$ & $5$ & $-6$ \\ $1$ & & $1$ & $6$ & $1$ & $6$ \\ & $1$ & $6$ & $1$ & $6$ & $0$ \\ }; \begin{scope}% non ci sono opzioni comuni ai 3 comandi quindi non è strettamente necessario \draw(a-1-2.north west)--(a-3-1.south east); \draw(a-2-1.south west)--(a-2-6.south east); \draw(a-1-5.north east)--(a-3-5.south east); \end{scope} \end{tikzpicture} ` il cui risultato è: [attachment=1232]pre_2015-01-03.png[/attachment]

                                                                                                                            lorenzo.pantieri” post=99029Sposto qui questo dubbio: qualcosa mi dice che c’entra TikZ…

                                                                                                                            Nella formula $A+B+y+z$ vorrei sottolineare in blu le prime due lettere e in rosso le ultime due in blu. Vorrei anche che le rispettive sottolineature apparissero diverse al tratto, per chi stampa in bianco e nero (per esempio, la prima sottolineatura dritta e l’altra ondulata).

                                                                                                                            Come si fa?

                                                                                                                            Potresti definirti un nuovo comando. Anche qui è un po’ complicato rispettare la spaziatura matematica e la mia soluzione è una buona approssimazione. In alternativa anche in questo caso si potrebbe ricorrere alla famiglia di soluzioni [tt]\tikzmark[/tt]: ti obbliga a compilare due volte e pasticciare un po’ se hai diversi elementi da sottolineare, ma rispetterebbe la spaziatura matematica. Invece, con la seguente soluzione hai un comando semplicissimo da usare: `
                                                                                                                            \documentclass{article}
                                                                                                                            \usepackage{amsmath,amssymb,tikz}
                                                                                                                            \usetikzlibrary{calc,matrix}

                                                                                                                            \newcommand{\sottolinea}[2][]{%
                                                                                                                            \begin{tikzpicture}[baseline=-.5ex]\node[inner sep=0pt,outer sep=-1pt](x){$#2$};
                                                                                                                            \draw[#1]([yshift=-1.5pt]x.south west)–([yshift=-1.5pt]x.south east);
                                                                                                                            \end{tikzpicture}%
                                                                                                                            }

                                                                                                                            \begin{document}
                                                                                                                            $x-\sottolinea[red!80!black]{A+B}+\sottolinea[blue!60!cyan,dashed]{y+z}+C$

                                                                                                                            $x-A+B+y+z+C$% <= per confronto \end{document} ` Se vuoi una linea ondulata, al posto di dahsed inserisci una decorazione, per esempio snake dovrebbe andare (servono le librerie decorations e decorations.pathmorphing - per la seconda fai un double check).

                                                                                                                            lorenzo.pantieri” post=99028

                                                                                                                            Dall’altra parte, se utilizzi solo TikZ e vedi il polinomio come matrice dove ogni elemento è una cella ti diventa molto facile disegnare le frecce. Il sistema è estremamente solido perché basta copia-incollare e sostituire i valori del polinomio, ma si perde la spaziatura matematica.

                                                                                                                            Mi fai vedere come si fa?

                                                                                                                            Grazie,
                                                                                                                            L.

                                                                                                                            Rispetto al parere di OldClaudio e skevin, secondo me questa soluzione è un buon metodo grafico per studenti delle superiori. Anche per questo motivo si può pensare di non essere scrupolosi al 100% con la spaziatura. Come prima, il metodo garantisce solo un’approssimazione della spaziatura matematica: `
                                                                                                                            \documentclass{article}
                                                                                                                            \usepackage{amsmath,amssymb,tikz}
                                                                                                                            \usetikzlibrary{calc,matrix}

                                                                                                                            \begin{document}

                                                                                                                            \hspace*{.355em}$a^2+8a+16$ % <= confronto \begin{tikzpicture}[x=5mm,y=5mm] \matrix (a)[matrix of nodes, nodes in empty cells,nodes={text width=1em, text height=2ex,text depth=1pt, align=center, inner sep=0pt}, column sep={.155em},% \, sarebbe .16667em row 3 column 1/.style={execute at begin cell={\hspace*{-.4em}}},% (a)^2 è troppo grande per un box di 1em x 2ex quindi sborda e risulta non centrato; per centrarlo inseriamo uno spazio negativo prima row 3 column 5/.style={execute at begin cell={\hspace*{-.2em}}}, row sep=1ex]{ $a^2$ & $+$ & $8a$ & $+$ & $16$\\ & & & & \\ $(a)^2$ & \hphantom{$+$} & \hphantom{$8a$} & \hphantom{$+$} & $(4)^2$\\ }; \begin{scope}[-stealth, red!80!black,thick,shorten <=2pt,shorten >=1pt]
                                                                                                                            \draw([xshift=-.25em]a-1-1.south)–([xshift=-.25em]a-3-1.north);
                                                                                                                            \draw(a-1-5.south)–(a-3-5.north);
                                                                                                                            \end{scope}
                                                                                                                            \end{tikzpicture}

                                                                                                                            \end{document}
                                                                                                                            ` Il risultato:

                                                                                                                            [attachment=1233]Schermatadel2015-01-03113453.png[/attachment]

                                                                                                                            Ciao
                                                                                                                            Claudio

                                                                                                                            Attachments:
                                                                                                                            You must be logged in to view attached files.
                                                                                                                          • #96778
                                                                                                                            Liverpool
                                                                                                                            Partecipante
                                                                                                                              Up
                                                                                                                              0
                                                                                                                              Down
                                                                                                                              ::

                                                                                                                              cfiandra” post=99040
                                                                                                                              `\newcommand{\sottolinea}[2][]{%
                                                                                                                              \begin{tikzpicture}[baseline=-.5ex]\node[inner sep=0pt,outer sep=-1pt](x){$#2$};
                                                                                                                              \draw[#1]([yshift=-1.5pt]x.south west)–([yshift=-1.5pt]x.south east);
                                                                                                                              \end{tikzpicture}%
                                                                                                                              }`

                                                                                                                              A me sembra che vada benone. Perché dici che la spaziatura matematica non è rispettata? E che ne dici di questa minima variante?
                                                                                                                              `\newcommand{\sottolinea}[2][]{%
                                                                                                                              \begin{tikzpicture}[baseline=0]
                                                                                                                              \node [anchor=base, inner xsep=0, inner ysep=1.2bp, outer sep=-0.1em] (x) {$#2$};
                                                                                                                              \draw[#1] (x.south west) — (x.south east);
                                                                                                                              \end{tikzpicture}%
                                                                                                                              }`

                                                                                                                            • #96779
                                                                                                                              lorenzo.pantieri
                                                                                                                              Partecipante
                                                                                                                                Up
                                                                                                                                0
                                                                                                                                Down
                                                                                                                                ::


                                                                                                                                Innanzitutto grazie mille, Claudio e Luigi! 🙂

                                                                                                                                1. Il problema con Ruffini è risolto!

                                                                                                                                2. Circa la sottolineatura, non riesco a impostare bene “snake”.
                                                                                                                                `\documentclass{article}
                                                                                                                                \usepackage{amsmath,amssymb,tikz}
                                                                                                                                \usetikzlibrary{calc,matrix}
                                                                                                                                \usetikzlibrary{decorations}
                                                                                                                                \usetikzlibrary{snakes}

                                                                                                                                \newcommand{\sottolinea}[2][]{%
                                                                                                                                \begin{tikzpicture}[baseline=-.5ex]\node[inner sep=0pt,outer sep=-1pt](x){$#2$};
                                                                                                                                \draw[#1]([yshift=-1.5pt]x.south west)–([yshift=-1.5pt]x.south east);
                                                                                                                                \end{tikzpicture}%
                                                                                                                                }

                                                                                                                                \begin{document}

                                                                                                                                $x-A+B+y+z+C$% <= per confronto $x-\sottolinea[red!80!black]{A+B}+\sottolinea[blue!60!cyan,dashed]{y+z}+C$ $x-\sottolinea[red!80!black]{A+B}+\sottolinea[blue!60!cyan,snake]{y+z}+C$ $x-\sottolinea[red!80!black]{A+B}+\sottolinea[blue!60!cyan,decoration={snake,amplitude=.4mm}]{y+z}+C$ \end{document} ` Come vedete, se scrivo semplicemente "snake" viene un'ondulazione troppo ambia, ma se provo a impostare "amplitude=.4mm" non funziona. Come faccio? 3. Circa il problema delle frecce su che evidenziano pezzi di formula, devo ancora guardarci!

                                                                                                                              • #96780
                                                                                                                                Liverpool
                                                                                                                                Partecipante
                                                                                                                                  Up
                                                                                                                                  0
                                                                                                                                  Down
                                                                                                                                  ::

                                                                                                                                  lorenzo.pantieri” post=99016Ciao a tutti. Devo realizzare il seguente disegno.

                                                                                                                                  Siccome ho molti disegni di questo tipo nel mio documento, ho bisogno di un metodo “solido”. Ho pensato di definire due nodi (uno per il primo e uno per l’ultimo termine del trinomio e di lavorare con quelli, ma poi sono in difficoltà con la spaziatura orizzontale nella formula (che deve essere quella standard) e con l’allineamento verticale…

                                                                                                                                  Che dite?

                                                                                                                                  Suppongo che il disegno non sia in linea con il resto del testo. Il trucco c’è ma non si vede (= l’esponente fantasma).
                                                                                                                                  `\documentclass{standalone}
                                                                                                                                  \usepackage{tikz}
                                                                                                                                  \usetikzlibrary{tikzmark}

                                                                                                                                  \begin{document}
                                                                                                                                  \begin{tikzpicture} [remember picture]
                                                                                                                                  \node {$\subnode{a}{$a$}^2+8a+\subnode{c}{$16$}$};
                                                                                                                                  \node (a1) [yshift=-6ex] at (a.base) {$\phantom{^2}(a)^2$};
                                                                                                                                  \node (c1) [yshift=-6ex] at (c.base) {$\phantom{^2}(4)^2$};
                                                                                                                                  \draw [->, shorten <=2pt, red] (a.base) -- +(270:4.4ex); \draw [->, shorten <=2pt, red] (c.base) -- +(270:4.4ex); \end{tikzpicture} \end{document}`

                                                                                                                                • #96781
                                                                                                                                  Liverpool
                                                                                                                                  Partecipante
                                                                                                                                    Up
                                                                                                                                    0
                                                                                                                                    Down
                                                                                                                                    ::

                                                                                                                                    lorenzo.pantieri” post=99048Come vedete, se scrivo semplicemente “snake” viene un’ondulazione troppo ambia, ma se provo a impostare “amplitude=.4mm” non funziona. Come faccio?

                                                                                                                                    Hai dimenticato l’opzione [tt]decorate[/tt].

                                                                                                                                  • #96782
                                                                                                                                    Up
                                                                                                                                    0
                                                                                                                                    Down
                                                                                                                                    ::

                                                                                                                                    Liverpool” post=99045

                                                                                                                                    `\newcommand{\sottolinea}[2][]{%
                                                                                                                                    \begin{tikzpicture}[baseline=-.5ex]\node[inner sep=0pt,outer sep=-1pt](x){$#2$};
                                                                                                                                    \draw[#1]([yshift=-1.5pt]x.south west)–([yshift=-1.5pt]x.south east);
                                                                                                                                    \end{tikzpicture}%
                                                                                                                                    }`

                                                                                                                                    A me sembra che vada benone. Perché dici che la spaziatura matematica non è rispettata? E che ne dici di questa minima variante?
                                                                                                                                    `\newcommand{\sottolinea}[2][]{%
                                                                                                                                    \begin{tikzpicture}[baseline=0]
                                                                                                                                    \node [anchor=base, inner xsep=0, inner ysep=1.2bp, outer sep=-0.1em] (x) {$#2$};
                                                                                                                                    \draw[#1] (x.south west) — (x.south east);
                                                                                                                                    \end{tikzpicture}%
                                                                                                                                    }`

                                                                                                                                    In effetti pare sia corretto. Con il seguente esempio l’ho verificato tenendo presente come riferimento il segno +: `
                                                                                                                                    \documentclass{article}
                                                                                                                                    \usepackage{amsmath,amssymb,tikz}
                                                                                                                                    \usetikzlibrary{calc,matrix}

                                                                                                                                    \newcommand{\tikzmark}[2][]{\tikz[remember picture]\node[#1,coordinate](#2){};}

                                                                                                                                    \newcommand{\sottolinea}[2][]{%
                                                                                                                                    \begin{tikzpicture}[baseline=0]
                                                                                                                                    \node [anchor=base, inner xsep=0, inner ysep=1.2bp, outer sep=-0.1em] (x) {$#2$};
                                                                                                                                    \draw[#1] (x.south west) — (x.south east);
                                                                                                                                    \end{tikzpicture}%
                                                                                                                                    }

                                                                                                                                    \newcommand{\oldsottolinea}[2][]{%
                                                                                                                                    \begin{tikzpicture}[baseline=0]
                                                                                                                                    \node [anchor=base, inner xsep=0, inner ysep=1.2bp, outer sep=-0.1em] (x) {$#2$};
                                                                                                                                    \draw[#1] (x.south west) — (x.south east);
                                                                                                                                    \end{tikzpicture}%
                                                                                                                                    }

                                                                                                                                    \begin{document}
                                                                                                                                    $\tikzmark{a}x-\sottolinea[red!80!black]{A+B}+\sottolinea[blue!60!cyan,dashed]{y+z}\tikzmark[shift={(5.75pt,0)}]{c}+C$ \qquad $x-A+B+y+z+C\tikzmark{b}$% <= per confronto $x-A+B+y+z\tikzmark[shift={(5.75pt,0)}]{d}+C$% <= per confronto \begin{tikzpicture}[remember picture, overlay] \draw[dotted] (a.south)--(b.south); \draw[green!70!black] ([yshift=3mm]c.north)--([yshift=-1mm]d.center); \end{tikzpicture} $\tikzmark{a1}x-\oldsottolinea[red!80!black]{A+B}+\oldsottolinea[blue!60!cyan,dashed]{y+z}\tikzmark[shift={(5.75pt,0)}]{c1}+C$ \qquad $x-A+B+y+z+C\tikzmark{b1}$% <= per confronto $x-A+B+y+z\tikzmark[shift={(5.75pt,0)}]{d1}+C$% <= per confronto \begin{tikzpicture}[remember picture, overlay] \draw[dotted] (a1.south)--(b1.south); \draw[green!70!black] ([yshift=3mm]c1.north)--([yshift=-1mm]d1.center); \end{tikzpicture} \end{document} ` Il risultato (meglio verificare con la propria macchina e a un buon livello di zoom ;) ) [attachment=1235]Schermatadel2015-01-04091614.png[/attachment] Ciao Claudio

                                                                                                                                    Attachments:
                                                                                                                                    You must be logged in to view attached files.
                                                                                                                                  • #96783
                                                                                                                                    lorenzo.pantieri
                                                                                                                                    Partecipante
                                                                                                                                      Up
                                                                                                                                      0
                                                                                                                                      Down
                                                                                                                                      ::


                                                                                                                                      Anch’io ho notato che il comando \sottolinea non produceva spaziatura soddisfacenti:
                                                                                                                                      `\sottolinea[blue!60!cyan]{bx}+\sottolinea[blue!60!cyan]{xy}-\sottolinea[red!80!black,dashed]{2ay}-\sottolinea[red!80!black,dashed]{2ab}=x(b+y)-2a(y+b)=(b+y)(x-2a)`
                                                                                                                                      Inoltre, anche prescindendo dagli allineamenti, il risultato non era così immediato, così ho ripiegato sugli standard \underbrace e \underline (di quest’ultimo non mi convince molto la spaziatura verticale, la sottolineatura per me è troppo attaccata agli oggetti sottolineati: sapete come aumentarla un po’?).

                                                                                                                                    • #96784
                                                                                                                                      lorenzo.pantieri
                                                                                                                                      Partecipante
                                                                                                                                        Up
                                                                                                                                        0
                                                                                                                                        Down
                                                                                                                                        ::


                                                                                                                                        Circa le frecce nei prodotti notevoli, il codice di Liverpool mi sballa tutta l’impaginazione. Il codice di Claudio funziona, ma non riesco ad adattarlo agli altri casi, che per fortuna sono “solo” tre:

                                                                                                                                        1. $9x^2-12xy+4y^2$
                                                                                                                                        `\begin{tikzpicture}[x=5mm,y=5mm]
                                                                                                                                        \matrix (a)[matrix of nodes, nodes in empty cells,nodes={text width=1em, text height=2ex,text depth=1pt, align=center, inner sep=0pt},column sep={.155em},% \, sarebbe .16667em
                                                                                                                                        row 3 column 1/.style={execute at begin cell={\hspace*{-.4em}}},% (a)^2 è troppo grande per un box di 1em x 2ex quindi sborda e risulta non centrato; per centrarlo inseriamo uno spazio negativo prima
                                                                                                                                        row 3 column 5/.style={execute at begin cell={\hspace*{-.2em}}},
                                                                                                                                        row sep=1ex]{
                                                                                                                                        $9x^2$ & $-$ & $12xy$ & $+$ & $4y^2$\\
                                                                                                                                        & & & & \\
                                                                                                                                        $(3x)^2$ & \hphantom{$-$} & \hphantom{$12xy$} & \hphantom{$+$} & $(2y)^2$\\
                                                                                                                                        };

                                                                                                                                        \begin{scope}[-stealth, blue,thick,shorten <=2pt,shorten >=1pt]
                                                                                                                                        \draw([xshift=-.25em]a-1-1.south)–([xshift=-.25em]a-3-1.north);
                                                                                                                                        \draw(a-1-5.south)–(a-3-5.north);
                                                                                                                                        \end{scope}
                                                                                                                                        \end{tikzpicture}`

                                                                                                                                        2. $9x^2-y^2$
                                                                                                                                        `\begin{tikzpicture}[x=5mm,y=5mm]
                                                                                                                                        \matrix (a)[matrix of nodes, nodes in empty cells,nodes={text width=1em, text height=2ex,text depth=1pt, align=center, inner sep=0pt},column sep={.155em},% \, sarebbe .16667em
                                                                                                                                        row 3 column 1/.style={execute at begin cell={\hspace*{-.4em}}},% (a)^2 è troppo grande per un box di 1em x 2ex quindi sborda e risulta non centrato; per centrarlo inseriamo uno spazio negativo prima
                                                                                                                                        row 3 column 5/.style={execute at begin cell={\hspace*{-.2em}}},
                                                                                                                                        row sep=1ex]{
                                                                                                                                        $9x^2$ & $-$ & $y^2$ \\
                                                                                                                                        & & \\
                                                                                                                                        $(3x)^2$ & \hphantom{$-$} & $(y)^2$\\
                                                                                                                                        };

                                                                                                                                        \begin{scope}[-stealth, blue,thick,shorten <=2pt,shorten >=1pt]
                                                                                                                                        \draw([xshift=-.25em]a-1-1.south)–([xshift=-.25em]a-3-1.north);
                                                                                                                                        \draw(a-1-5.south)–(a-3-5.north);
                                                                                                                                        \end{scope}
                                                                                                                                        \end{tikzpicture}`

                                                                                                                                        3. $25y^2-1$

                                                                                                                                        Claudio, hai fatto trenta, ti chiedo di fare trentuno: riesci a darmi il codice per gli altri tre disegni?

                                                                                                                                        Grazie! 🙂

                                                                                                                                      • #96785
                                                                                                                                        Liverpool
                                                                                                                                        Partecipante
                                                                                                                                          Up
                                                                                                                                          0
                                                                                                                                          Down
                                                                                                                                          ::

                                                                                                                                          lorenzo.pantieri” post=99087Circa le frecce nei prodotti notevoli, il codice di Liverpool mi sballa tutta l’impaginazione.

                                                                                                                                          Ho dimenticato di dirti che bisogna compilare due volte. Questo è il problema?

                                                                                                                                        • #96786
                                                                                                                                          lorenzo.pantieri
                                                                                                                                          Partecipante
                                                                                                                                            Up
                                                                                                                                            0
                                                                                                                                            Down
                                                                                                                                            ::

                                                                                                                                            Liverpool” post=99088Ho dimenticato di dirti che bisogna compilare due volte. Questo è il problema?

                                                                                                                                            Sì, ho notato, ma alla seconda combinazione sballa tutto.

                                                                                                                                            Il tuo codice è molto elegante, forse dipende dal fatto che ho una versione vecchia di MacTeX. Ma alla fine, visto che anche quella dispensa è finita, mi sono accorto di aver bisogno essenzialmente di un solo codice. La formula è $9x^2-y^2$, servono due frecce che colleghino i due termini a 3x e y, con un risultato tipografico analogo a questo:
                                                                                                                                            `\begin{tikzpicture}[x=5mm,y=5mm]
                                                                                                                                            \matrix (a)[matrix of nodes, nodes in empty cells,nodes={text width=1em, text height=2ex,text depth=1pt, align=center, inner sep=0pt},column sep={.155em},% \, sarebbe .16667em
                                                                                                                                            row 3 column 1/.style={execute at begin cell={\hspace*{-.4em}}},% (a)^2 è troppo grande per un box di 1em x 2ex quindi sborda e risulta non centrato; per centrarlo inseriamo uno spazio negativo prima
                                                                                                                                            row 3 column 5/.style={execute at begin cell={\hspace*{-.2em}}},
                                                                                                                                            row sep=1ex]{
                                                                                                                                            $a^2$ & $+$ & $8a$ & $+$ & $16$\\
                                                                                                                                            & & & & \\
                                                                                                                                            $(a)^2$ & \hphantom{$+$} & \hphantom{$8a$} & \hphantom{$+$} & $(4)^2$\\
                                                                                                                                            };

                                                                                                                                            \begin{scope}[-stealth, blue,thick,shorten <=2pt,shorten >=1pt]
                                                                                                                                            \draw([xshift=-.25em]a-1-1.south)–([xshift=-.25em]a-3-1.north);
                                                                                                                                            \draw(a-1-5.south)–(a-3-5.north);
                                                                                                                                            \end{scope}
                                                                                                                                            \end{tikzpicture}`
                                                                                                                                            VA benissimo anche una soluzione “spiccia e sporca”! 🙂

                                                                                                                                          • #96787
                                                                                                                                            lorenzo.pantieri
                                                                                                                                            Partecipante
                                                                                                                                              Up
                                                                                                                                              0
                                                                                                                                              Down
                                                                                                                                              ::


                                                                                                                                              Eureka!

                                                                                                                                              `\begin{tikzpicture}[x=5mm,y=5mm]
                                                                                                                                              \matrix (a)[matrix of nodes, nodes in empty cells,nodes={text width=1em, text height=2ex,text depth=1pt, align=center, inner sep=0pt},column sep={.4em},
                                                                                                                                              row 3 column 1/.style={execute at begin cell={\hspace*{-.4em}}},
                                                                                                                                              row sep=1ex]{
                                                                                                                                              $9x^2$ & $-$ & $y^2$ \\
                                                                                                                                              & & & \\
                                                                                                                                              $(3x)^2$ & & $y^2$\\
                                                                                                                                              };

                                                                                                                                              \begin{scope}[-stealth, blue,thick,shorten <=3pt,shorten >=1pt]
                                                                                                                                              \draw([xshift=-.25em]a-1-3.south)–([xshift=-.25em]a-3-3.north);
                                                                                                                                              \draw(a-1-1.south)–(a-3-1.north);
                                                                                                                                              \end{scope}
                                                                                                                                              \end{tikzpicture}`

                                                                                                                                              Effettivamete per cose come questa TiKZ non è il massimo della praticità… 😉

                                                                                                                                            • #96788
                                                                                                                                              lorenzo.pantieri
                                                                                                                                              Partecipante
                                                                                                                                                Up
                                                                                                                                                0
                                                                                                                                                Down
                                                                                                                                                ::


                                                                                                                                                Ok, l’ultimissima domanda.

                                                                                                                                                L’obiettivo:

                                                                                                                                                Il mio misero tentativo:
                                                                                                                                                `\begin{tikzpicture}[font=\small]
                                                                                                                                                \draw (0,0) ellipse (3 and 2) node [above left=2.2] {Frazioni algebriche};
                                                                                                                                                \draw (0.5,0) ellipse (2 and 1) node [above left=1.2] {Polinomi};
                                                                                                                                                \draw (0.75,0) ellipse (1 and 0.5) node {Monomi};
                                                                                                                                                \end{tikzpicture}`
                                                                                                                                                Mi suggerite come migliorarlo?

                                                                                                                                                Grazie anticipate! 🙂

                                                                                                                                              • #96789
                                                                                                                                                Up
                                                                                                                                                0
                                                                                                                                                Down
                                                                                                                                                ::

                                                                                                                                                lorenzo.pantieri” post=99092Ok, l’ultimissima domanda.

                                                                                                                                                L’obiettivo:

                                                                                                                                                Il mio misero tentativo:
                                                                                                                                                `\begin{tikzpicture}[font=\small]
                                                                                                                                                \draw (0,0) ellipse (3 and 2) node [above left=2.2] {Frazioni algebriche};
                                                                                                                                                \draw (0.5,0) ellipse (2 and 1) node [above left=1.2] {Polinomi};
                                                                                                                                                \draw (0.75,0) ellipse (1 and 0.5) node {Monomi};
                                                                                                                                                \end{tikzpicture}`
                                                                                                                                                Mi suggerite come migliorarlo?

                                                                                                                                                Grazie anticipate! 🙂

                                                                                                                                                Così può andare?
                                                                                                                                                `
                                                                                                                                                \begin{tikzpicture}[font=\small]
                                                                                                                                                \draw[blue,fill=blue!20] (0,0) ellipse (3cm and 2.5cm);
                                                                                                                                                \node at (0,1.8cm) {Frazioni algebriche};
                                                                                                                                                \draw[red,fill=red!20] ellipse (2cm and 1.5cm);
                                                                                                                                                \node at (0,1cm){Polinomi};
                                                                                                                                                \node [circle,draw=green,fill=green!20,minimum size=1cm] {Monomi};
                                                                                                                                                \end{tikzpicture}
                                                                                                                                                `

                                                                                                                                              • #96790
                                                                                                                                                lorenzo.pantieri
                                                                                                                                                Partecipante
                                                                                                                                                  Up
                                                                                                                                                  0
                                                                                                                                                  Down
                                                                                                                                                  ::

                                                                                                                                                  skevin93″ post=99107
                                                                                                                                                  Così può andare?

                                                                                                                                                  Perfetto, grazie di cuore! 🙂

                                                                                                                                                  Un altro dubbio: mi sfugge la differenza tra diagramma a barre e istogramma.
                                                                                                                                                  `\begin{center}
                                                                                                                                                  \begin{tikzpicture}
                                                                                                                                                  \begin{axis}[xbar,xmin=0,xmax=5,
                                                                                                                                                  height=6.5cm,
                                                                                                                                                  xmajorgrids=true,
                                                                                                                                                  ytick pos=left,
                                                                                                                                                  title={Altezza in cm degli alunni delle classi quinte},
                                                                                                                                                  xlabel={Numero di ragazzi},
                                                                                                                                                  symbolic y coords={$138$,$140$,$145$,$148$,$149$,$151$,$152$},
                                                                                                                                                  ytick=data,nodes near coords,
                                                                                                                                                  nodes near coords align={horizontal}]
                                                                                                                                                  \addplot [fill=cyan,draw=black] coordinates{
                                                                                                                                                  (1,$138$) (3,$140$) (5,$145$) (3,$148$) (4,$149$) (3,$151$) (1,$152$)};
                                                                                                                                                  \end{axis}
                                                                                                                                                  \end{tikzpicture}
                                                                                                                                                  \end{center}

                                                                                                                                                  \begin{center}
                                                                                                                                                  \begin{tikzpicture}
                                                                                                                                                  \begin{axis} [ylabel={Numero di ragazzi},x tick label style={rotate=90,anchor=east},
                                                                                                                                                  xticklabel interval boundaries,ymajorgrids=true,
                                                                                                                                                  symbolic x coords={$138$,$140$,$145$,$148$,$149$,$151$,$152$},
                                                                                                                                                  title style={align=center},
                                                                                                                                                  title={Altezza in cm degli alunni delle classi quinte}]
                                                                                                                                                  \addplot [ybar interval,fill=purple,draw=black] coordinates
                                                                                                                                                  {($138$, 1) ($140$, 3)
                                                                                                                                                  ($145$, 5) ($148$, 3)
                                                                                                                                                  ($149$, 4) ($151$, 3)
                                                                                                                                                  ($152$, 1)};
                                                                                                                                                  \end{axis}
                                                                                                                                                  \end{tikzpicture}
                                                                                                                                                  \end{center}
                                                                                                                                                  `
                                                                                                                                                  Sui libri in mio possesso di solito gli istogrammi sono disegnati come quello di sopra (con le barre staccate), ma sono orientati come quello di sotto (con le barre in verticale).

                                                                                                                                                  Si può fare con pgfplots? O mi sfugge qualcosa?

                                                                                                                                                • #96791
                                                                                                                                                  lorenzo.pantieri
                                                                                                                                                  Partecipante
                                                                                                                                                    Up
                                                                                                                                                    0
                                                                                                                                                    Down
                                                                                                                                                    ::


                                                                                                                                                    E ancora: vorrei fare un diagramma a torta con i dati rappresentati nel post precedente. Li riporto anche in tabella.
                                                                                                                                                    `\begin{tabular}{cc}
                                                                                                                                                    \toprule
                                                                                                                                                    Altezza & Numero \\
                                                                                                                                                    & ragazzi \\
                                                                                                                                                    \midrule
                                                                                                                                                    $138$ & $1$ \\
                                                                                                                                                    $140$ & $3$ \\
                                                                                                                                                    $145$ & $5$ \\
                                                                                                                                                    $148$ & $3$ \\
                                                                                                                                                    $149$ & $4$ \\
                                                                                                                                                    $151$ & $3$ \\
                                                                                                                                                    $152$ & $1$ \\
                                                                                                                                                    \textbf{Totale} & $\boldsymbol{20}$ \\
                                                                                                                                                    \bottomrule
                                                                                                                                                    \end{tabular}
                                                                                                                                                    `
                                                                                                                                                    Qual è il modo migliore per farlo?

                                                                                                                                                  • #96792
                                                                                                                                                    lorenzo.pantieri
                                                                                                                                                    Partecipante
                                                                                                                                                      Up
                                                                                                                                                      0
                                                                                                                                                      Down
                                                                                                                                                      ::

                                                                                                                                                      lorenzo.pantieri” post=99123E ancora: vorrei fare un diagramma a torta con i dati rappresentati nel post precedente. Li riporto anche in tabella.
                                                                                                                                                      `\begin{tabular}{cc}
                                                                                                                                                      \toprule
                                                                                                                                                      Altezza & Numero \\
                                                                                                                                                      & ragazzi \\
                                                                                                                                                      \midrule
                                                                                                                                                      $138$ & $1$ \\
                                                                                                                                                      $140$ & $3$ \\
                                                                                                                                                      $145$ & $5$ \\
                                                                                                                                                      $148$ & $3$ \\
                                                                                                                                                      $149$ & $4$ \\
                                                                                                                                                      $151$ & $3$ \\
                                                                                                                                                      $152$ & $1$ \\
                                                                                                                                                      \textbf{Totale} & $\boldsymbol{20}$ \\
                                                                                                                                                      \bottomrule
                                                                                                                                                      \end{tabular}
                                                                                                                                                      `
                                                                                                                                                      Qual è il modo migliore per farlo?

                                                                                                                                                      Ho provato così.
                                                                                                                                                      `\begin{tikzpicture}[x=7mm,y=7mm, x radius=7mm, y radius=7mm]
                                                                                                                                                      \draw (0,0) circle (3);
                                                                                                                                                      \draw [fill=orange] (0,0) — (0:3) arc (0:18:3);
                                                                                                                                                      \draw [fill=brown] (0,0)– (18:3) arc (18:72:3);
                                                                                                                                                      \draw [fill=green] (0,0)– (72:3) arc (72:162:3);
                                                                                                                                                      \draw [fill=red] (0,0)– (162.6:3) arc (162:216:3);
                                                                                                                                                      \draw [fill=blue] (0,0)– (216:3) arc (216:288:3);
                                                                                                                                                      \draw [fill=olive] (0,0)– (288:3) arc (288:342:3);
                                                                                                                                                      \draw [fill=lightgray] (0,0)– (342:3) arc (342:360:3);

                                                                                                                                                      \node at (0,4) {Areogramma};

                                                                                                                                                      \begin{scope}[xshift=28mm,every node/.style={ anchor=center}]

                                                                                                                                                      \matrix[matrix of nodes] at (0,0){
                                                                                                                                                      \node[fill=orange]{}; & $1$ \\
                                                                                                                                                      \node[fill=brown]{}; & $3$ \\
                                                                                                                                                      \node[fill=green]{}; & $5$ \\
                                                                                                                                                      \node[fill=red]{}; & $3$ \\
                                                                                                                                                      \node[fill=blue]{}; & $4$ \\
                                                                                                                                                      \node[fill=olive]{}; & $3$ \\
                                                                                                                                                      \node[fill=lightgray]{}; & $1$ \\
                                                                                                                                                      };
                                                                                                                                                      \end{scope}
                                                                                                                                                      \end{tikzpicture}
                                                                                                                                                      `
                                                                                                                                                      La torta per esserci c’è, ma è un diagramma brutto brutto brutto. Suggerimenti per migliorare il codice?

                                                                                                                                                    • #96793
                                                                                                                                                      lorenzo.pantieri
                                                                                                                                                      Partecipante
                                                                                                                                                        Up
                                                                                                                                                        0
                                                                                                                                                        Down
                                                                                                                                                        ::


                                                                                                                                                        Ciao a tutti. Sono alle prese con una misteriosa incompatibilità tra “matrix” e subfig. Il diagramma a torta che produco senza difficoltà con matrix, se mi azzardo a metterlo dentro una subfig, mi dà errore.
                                                                                                                                                        `\documentclass[11pt,a4paper,twoside,openright,titlepage,%
                                                                                                                                                        headinclude,footinclude,BCOR5mm,%
                                                                                                                                                        cleardoublepage=empty,tablecaptionabove,table
                                                                                                                                                        ]{scrbook}

                                                                                                                                                        \usepackage[T1]{fontenc}
                                                                                                                                                        \usepackage[applemac]{inputenc}
                                                                                                                                                        \usepackage[english,italian]{babel}
                                                                                                                                                        \usepackage{indentfirst}
                                                                                                                                                        \usepackage{graphicx}
                                                                                                                                                        \usepackage[font=small]{quoting}
                                                                                                                                                        \usepackage{amsmath,amssymb,amsthm}
                                                                                                                                                        \usepackage{mathtools}
                                                                                                                                                        \usepackage{braket}
                                                                                                                                                        \usepackage{cancel}
                                                                                                                                                        \usepackage{empheq}
                                                                                                                                                        \usepackage{multicol}
                                                                                                                                                        \usepackage[italian]{varioref}
                                                                                                                                                        \usepackage{mparhack,fixltx2e,relsize}
                                                                                                                                                        \usepackage{tabularx}
                                                                                                                                                        \usepackage{array}
                                                                                                                                                        \usepackage{subfig}
                                                                                                                                                        \usepackage{enumitem}
                                                                                                                                                        \usepackage{eurosym}
                                                                                                                                                        \usepackage{shapepar}
                                                                                                                                                        \usepackage{siunitx}
                                                                                                                                                        \usepackage{float}
                                                                                                                                                        \usepackage{pifont}
                                                                                                                                                        \usepackage{chngpage,calc}
                                                                                                                                                        \usepackage[eulerchapternumbers,subfig,beramono,eulermath,pdfspacing,listings]{classicthesis}
                                                                                                                                                        \usepackage{arsclassica}
                                                                                                                                                        \usepackage{tcolorbox}
                                                                                                                                                        \usepackage{bookmark}
                                                                                                                                                        \usepackage{tikz}
                                                                                                                                                        \usepackage{pgfplots}
                                                                                                                                                        \usepackage{tkz-euclide}
                                                                                                                                                        \usepackage{tkz-fct}
                                                                                                                                                        \usepackage{dpfloat}
                                                                                                                                                        \usepackage{emptypage}

                                                                                                                                                        \usetikzlibrary{matrix}

                                                                                                                                                        \begin{document}

                                                                                                                                                        \begin{figure}
                                                                                                                                                        \centering
                                                                                                                                                        \begin{tikzpicture}
                                                                                                                                                        \begin{axis}[xbar,xmin=0,xmax=6,
                                                                                                                                                        height=6.5cm,
                                                                                                                                                        xmajorgrids=true,
                                                                                                                                                        ytick pos=left,
                                                                                                                                                        title={Altezza in cm degli alunni delle classi quinte},
                                                                                                                                                        xlabel={Numero di alunni},
                                                                                                                                                        symbolic y coords={$158$,$160$,$165$,$168$,$174$,$176$,$184$},
                                                                                                                                                        ytick=data,nodes near coords,
                                                                                                                                                        nodes near coords align={horizontal}]
                                                                                                                                                        \addplot [fill=cyan,draw=black] coordinates{
                                                                                                                                                        (1,$158$) (2,$160$) (6,$165$) (3,$168$) (4,$174$) (3,$176$) (1,$184$)};
                                                                                                                                                        \end{axis}
                                                                                                                                                        \end{tikzpicture}
                                                                                                                                                        \caption{Istogramma}
                                                                                                                                                        \end{figure}

                                                                                                                                                        \begin{figure}
                                                                                                                                                        \centering
                                                                                                                                                        \begin{tikzpicture}[x=7mm,y=7mm, x radius=7mm, y radius=7mm]
                                                                                                                                                        \draw (0,0) circle (3);
                                                                                                                                                        \draw [fill=orange] (0,0) — (0:3) arc (0:18:3);
                                                                                                                                                        \draw [fill=brown] (0,0)– (18:3) arc (18:72:3);
                                                                                                                                                        \draw [fill=green] (0,0)– (72:3) arc (72:162:3);
                                                                                                                                                        \draw [fill=red] (0,0)– (162.6:3) arc (162:216:3);
                                                                                                                                                        \draw [fill=blue] (0,0)– (216:3) arc (216:288:3);
                                                                                                                                                        \draw [fill=olive] (0,0)– (288:3) arc (288:342:3);
                                                                                                                                                        \draw [fill=lightgray] (0,0)– (342:3) arc (342:360:3);

                                                                                                                                                        \node at (0,4) {Altezza in cm degli alunni delle classi prime};

                                                                                                                                                        \begin{scope}[xshift=38mm,every node/.style={ anchor=center}]

                                                                                                                                                        \matrix[matrix of nodes] at (0,0){
                                                                                                                                                        \node[fill=orange]{}; & $158$ \\
                                                                                                                                                        \node[fill=brown]{}; & $160$ \\
                                                                                                                                                        \node[fill=green]{}; & $165$ \\
                                                                                                                                                        \node[fill=red]{}; & $168$ \\
                                                                                                                                                        \node[fill=blue]{}; & $174$ \\
                                                                                                                                                        \node[fill=olive]{}; & $176$ \\
                                                                                                                                                        \node[fill=lightgray]{}; & $184$ \\
                                                                                                                                                        };
                                                                                                                                                        \end{scope}
                                                                                                                                                        \end{tikzpicture}
                                                                                                                                                        \caption{Torta}
                                                                                                                                                        \end{figure}

                                                                                                                                                        \begin{figure}
                                                                                                                                                        \caption{Frequenze assolute, relative e percentuali}
                                                                                                                                                        \label{tab:relativealtezze}
                                                                                                                                                        \centering
                                                                                                                                                        \subfloat[][]{
                                                                                                                                                        \begin{tikzpicture}
                                                                                                                                                        \begin{axis}[xbar,xmin=0,xmax=6,
                                                                                                                                                        height=6.5cm,
                                                                                                                                                        xmajorgrids=true,
                                                                                                                                                        ytick pos=left,
                                                                                                                                                        title={Altezza in cm degli alunni delle classi quinte},
                                                                                                                                                        xlabel={Numero di alunni},
                                                                                                                                                        symbolic y coords={$158$,$160$,$165$,$168$,$174$,$176$,$184$},
                                                                                                                                                        ytick=data,nodes near coords,
                                                                                                                                                        nodes near coords align={horizontal}]
                                                                                                                                                        \addplot [fill=cyan,draw=black] coordinates{
                                                                                                                                                        (1,$158$) (2,$160$) (6,$165$) (3,$168$) (4,$174$) (3,$176$) (1,$184$)};
                                                                                                                                                        \end{axis}
                                                                                                                                                        \end{tikzpicture}
                                                                                                                                                        }
                                                                                                                                                        \quad
                                                                                                                                                        \subfloat[][]{
                                                                                                                                                        \begin{tikzpicture}[x=7mm,y=7mm, x radius=7mm, y radius=7mm]
                                                                                                                                                        \draw (0,0) circle (3);
                                                                                                                                                        \draw [fill=orange] (0,0) — (0:3) arc (0:18:3);
                                                                                                                                                        \draw [fill=brown] (0,0)– (18:3) arc (18:72:3);
                                                                                                                                                        \draw [fill=green] (0,0)– (72:3) arc (72:162:3);
                                                                                                                                                        \draw [fill=red] (0,0)– (162.6:3) arc (162:216:3);
                                                                                                                                                        \draw [fill=blue] (0,0)– (216:3) arc (216:288:3);
                                                                                                                                                        \draw [fill=olive] (0,0)– (288:3) arc (288:342:3);
                                                                                                                                                        \draw [fill=lightgray] (0,0)– (342:3) arc (342:360:3);

                                                                                                                                                        \node at (0,4) {Altezza in cm degli alunni delle classi prime};

                                                                                                                                                        %\begin{scope}[xshift=38mm,every node/.style={ anchor=center}]
                                                                                                                                                        %\matrix[matrix of nodes] at (0,0){
                                                                                                                                                        %\node[fill=orange]{}; & $158$ \\
                                                                                                                                                        %\node[fill=brown]{}; & $160$ \\
                                                                                                                                                        %\node[fill=green]{}; & $165$ \\
                                                                                                                                                        %\node[fill=red]{}; & $168$ \\
                                                                                                                                                        %\node[fill=blue]{}; & $174$ \\
                                                                                                                                                        %\node[fill=olive]{}; & $176$ \\
                                                                                                                                                        %\node[fill=lightgray]{}; & $184$ \\
                                                                                                                                                        %};
                                                                                                                                                        %\end{scope}
                                                                                                                                                        \end{tikzpicture}
                                                                                                                                                        }
                                                                                                                                                        \end{figure}
                                                                                                                                                        \end{document}`
                                                                                                                                                        Provate a decommentare le righe nella seconda subfig e incappate l’errore.

                                                                                                                                                        Come rimediare? Qualcuno mi suggerisce un codice alternativo?

                                                                                                                                                        Ovviamente, i vostri eventuali suggerimenti per migliorare il diagramma a torta sono più che benvenuti: il problema principale è che il diagramma è illeggibile se stampato in bianco e nero: ci vorrebbero dei riempimenti leggibili anche per chi non li vede a colori…

                                                                                                                                                        Grazie,
                                                                                                                                                        L.

                                                                                                                                                      • #96794
                                                                                                                                                        lorenzo.pantieri
                                                                                                                                                        Partecipante
                                                                                                                                                          Up
                                                                                                                                                          0
                                                                                                                                                          Down
                                                                                                                                                          ::


                                                                                                                                                          Allora carissimi, grazie a un suggerimento di Tommaso, ho quasi risolto.
                                                                                                                                                          `\usepackage{pgf-pie}
                                                                                                                                                          \usetikzlibrary{shadows}`

                                                                                                                                                          `\begin{figure}
                                                                                                                                                          \caption{Frequenze assolute, relative e percentuali}
                                                                                                                                                          \centering
                                                                                                                                                          \subfloat[][]{
                                                                                                                                                          \begin{tikzpicture}
                                                                                                                                                          \begin{axis}[xbar,xmin=0,xmax=6,
                                                                                                                                                          height=6.5cm,
                                                                                                                                                          xmajorgrids=true,
                                                                                                                                                          ytick pos=left,
                                                                                                                                                          title={Altezza in cm degli alunni delle classi quinte},
                                                                                                                                                          xlabel={Numero di alunni},
                                                                                                                                                          symbolic y coords={$158$,$160$,$165$,$168$,$174$,$176$,$184$},
                                                                                                                                                          ytick=data,nodes near coords,
                                                                                                                                                          nodes near coords align={horizontal}]
                                                                                                                                                          \addplot [fill=cyan,draw=black] coordinates{
                                                                                                                                                          (1,$158$) (2,$160$) (6,$165$) (3,$168$) (4,$174$) (3,$176$) (1,$184$)};
                                                                                                                                                          \end{axis}
                                                                                                                                                          \end{tikzpicture}
                                                                                                                                                          }
                                                                                                                                                          \quad
                                                                                                                                                          \subfloat[][]{
                                                                                                                                                          \begin{tikzpicture}
                                                                                                                                                          \pie[style=drop shadow,radius=2.4,pos={0,3}]{5/$158$, 10/$160$, 30/$165$, 15/$168$, 20/$174$, 15/$176$, 5/$184$}
                                                                                                                                                          \end{tikzpicture}
                                                                                                                                                          }
                                                                                                                                                          \end{figure}`
                                                                                                                                                          Primo problema: le etichette delle subfig (“a” e “b”) sono diasllineate verticalmente.

                                                                                                                                                          Secondo problema: vorrei allineare verticalmente istogramma e grafico a torta (in altre parole, vorrei alzare un po’ il grafico a torta).

                                                                                                                                                          Come rimediare?

                                                                                                                                                        • #96795
                                                                                                                                                          lorenzo.pantieri
                                                                                                                                                          Partecipante
                                                                                                                                                            Up
                                                                                                                                                            0
                                                                                                                                                            Down
                                                                                                                                                            ::

                                                                                                                                                            lorenzo.pantieri” post=99178
                                                                                                                                                            Secondo problema: vorrei allineare verticalmente istogramma e grafico a torta (in altre parole, vorrei alzare un po’ il grafico a torta).

                                                                                                                                                            Questo problema l’ho risolto in modo “spiccio e sporco” con un
                                                                                                                                                            `\node at (0,0) {\phantom{\huge A}};`
                                                                                                                                                            nel codice della seconda subfig.

                                                                                                                                                            Resta da risolvere il problema, più grave, del mancato allineamento verticale delle due sottodidascalie… Non è la prima volta che subfig mi fa questo scherzo, ma la soluzione che ai tempi mi suggerì OldClaudio
                                                                                                                                                            `\noalign{\vspace{3.35ex}}`
                                                                                                                                                            per regolare una tabella capricciosa qui non posso usarla…

                                                                                                                                                          • #96796
                                                                                                                                                            lorenzo.pantieri
                                                                                                                                                            Partecipante
                                                                                                                                                              Up
                                                                                                                                                              0
                                                                                                                                                              Down
                                                                                                                                                              ::


                                                                                                                                                              http://www.lorenzopantieri.net/Matematica_files/Prima.pdf

                                                                                                                                                              Ecco un altro problemino con pgf-pie (che peraltro mi piace moltissimo: sintassi facile e risoltati gradevoli!): i numeri che esprimono le percentuali all’interno delle fette (prodotti in automatico dal programma) non sono in modo matematico: la differenza (pagina 6 e 8) è evidentissima, e sta male. Come rimediare? Basta anche una soluzione sporchissima: ho messo il .sty (non compreso nella mia MacTeX2013) nella cartella di lavoro, per cui potrei anche intervenire su quello…

                                                                                                                                                            • #96797
                                                                                                                                                              Liverpool
                                                                                                                                                              Partecipante
                                                                                                                                                                Up
                                                                                                                                                                0
                                                                                                                                                                Down
                                                                                                                                                                ::

                                                                                                                                                                lorenzo.pantieri” post=99180http://www.lorenzopantieri.net/Matematica_files/Prima.pdf

                                                                                                                                                                Ecco un altro problemino con pgf-pie (che peraltro mi piace moltissimo: sintassi facile e risoltati gradevoli!): i numeri che esprimono le percentuali all’interno delle fette (prodotti in automatico dal programma) non sono in modo matematico: la differenza (pagina 6 e 8) è evidentissima, e sta male. Come rimediare? Basta anche una soluzione sporchissima: ho messo il .sty (non compreso nella mia MacTeX2013) nella cartella di lavoro, per cui potrei anche intervenire su quello…

                                                                                                                                                                Aggiungi tra le opzioni
                                                                                                                                                                `before number=$, after number=\%$`

                                                                                                                                                              • #96798
                                                                                                                                                                Up
                                                                                                                                                                0
                                                                                                                                                                Down
                                                                                                                                                                ::

                                                                                                                                                                lorenzo.pantieri” post=99123E ancora: vorrei fare un diagramma a torta con i dati rappresentati nel post precedente. […] Qual è il modo migliore per farlo?

                                                                                                                                                                Non usare un diagramma a torta direi. Una semplice ricerca su google ti fornirà un sacco di buoni motivi per non farlo. Io sarei un po’ meno drastico, nel senso che se ci sono due, tre spicchi al massimo penso che sia ancora comprensibile.

                                                                                                                                                                Potresti considerare anche questa soluzione che è molto elegante e rende il diagramma molto più comprensibile.

                                                                                                                                                                Ciao
                                                                                                                                                                Claudio

                                                                                                                                                              • #96799
                                                                                                                                                                lorenzo.pantieri
                                                                                                                                                                Partecipante
                                                                                                                                                                  Up
                                                                                                                                                                  0
                                                                                                                                                                  Down
                                                                                                                                                                  ::

                                                                                                                                                                  Liverpool” post=99182
                                                                                                                                                                  Aggiungi tra le opzioni
                                                                                                                                                                  `before number=$, after number=\%$`

                                                                                                                                                                  Funziona perfettamente! Grazie mille Luigi!

                                                                                                                                                                  cfiandra” post=99206Non usare un diagramma a torta direi. Una semplice ricerca su google ti fornirà un sacco di buoni motivi per non farlo. Io sarei un po’ meno drastico, nel senso che se ci sono due, tre spicchi al massimo penso che sia ancora comprensibile.

                                                                                                                                                                  Mah, io sarei ancora meno drastico: io direi che se ci sono un numero di spicchi non esagerato, i diagrammi a torta possono avere una loro funzione, anche se limitata. Tenete presente che quella con i diagrammi a torta è una dispensa che verrà letta da alunni di una classe di prima superiore… per cui un po’ di colore e di disegno non guasta. Insomma, ciò che in un articolo su una rivista scientifica non ha cittadinanza, in una dispensa per uno studente di prima può averla!

                                                                                                                                                                  cfiandra” post=99206
                                                                                                                                                                  Potresti considerare anche questa soluzione che è molto elegante e rende il diagramma molto più comprensibile.

                                                                                                                                                                  Molto bella, in effetti. Forse lascerò il diagramma a torta “per inerzia”, ma l’anello è molto più carino.

                                                                                                                                                                • #96800
                                                                                                                                                                  OldClaudio
                                                                                                                                                                  Partecipante
                                                                                                                                                                    Up
                                                                                                                                                                    0
                                                                                                                                                                    Down
                                                                                                                                                                    ::


                                                                                                                                                                    TikZ è stato creato da Till Tantau che ha scritto anche beamer, come sai bene; nella sua documentazione su come comporre le presentazioni, spiega esattamente come sia pestilenziale usare i diagrammi a torta anche nei testi divulgativi e porta un esempio tratto da un noto giornale tedesco; lo trasforma il diagramma a torta in un diagramma ad anello, dandone anche il codice, quindi disegnare anelli non è un problema; basta leggere la documentazione di beamer. Till mi ha permesso di tradurre in italiano le sue raccomandazioni per comporre presentazioni con o senza beamer; trovi la traduzione anche nella Guida Guit. Ma le argomentazioni di Till sono le argomentazioni di una persona precisa come lo sa essere un matematico; gli argomenti che porta sonno assolutamente inconfutabili e quindi valgono anche per dispense destinate agli studenti di prima superiore.

                                                                                                                                                                  • #96801
                                                                                                                                                                    lorenzo.pantieri
                                                                                                                                                                    Partecipante
                                                                                                                                                                      Up
                                                                                                                                                                      0
                                                                                                                                                                      Down
                                                                                                                                                                      ::

                                                                                                                                                                      OldClaudio” post=99212TikZ è stato creato da Till Tantau che ha scritto anche beamer, come sai bene; nella sua documentazione su come comporre le presentazioni, spiega esattamente come sia pestilenziale usare i diagrammi a torta anche nei testi divulgativi e porta un esempio tratto da un noto giornale tedesco; lo trasforma il diagramma a torta in un diagramma ad anello, dandone anche il codice, quindi disegnare anelli non è un problema; basta leggere la documentazione di beamer. Till mi ha permesso di tradurre in italiano le sue raccomandazioni per comporre presentazioni con o senza beamer; trovi la traduzione anche nella Guida Guit. Ma le argomentazioni di Till sono le argomentazioni di una persona precisa come lo sa essere un matematico; gli argomenti che porta sonno assolutamente inconfutabili e quindi valgono anche per dispense destinate agli studenti di prima superiore.

                                                                                                                                                                      Credo che gli “argomenti”, per definizione, non siano mai “inconfutabili”, ma sempre “opinabili”. Altrimenti non sarebbero “argomenti” ma “dimostrazioni”! Gli argomenti che porta Tantau mi paiono buoni, ma soprattutto lui critica la rappresentazione tridimensionale. Di primo acchito, non vedo differenze sostanziali tra una grafico a torta e uno ad anello. Ma voglio rifletterci meglio e approfondire la cosa.

                                                                                                                                                                      Intanto, ecco un altro problema. Vorrei realizzare un diagramma come quello in figura.

                                                                                                                                                                      Pensavo di riadattare questo codice.
                                                                                                                                                                      `\begin{tikzpicture}[font=\small]
                                                                                                                                                                      \begin{axis}[ybar,ymin=0,ymax=7,%enlargelimits,
                                                                                                                                                                      height=6.5cm,
                                                                                                                                                                      ymajorgrids=true,
                                                                                                                                                                      xlabel={Altezza in cm},
                                                                                                                                                                      ylabel={Numero di alunni},
                                                                                                                                                                      symbolic x coords={$150$,$160$,$165$,$168$,$174$,$176$,$184$},
                                                                                                                                                                      xtick=data,nodes near coords,
                                                                                                                                                                      nodes near coords align={vertical}]
                                                                                                                                                                      \addplot [fill=cyan,draw=black] coordinates{
                                                                                                                                                                      ($150$,1) ($160$,2) ($165$,6) ($168$,3) ($174$,4) ($176$,3) ($184$,1)};
                                                                                                                                                                      \end{axis}
                                                                                                                                                                      \end{tikzpicture} `
                                                                                                                                                                      Il problema è che non so come scrivere le etichette “150\div154”.

                                                                                                                                                                      Idee?

                                                                                                                                                                      Grazie, e buona domenica! 🙂

                                                                                                                                                                      P.S. Fra l’altro dubito che la scrittura “150\div154” vada bene per indicare l’intervallo fra 150 e 154…

                                                                                                                                                                    • #96802
                                                                                                                                                                      Liverpool
                                                                                                                                                                      Partecipante
                                                                                                                                                                        Up
                                                                                                                                                                        0
                                                                                                                                                                        Down
                                                                                                                                                                        ::


                                                                                                                                                                        Non c’è sufficiente spazio per inserire quelle etichette in modo non ambiguo in un grafico che occupa metà pagina, perciò ti consiglio di inclinarle:
                                                                                                                                                                        `\begin{tikzpicture}[font=\small]
                                                                                                                                                                        \begin{axis}[ybar,ymin=0,ymax=17,%enlargelimits,
                                                                                                                                                                        height=6.5cm,
                                                                                                                                                                        ymajorgrids=true,
                                                                                                                                                                        xlabel={Altezza in cm},
                                                                                                                                                                        ylabel={Numero di alunni},
                                                                                                                                                                        symbolic x coords={
                                                                                                                                                                        $150\div154$, $155\div159$, $160\div164$, $165\div169$,
                                                                                                                                                                        $170\div174$, $175\div179$, $180\div184$, $185\div189$},
                                                                                                                                                                        xtick=data, nodes near coords,
                                                                                                                                                                        nodes near coords align={vertical},
                                                                                                                                                                        xticklabel style={rotate=45, anchor=18},
                                                                                                                                                                        xtick pos=left]
                                                                                                                                                                        \addplot [fill=cyan,draw=black] coordinates{
                                                                                                                                                                        ($150\div154$,3) ($155\div159$,6) ($160\div164$,9) ($165\div169$,15)
                                                                                                                                                                        ($170\div174$,12) ($175\div179$,6) ($180\div184$,6) ($185\div189$,3)};
                                                                                                                                                                        \end{axis}
                                                                                                                                                                        \end{tikzpicture}`

                                                                                                                                                                        [attachment=1241]prova_2015-01-12.png[/attachment]

                                                                                                                                                                        Per fare quello che vuoi tu basta inserire l’opzione [tt]xticklabel style={text width=1cm}[/tt], ma anche riducendo la dimensione del font, le etichette si confondono con le successive.

                                                                                                                                                                        Tirata d’orecchi: ti è stato più volte “intimato” di aggiungere nel preambolo `\pgfplotsset{compat=1.11}`
                                                                                                                                                                        Ora puoi capire la fondatezza di quel consiglio. Prova a compilare il codice che ti ho dato. Vedrai che l’etichetta dell’asse y è inutilmente lontana dal grafico e quella dell’asse x si sovrappone alle etichette delle tacche. Come mai? Perché nella versione 1.3, che è quella usata per default, la gestione delle etichette era sbagliata insieme a cento altre cose.
                                                                                                                                                                        Ora il consiglio è sempre lo stesso, ma ti invito a ricontrollare tutti i grafici per individuare eventuali comportamenti differenti da quelli che vuoi tu (motivo per il quale sul manuale del pacchetto è sconsigliato di usare il valore [tt]newest[/tt]).

                                                                                                                                                                        Ciao

                                                                                                                                                                        Attachments:
                                                                                                                                                                        You must be logged in to view attached files.
                                                                                                                                                                      • #96803
                                                                                                                                                                        lorenzo.pantieri
                                                                                                                                                                        Partecipante
                                                                                                                                                                          Up
                                                                                                                                                                          0
                                                                                                                                                                          Down
                                                                                                                                                                          ::

                                                                                                                                                                          Liverpool” post=99235Non c’è sufficiente spazio per inserire quelle etichette in modo non ambiguo in un grafico che occupa metà pagina, perciò ti consiglio di inclinarle:
                                                                                                                                                                          `\begin{tikzpicture}[font=\small]
                                                                                                                                                                          \begin{axis}[ybar,ymin=0,ymax=17,%enlargelimits,
                                                                                                                                                                          height=6.5cm,
                                                                                                                                                                          ymajorgrids=true,
                                                                                                                                                                          xlabel={Altezza in cm},
                                                                                                                                                                          ylabel={Numero di alunni},
                                                                                                                                                                          symbolic x coords={
                                                                                                                                                                          $150\div154$, $155\div159$, $160\div164$, $165\div169$,
                                                                                                                                                                          $170\div174$, $175\div179$, $180\div184$, $185\div189$},
                                                                                                                                                                          xtick=data, nodes near coords,
                                                                                                                                                                          nodes near coords align={vertical},
                                                                                                                                                                          xticklabel style={rotate=45, anchor=18},
                                                                                                                                                                          xtick pos=left]
                                                                                                                                                                          \addplot [fill=cyan,draw=black] coordinates{
                                                                                                                                                                          ($150\div154$,3) ($155\div159$,6) ($160\div164$,9) ($165\div169$,15)
                                                                                                                                                                          ($170\div174$,12) ($175\div179$,6) ($180\div184$,6) ($185\div189$,3)};
                                                                                                                                                                          \end{axis}
                                                                                                                                                                          \end{tikzpicture}`

                                                                                                                                                                          [attachment=1241]prova_2015-01-12.png[/attachment]

                                                                                                                                                                          Per fare quello che vuoi tu basta inserire l’opzione [tt]xticklabel style={text width=1cm}[/tt], ma anche riducendo la dimensione del font, le etichette si confondono con le successive.

                                                                                                                                                                          Tirata d’orecchi: ti è stato più volte “intimato” di aggiungere nel preambolo `\pgfplotsset{compat=1.11}`
                                                                                                                                                                          Ora puoi capire la fondatezza di quel consiglio. Prova a compilare il codice che ti ho dato. Vedrai che l’etichetta dell’asse y è inutilmente lontana dal grafico e quella dell’asse x si sovrappone alle etichette delle tacche. Come mai? Perché nella versione 1.3, che è quella usata per default, la gestione delle etichette era sbagliata insieme a cento altre cose.
                                                                                                                                                                          Ora il consiglio è sempre lo stesso, ma ti invito a ricontrollare tutti i grafici per individuare eventuali comportamenti differenti da quelli che vuoi tu (motivo per il quale sul manuale del pacchetto è sconsigliato di usare il valore [tt]newest[/tt]).

                                                                                                                                                                          Ciao

                                                                                                                                                                          Grazie per i consigli e il codice, il grafico è splendido!

                                                                                                                                                                          Mi resta la curiosità (tipografica e non TeXnica) della fondatezza del simbolo \div per indicare l’intervallo. Il nome sembra suggerire una divisione…

                                                                                                                                                                          Una mia collega mi ha detto che ha visto spesso usare al posto di quel simbolo una specie di “H” molto schiacciata, tipo “|——|”, con le stanghette che indicano che gli estremi sono compresi. Io però quel simbolo non l’ho mai visto. Ah, in alternativa forse si potrebbe pensare a un trattino $160$-$165$, ma forse c’è il rischio che si confonda con un meno…

                                                                                                                                                                          In ogni caso, in mancanzi di altri input lascio \div, come nel grafico che ha prodotto Liverpool.

                                                                                                                                                                          Grazie ancora,
                                                                                                                                                                          Lorenzo

                                                                                                                                                                        • #96804
                                                                                                                                                                          OldClaudio
                                                                                                                                                                          Partecipante
                                                                                                                                                                            Up
                                                                                                                                                                            0
                                                                                                                                                                            Down
                                                                                                                                                                            ::


                                                                                                                                                                            Non a caso si chiama \div. Gli americano lo usano per la divisione. Le norme ISO indicano quel segno per indicare la divisione.

                                                                                                                                                                            In Italia io ho sempre visto usare per gli intervalli segno svariati che contengono parentesi quadre, tonde e talvolta anche quadre chiuse a sinistra e aperte a destra; di solito ho visto [tt] $[ a \dash b ]$ [/tt] per l’intervallo chiuso da entrambi i lati; mentre per gli intervalli aperti ho visto la fantasia sbizzarrirsi a piacere.

                                                                                                                                                                            Sembra strano che non ci sia una simbologia standardizzata per l’intervallo. Nella GuidaGuIT e nel fascicoletto saper comunicare ho indicato il segno corrispondente a \div per l’intervallo, perché per un certo periodo di tempo la famosa fantasia (non mia) sembrava essersi focalizzata su quel segno. Ma se qualcuno ha idee migliori e l’indicazione di una simbologia abbastanza consolidata, lo faccia sapere qui sul forum, perché siamo in diversi ad essere interessati a questa cosa. I simboli standardizzati sono fatti per farsi capire, non per sbizzarrire la fantasia.

                                                                                                                                                                          • #96805
                                                                                                                                                                            Liverpool
                                                                                                                                                                            Partecipante
                                                                                                                                                                              Up
                                                                                                                                                                              0
                                                                                                                                                                              Down
                                                                                                                                                                              ::

                                                                                                                                                                              lorenzo.pantieri” post=99236In ogni caso, in mancanzi di altri input lascio \div, come nel grafico che ha prodotto Liverpool.

                                                                                                                                                                              Lascia [tt]\div[/tt] e spiega che con il simbolo [tt]\div[/tt] vuoi indicare tutti i numeri interi compresi tra i due che lo circondano. Hai mai pensato di realizzare una tabella dei simboli all’inizio di ogni dispensa?


                                                                                                                                                                              @OldClaudio
                                                                                                                                                                              , secondo Wikipedia la notazione più diffusa sarebbe \( [a..b] \), ma francamente mi sembra solo un’opinione personale. Altra notazione, che però ha il difetto di non essere compatta, è \( \{a,…,b\} \).

                                                                                                                                                                            • #96806
                                                                                                                                                                              OldClaudio
                                                                                                                                                                              Partecipante
                                                                                                                                                                                Up
                                                                                                                                                                                0
                                                                                                                                                                                Down
                                                                                                                                                                                ::


                                                                                                                                                                                Sebbene Wikipedia non sia molto autorevole, nel sito http://it.wikipedia.org/wiki/Intervallo_%28matematica%29 ho notato che viene usata la notazione “parentesi” a, b “parentesi”, vole ciascuna aprentesi può essere quadra o tonda; la quadra è adicente all’estremo che fa parte dell’intervallo; ma se l’estremo non ne fa parte, allora usa la tonda. Quella pagina di Wikipedia indica anche l’uro (che sta scomparendo) delle parentesi quadre rovesciate. La pagina indica anche l’uso italiano dell’obelo (quello sarebbe il nome del segno corrispondente a \div), che indicherebbe l’intervallo chiuso quando entrambi gli estremi sono indicati con numeri.

                                                                                                                                                                                La spiegazione comprende tutti gli usi che avevo elencato nel mio precedente messaggio, con qualche precisazione in più. Resta il fatto che questa varietà di notazioni sottolinea la mancanza di una norma nazionale o internazionale.

                                                                                                                                                                                Secondo me, l’uso che ne ha fatto Lorenzo, magari merita una spiegazione, come suggerisce @Liverpool, ma è coerente con il fatto che in italiano si usa la virgola non spaziata come separatore decimale, e bisognerebbe usare la virgola spaziata a destra per indicare un elenco di oggetti, quali sono i due estremi. Mentre non c’è nessuna ambiguità se gli estremi sono letterali, dubito che i nostri occhi siano così esercitati da poter distinguere l’intervallo 1,70, 1,74 dalla scrittura 1,70,1,74. (in questo testo si distingue benissimo perché lo spazio a destra della virgola seriale è pari ad uno spazio interparola, ma quando si scrive con LaTeX lo spazio a destra della virgola seriale è uno spazio fino). Perciò l’uso dell’obelo mi sembrerebbe più adatto dell’uso delle parentesi quando gli estremi sono numerici.

                                                                                                                                                                                Preferirei la presenza di norme unificanti…:wink:

                                                                                                                                                                              • #96807
                                                                                                                                                                                lorenzo.pantieri
                                                                                                                                                                                Partecipante
                                                                                                                                                                                  Up
                                                                                                                                                                                  0
                                                                                                                                                                                  Down
                                                                                                                                                                                  ::

                                                                                                                                                                                  lorenzo.pantieri” post=99236
                                                                                                                                                                                  Tirata d’orecchi: ti è stato più volte “intimato” di aggiungere nel preambolo `\pgfplotsset{compat=1.11}`
                                                                                                                                                                                  Ora puoi capire la fondatezza di quel consiglio.

                                                                                                                                                                                  Sono fritto, mi sa. Se compilo con la Mia MacTeX 2013, ottengo questo messaggio di errore.
                                                                                                                                                                                  `Package pgfkeys Error: Choice '1.11' unknown in key '/pgfplots/
                                                                                                                                                                                  compat/labels'. I am going to ignore this key.

                                                                                                                                                                                  See the pgfkeys package documentation for explanation.
                                                                                                                                                                                  Type H for immediate help.

                                                                                                                                                                                  l.59 \pgfplotsset{compat=1.11}

                                                                                                                                                                                  ?`
                                                                                                                                                                                  In ogni caso, il tuo codice non viene compilato per niente con la mia MacTeX 2013. Quel \div dentro le etichette non lo digerisce proprio.
                                                                                                                                                                                  `/Capitoli/Statistica.tex:567: Missing \endcsname inserted.

                                                                                                                                                                                  \div
                                                                                                                                                                                  l.567 }

                                                                                                                                                                                  ?
                                                                                                                                                                                  Process aborted `
                                                                                                                                                                                  Secondo te è possibile rimediare evitando di installare la nuova distribuzione?

                                                                                                                                                                                  Qualcosa mi dice che se aggiorno dovrò risolvere un bel po’ di problemi di mancata retro-compatibilità…

                                                                                                                                                                                • #96808
                                                                                                                                                                                  Up
                                                                                                                                                                                  0
                                                                                                                                                                                  Down
                                                                                                                                                                                  ::

                                                                                                                                                                                  lorenzo.pantieri” post=99243

                                                                                                                                                                                  Tirata d’orecchi: ti è stato più volte “intimato” di aggiungere nel preambolo `\pgfplotsset{compat=1.11}`
                                                                                                                                                                                  Ora puoi capire la fondatezza di quel consiglio.

                                                                                                                                                                                  Sono fritto, mi sa. Se compilo con la Mia MacTeX 2013, ottengo questo messaggio di errore.
                                                                                                                                                                                  `Package pgfkeys Error: Choice '1.11' unknown in key '/pgfplots/
                                                                                                                                                                                  compat/labels'. I am going to ignore this key.

                                                                                                                                                                                  See the pgfkeys package documentation for explanation.
                                                                                                                                                                                  Type H for immediate help.

                                                                                                                                                                                  l.59 \pgfplotsset{compat=1.11}

                                                                                                                                                                                  ?`
                                                                                                                                                                                  In ogni caso, il tuo codice non viene compilato per niente con la mia MacTeX 2013. Quel \div dentro le etichette non lo digerisce proprio.
                                                                                                                                                                                  `/Capitoli/Statistica.tex:567: Missing \endcsname inserted.

                                                                                                                                                                                  \div
                                                                                                                                                                                  l.567 }

                                                                                                                                                                                  ?
                                                                                                                                                                                  Process aborted `
                                                                                                                                                                                  Secondo te è possibile rimediare evitando di installare la nuova distribuzione?

                                                                                                                                                                                  Qualcosa mi dice che se aggiorno dovrò risolvere un bel po’ di problemi di mancata retro-compatibilità…

                                                                                                                                                                                  Ni, nel senso che forse ti sei perso TikZ 3.0.0 nel qual caso c’è qualche problema di compatibilità per pochissime cose (molto specifiche, per cui da utente normale non te ne dovresti accorgere). Certo, non considero tutto l’universo di classi e pacchetti per cui forse ad ora non ti conviene aggiornare.

                                                                                                                                                                                  Quello che puoi fare è provare `\pgfplotsset{compat=1.}` dove [tt][/tt] varia da 6 a 9 (mi spiace ma non ricordo esattamente l’ultima versione di pgfplots in TeXlive 2013: oltretutto dipende anche da quando hai aggiornato l’ultima volta).

                                                                                                                                                                                  Ciao
                                                                                                                                                                                  Claudio

                                                                                                                                                                                • #96809
                                                                                                                                                                                  lorenzo.pantieri
                                                                                                                                                                                  Partecipante
                                                                                                                                                                                    Up
                                                                                                                                                                                    0
                                                                                                                                                                                    Down
                                                                                                                                                                                    ::

                                                                                                                                                                                    cfiandra” post=99245
                                                                                                                                                                                    Ni, nel senso che forse ti sei perso TikZ 3.0.0 nel qual caso c’è qualche problema di compatibilità per pochissime cose (molto specifiche, per cui da utente normale non te ne dovresti accorgere). Certo, non considero tutto l’universo di classi e pacchetti per cui forse ad ora non ti conviene aggiornare.

                                                                                                                                                                                    Quello che puoi fare è provare `\pgfplotsset{compat=1.}` dove [tt][/tt] varia da 6 a 9 (mi spiace ma non ricordo esattamente l’ultima versione di pgfplots in TeXlive 2013: oltretutto dipende anche da quando hai aggiornato l’ultima volta).

                                                                                                                                                                                    Provato. Accetta senza problemi:
                                                                                                                                                                                    `\pgfplotsset{compat=1.9}`
                                                                                                                                                                                    ma \div ancora non lo digerisce. Accidenti, mi sembra davvero il colmo dover aggiornare una distribuzione perché non inserisce un carattere. 🙁

                                                                                                                                                                                  • #96810
                                                                                                                                                                                    lorenzo.pantieri
                                                                                                                                                                                    Partecipante
                                                                                                                                                                                      Up
                                                                                                                                                                                      0
                                                                                                                                                                                      Down
                                                                                                                                                                                      ::


                                                                                                                                                                                      Allora gente, il problema è proprio quel \div, accidenti. Se compilo
                                                                                                                                                                                      `\documentclass{standalone}
                                                                                                                                                                                      \usepackage{pgfplots}

                                                                                                                                                                                      \begin{document}
                                                                                                                                                                                      \begin{tikzpicture}[font=\small]
                                                                                                                                                                                      \begin{axis}[ybar,ymin=0,ymax=17,%enlargelimits,
                                                                                                                                                                                      height=6.5cm,
                                                                                                                                                                                      ymajorgrids=true,
                                                                                                                                                                                      xlabel={Altezza in cm},
                                                                                                                                                                                      ylabel={Numero di alunni},
                                                                                                                                                                                      symbolic x coords={
                                                                                                                                                                                      $150\div154$, $155\div159$, $160\div164$, $165\div169$,
                                                                                                                                                                                      $170\div174$, $175\div179$, $180\div184$, $185\div189$},
                                                                                                                                                                                      xtick=data, nodes near coords,
                                                                                                                                                                                      nodes near coords align={vertical},
                                                                                                                                                                                      xticklabel style={rotate=45, anchor=18},
                                                                                                                                                                                      xtick pos=left]
                                                                                                                                                                                      \addplot [fill=cyan,draw=black] coordinates{
                                                                                                                                                                                      ($150\div154$,3) ($155\div159$,6) ($160\div164$,9) ($165\div169$,15)
                                                                                                                                                                                      ($170\div174$,12) ($175\div179$,6) ($180\div184$,6) ($185\div189$,3)};
                                                                                                                                                                                      \end{axis}
                                                                                                                                                                                      \end{tikzpicture}
                                                                                                                                                                                      \end{document}`
                                                                                                                                                                                      ricevo un errore.
                                                                                                                                                                                      `Package pgfplots Warning: running in backwards compatibility mode
                                                                                                                                                                                      (unsuitable t
                                                                                                                                                                                      ick labels; missing features). Consider writing
                                                                                                                                                                                      \pgfplotsset{compat=1.9} into y
                                                                                                                                                                                      our preamble.
                                                                                                                                                                                      on input line 4.

                                                                                                                                                                                      ./pr.tex:17: Missing \endcsname inserted.

                                                                                                                                                                                      \div
                                                                                                                                                                                      l.17 xtick pos=left]

                                                                                                                                                                                      ?
                                                                                                                                                                                      Process aborted`
                                                                                                                                                                                      Se procedo comunque con la compilazione (devo premere diverse volte Invio, perché a ogni \div la compilazione si ferma), in qualche modo la compilazione va in porto e il grafico viene generato.

                                                                                                                                                                                      Potete vederlo a pagina 8 di questo lavoro:

                                                                                                                                                                                      http://www.lorenzopantieri.net/Matematica_files/Prima.pdf

                                                                                                                                                                                      Le etichette oblique sono un po’ pallide, inoltre.

                                                                                                                                                                                      In attesa di aggiornare la mia distribuzione mi posso accontentare. Se avete comunque suggerimenti per metterci una pezza senza aggiornare, sono qui! 🙂

                                                                                                                                                                                    • #96811
                                                                                                                                                                                      lorenzo.pantieri
                                                                                                                                                                                      Partecipante
                                                                                                                                                                                        Up
                                                                                                                                                                                        0
                                                                                                                                                                                        Down
                                                                                                                                                                                        ::


                                                                                                                                                                                        Ciao a tutti! Liverpool (che non so più come ringraziare) ha fornito la soluzione.
                                                                                                                                                                                        `\begin{tikzpicture}[font=\small]
                                                                                                                                                                                        \begin{axis}[ybar,ymin=0,ymax=17,
                                                                                                                                                                                        height=6.5cm,
                                                                                                                                                                                        ymajorgrids=true,
                                                                                                                                                                                        xlabel={Altezza in cm},
                                                                                                                                                                                        ylabel={Numero di alunni},
                                                                                                                                                                                        xtick={1,…,8},
                                                                                                                                                                                        xticklabels={%
                                                                                                                                                                                        $150\div154$, $155\div159$, $160\div164$, $165\div169$,
                                                                                                                                                                                        $170\div174$, $175\div179$, $180\div184$, $185\div189$},
                                                                                                                                                                                        xticklabel style={rotate=45, anchor=18},
                                                                                                                                                                                        xtick pos=left]
                                                                                                                                                                                        \addplot [fill=cyan,draw=black] coordinates{
                                                                                                                                                                                        (1,3) (2,6) (3,9) (4,15) (5,12) (6,6) (7,6) (8,3)};
                                                                                                                                                                                        \end{axis}
                                                                                                                                                                                        \end{tikzpicture}`
                                                                                                                                                                                        Il codice non usa le coordinate simboliche, ma produce un risultato perfetto! 🙂

                                                                                                                                                                                      • #96812
                                                                                                                                                                                        Liverpool
                                                                                                                                                                                        Partecipante
                                                                                                                                                                                          Up
                                                                                                                                                                                          0
                                                                                                                                                                                          Down
                                                                                                                                                                                          ::

                                                                                                                                                                                          lorenzo.pantieri” post=99247Le etichette oblique sono un po’ pallide, inoltre.

                                                                                                                                                                                          Sul mio schermo le etichette oblique non sono affatto pallide. Se campiono il colore, mi dice RGB=(0,0,0) perciò sono nere. Che sia un problema del tuo visualizzatore oppure un effetto ottico?

                                                                                                                                                                                        • #96813
                                                                                                                                                                                          lorenzo.pantieri
                                                                                                                                                                                          Partecipante
                                                                                                                                                                                            Up
                                                                                                                                                                                            0
                                                                                                                                                                                            Down
                                                                                                                                                                                            ::

                                                                                                                                                                                            lorenzo.pantieri” post=99248
                                                                                                                                                                                            Il codice non usa le coordinate simboliche, ma produce un risultato perfetto!

                                                                                                                                                                                            Mi correggo. Il risultato non è perfetto.
                                                                                                                                                                                            `\begin{tikzpicture}[font=\small]
                                                                                                                                                                                            \begin{axis}[ybar,ymin=0,ymax=17,
                                                                                                                                                                                            height=6.5cm,
                                                                                                                                                                                            ymajorgrids=true,
                                                                                                                                                                                            xlabel={Altezza in cm},
                                                                                                                                                                                            ylabel={Numero di alunni},
                                                                                                                                                                                            xtick={1,…,8},
                                                                                                                                                                                            xticklabels={%
                                                                                                                                                                                            $150\div154$, $155\div159$, $160\div164$, $165\div169$,
                                                                                                                                                                                            $170\div174$, $175\div179$, $180\div184$, $185\div189$},
                                                                                                                                                                                            nodes near coords align={vertical}, %questa riga l'ho aggiunta io, non so se ba bene!
                                                                                                                                                                                            xticklabel style={rotate=45, anchor=18},
                                                                                                                                                                                            xtick pos=left]
                                                                                                                                                                                            \addplot [fill=cyan,draw=black] coordinates{
                                                                                                                                                                                            (1,3) (2,6) (3,9) (4,15) (5,12) (6,6) (7,6) (8,3)};
                                                                                                                                                                                            \end{axis}
                                                                                                                                                                                            \end{tikzpicture}`
                                                                                                                                                                                            Mancano le indicazioni (i numeri!) sopra le barre.

                                                                                                                                                                                            Come rimediare?

                                                                                                                                                                                            Grazie!

                                                                                                                                                                                          • #96814
                                                                                                                                                                                            Liverpool
                                                                                                                                                                                            Partecipante
                                                                                                                                                                                              Up
                                                                                                                                                                                              0
                                                                                                                                                                                              Down
                                                                                                                                                                                              ::

                                                                                                                                                                                              lorenzo.pantieri” post=99265Mancano le indicazioni (i numeri!) sopra le barre.

                                                                                                                                                                                              Aggiungi l’opzione [tt]nodes near coords[/tt].

                                                                                                                                                                                            • #96815
                                                                                                                                                                                              lorenzo.pantieri
                                                                                                                                                                                              Partecipante
                                                                                                                                                                                                Up
                                                                                                                                                                                                0
                                                                                                                                                                                                Down
                                                                                                                                                                                                ::

                                                                                                                                                                                                Liverpool” post=99269

                                                                                                                                                                                                Mancano le indicazioni (i numeri!) sopra le barre.

                                                                                                                                                                                                Aggiungi l’opzione [tt]nodes near coords[/tt].

                                                                                                                                                                                                Ho provato, ma i numeri in cima alle barre non vengono aggiunti. 🙂
                                                                                                                                                                                                `\begin{tikzpicture}[font=\small]
                                                                                                                                                                                                \begin{axis}[ybar,ymin=0,ymax=7,%enlargelimits,
                                                                                                                                                                                                height=6.5cm,
                                                                                                                                                                                                ymajorgrids=true,
                                                                                                                                                                                                xlabel={Altezza in cm},
                                                                                                                                                                                                ylabel={Numero di alunni},
                                                                                                                                                                                                symbolic x coords={$158$,$160$,$165$,$168$,$174$,$176$,$184$},
                                                                                                                                                                                                xtick=data,nodes near coords,
                                                                                                                                                                                                % nodes near coords align={vertical},
                                                                                                                                                                                                nodes near coords,
                                                                                                                                                                                                xtick pos=left]
                                                                                                                                                                                                \addplot [fill=cyan,draw=black] coordinates{
                                                                                                                                                                                                ($158$,1) ($160$,2) ($165$,6) ($168$,3) ($174$,4) ($176$,3) ($184$,1)};
                                                                                                                                                                                                \end{axis}
                                                                                                                                                                                                \end{tikzpicture}`

                                                                                                                                                                                              • #96816
                                                                                                                                                                                                lorenzo.pantieri
                                                                                                                                                                                                Partecipante
                                                                                                                                                                                                  Up
                                                                                                                                                                                                  0
                                                                                                                                                                                                  Down
                                                                                                                                                                                                  ::

                                                                                                                                                                                                  Liverpool” post=99269
                                                                                                                                                                                                  Aggiungi l’opzione [tt]nodes near coords[/tt].

                                                                                                                                                                                                  Per-fet-to!! 🙂 Grazie ancora Luigi! 🙂

                                                                                                                                                                                                • #96817
                                                                                                                                                                                                  lorenzo.pantieri
                                                                                                                                                                                                  Partecipante
                                                                                                                                                                                                    Up
                                                                                                                                                                                                    0
                                                                                                                                                                                                    Down
                                                                                                                                                                                                    ::


                                                                                                                                                                                                    Buongiorno e buona domenica a tutti.

                                                                                                                                                                                                    Sono alle prese con l’immagine di una bilancia, e la vorrei migliorare dandole un po’ di tridimensionalità. Provo a spiegarmi con un codice compilabile.
                                                                                                                                                                                                    `\documentclass{article}
                                                                                                                                                                                                    \usepackage[dvipsnames]{xcolor}
                                                                                                                                                                                                    \usepackage{tikz,subfig}
                                                                                                                                                                                                    \usetikzlibrary{shapes,shapes.geometric}

                                                                                                                                                                                                    \begin{document}

                                                                                                                                                                                                    \newcommand{\base}{%
                                                                                                                                                                                                    \filldraw[fill=black!90, draw=gray!80,rounded corners,shading=radial, inner color=white, outer color=gray!90]%
                                                                                                                                                                                                    (-2.4cm, -0.2cm) rectangle (2.4cm,0.4cm);
                                                                                                                                                                                                    }

                                                                                                                                                                                                    \newcommand{\aste}{%
                                                                                                                                                                                                    \fill[fill=black!90,rounded corners,shading=radial, inner color=white, outer color=gray!90]%
                                                                                                                                                                                                    (-1.25mm,3mm) rectangle (1.25mm,4.3cm);
                                                                                                                                                                                                    }

                                                                                                                                                                                                    \newcommand{\disco}{%
                                                                                                                                                                                                    \filldraw[fill=gray!20,draw=gray, rounded corners, shade,shading=radial, inner color=white, outer color=blue!50]%
                                                                                                                                                                                                    (-.6cm, .4cm) rectangle (.6cm,0.8cm);
                                                                                                                                                                                                    }
                                                                                                                                                                                                    \begin{tikzpicture}[scale=.7,font=\small]
                                                                                                                                                                                                    \foreach \n/\a in {-15.25mm,0,15.25mm}{
                                                                                                                                                                                                    \begin{scope}[xshift=\a]
                                                                                                                                                                                                    \aste
                                                                                                                                                                                                    \end{scope}
                                                                                                                                                                                                    }

                                                                                                                                                                                                    \foreach \n/\x in {1/0cm}{%
                                                                                                                                                                                                    \begin{scope}[xshift=\x]
                                                                                                                                                                                                    \base
                                                                                                                                                                                                    \end{scope}
                                                                                                                                                                                                    }

                                                                                                                                                                                                    \foreach \n/\y in {0,.4cm,…,3.2cm}{%
                                                                                                                                                                                                    \begin{scope}[xshift=15.75mm,yshift=\y]
                                                                                                                                                                                                    \disco
                                                                                                                                                                                                    \end{scope}
                                                                                                                                                                                                    }
                                                                                                                                                                                                    \end{tikzpicture}

                                                                                                                                                                                                    \begin{figure}
                                                                                                                                                                                                    \centering
                                                                                                                                                                                                    \subfloat[][\label{fig:mattone1}]{
                                                                                                                                                                                                    \begin{tikzpicture}[font=\small,x=5mm, y=5mm, scale=.75]
                                                                                                                                                                                                    \begin{scope}[fill=lightgray, draw=darkgray]
                                                                                                                                                                                                    \filldraw (0,0) rectangle (4,1);
                                                                                                                                                                                                    \filldraw[rounded corners=2] (1,1.1)rectangle (3,1.6);
                                                                                                                                                                                                    \filldraw (1.8,1.7) rectangle (2.3,8);
                                                                                                                                                                                                    \filldraw[rounded corners=2] (1.5,8.1)rectangle (2.6,8.6);
                                                                                                                                                                                                    \filldraw (-4,8.7) rectangle (8,9.1);
                                                                                                                                                                                                    \filldraw[rounded corners=2] (1.8,8.8)rectangle (2.3,9.8);

                                                                                                                                                                                                    \node[name=c1,shape=semicircle,shape border rotate=180, inner sep=3.75mm,draw=darkgray, fill=lightgray] at (-4,3)
                                                                                                                                                                                                    {};
                                                                                                                                                                                                    \node (a) at (-4,8.7) {};
                                                                                                                                                                                                    \draw (a.center)–(c1.arc start);
                                                                                                                                                                                                    \draw (a.center)–(c1.arc end);

                                                                                                                                                                                                    \node[name=c2,shape=semicircle,shape border rotate=180, inner sep=3.75mm,draw=darkgray, fill=lightgray] at (8,3)
                                                                                                                                                                                                    {};
                                                                                                                                                                                                    \node (b) at (8,8.7) {};
                                                                                                                                                                                                    \draw (b.center)–(c2.arc start);
                                                                                                                                                                                                    \draw (b.center)–(c2.arc end);

                                                                                                                                                                                                    \filldraw[fill=BrickRed, draw=BrickRed](-5,4) rectangle (-3,5);
                                                                                                                                                                                                    \filldraw[fill=BrickRed, draw=BrickRed](7,4) rectangle (8,5);
                                                                                                                                                                                                    \filldraw[fill=white] (8.3,4) rectangle (9.7,5.1);
                                                                                                                                                                                                    \filldraw[fill=white] (8.6,5.1) rectangle (9.4,5.4);
                                                                                                                                                                                                    \node () at (9,4.5) {$1$kg};
                                                                                                                                                                                                    \end{scope}
                                                                                                                                                                                                    \end{tikzpicture}
                                                                                                                                                                                                    }
                                                                                                                                                                                                    \qquad
                                                                                                                                                                                                    \subfloat[][\label{fig:mattone2}]{
                                                                                                                                                                                                    \begin{tikzpicture}[font=\small,x=5mm, y=5mm, scale=.75]
                                                                                                                                                                                                    \begin{scope}[fill=lightgray, draw=darkgray] %, xshift=10cm]
                                                                                                                                                                                                    \filldraw (0,0) rectangle (4,1);
                                                                                                                                                                                                    \filldraw[rounded corners=2] (1,1.1)rectangle (3,1.6);
                                                                                                                                                                                                    \filldraw (1.8,1.7) rectangle (2.3,8);
                                                                                                                                                                                                    \filldraw[rounded corners=2] (1.5,8.1)rectangle (2.6,8.6);
                                                                                                                                                                                                    \filldraw (-4,8.7) rectangle (8,9.1);
                                                                                                                                                                                                    \filldraw[rounded corners=2] (1.8,8.8)rectangle (2.3,9.8);

                                                                                                                                                                                                    \node[name=c1,shape=semicircle,shape border rotate=180, inner sep=3.75mm,draw=darkgray, fill=lightgray] at (-4,3)
                                                                                                                                                                                                    {};
                                                                                                                                                                                                    \node (a) at (-4,8.7) {};
                                                                                                                                                                                                    \draw (a.center)–(c1.arc start);
                                                                                                                                                                                                    \draw (a.center)–(c1.arc end);

                                                                                                                                                                                                    \node[name=c2,shape=semicircle,shape border rotate=180, inner sep=3.75mm,draw=darkgray, fill=lightgray] at (8,3)
                                                                                                                                                                                                    {};
                                                                                                                                                                                                    \node (b) at (8,8.7) {};
                                                                                                                                                                                                    \draw (b.center)–(c2.arc start);
                                                                                                                                                                                                    \draw (b.center)–(c2.arc end);

                                                                                                                                                                                                    \filldraw[fill=BrickRed, draw=BrickRed](-4.5,4) rectangle (-3.5,5);
                                                                                                                                                                                                    \filldraw[fill=white] (7.3,4) rectangle (8.7,5.1);
                                                                                                                                                                                                    \filldraw[fill=white] (7.6,5.1) rectangle (8.4,5.4);
                                                                                                                                                                                                    \node () at (8,4.5) {$1$kg};
                                                                                                                                                                                                    \end{scope}
                                                                                                                                                                                                    \end{tikzpicture}
                                                                                                                                                                                                    }
                                                                                                                                                                                                    \caption{Un mattone pesa un chilo più mezzo mattone. Quanto pesa un mattone?}
                                                                                                                                                                                                    \label{fig:mattone}
                                                                                                                                                                                                    \end{figure}
                                                                                                                                                                                                    \end{document}`
                                                                                                                                                                                                    La prima immagine riproduce un pallottoliere: come vedete le sfumature le danno una bella tridimensionalità.

                                                                                                                                                                                                    Invece la secondo immagine, che ritrae una bilancia, è molto piatta. Mi suggerite come modificare il codice della bilancia per avere un effetto di sfumatura analogo a quello del pallottoliere?

                                                                                                                                                                                                    Grazie anticipate!
                                                                                                                                                                                                    L.

                                                                                                                                                                                                    P.S. Tutti i suggerimenti per migliorare il codice sono più che benvenuti… 😉

                                                                                                                                                                                                  • #96818
                                                                                                                                                                                                    lorenzo.pantieri
                                                                                                                                                                                                    Partecipante
                                                                                                                                                                                                      Up
                                                                                                                                                                                                      0
                                                                                                                                                                                                      Down
                                                                                                                                                                                                      ::


                                                                                                                                                                                                      Ecco altro pane per voi guru di TikZ! Il seguente codice compilabile riproduce il monte Everest e la fossa delle Marianne, stilizzati. Vorrei migliorare il disegno, rendendo più evidente che si tratta di un monte e di una fossa sotto il livello del mare. In particolare vorrei:
                                                                                                                                                                                                      1. colorare di bianco/azzurrino la cima dell’Everest, cercando di dare l’idea di una cima innevata;
                                                                                                                                                                                                      2. usare una sfumatura dal blu al blu scurissimo per la fossa man mano che si scende, per dare l’idea di un mare sempre più profondo.
                                                                                                                                                                                                      `\documentclass{article}
                                                                                                                                                                                                      \usepackage{tikz}

                                                                                                                                                                                                      \begin{document}

                                                                                                                                                                                                      \begin{tikzpicture}[scale=.9]
                                                                                                                                                                                                      % Disegna Everest
                                                                                                                                                                                                      \filldraw [fill=cyan, draw=black] (0,0)– (4mm,7mm)– (10mm,14mm)–(13mm,16mm)– (15mm,19mm)–(17mm,17mm)–%
                                                                                                                                                                                                      (19mm,16.5mm)–(24mm,0);
                                                                                                                                                                                                      % Disegna Fossa delle Marianne
                                                                                                                                                                                                      \filldraw [fill=purple, draw=black](28mm,0)–(31mm,-6mm)–(35mm,-8mm)–(37mm,-15mm)–(42mm,-20mm)– (49mm,-21mm)–%
                                                                                                                                                                                                      (51mm, -17mm)–(52mm, -5mm)–(55mm,0);
                                                                                                                                                                                                      % Disegna il livello del mare
                                                                                                                                                                                                      \draw [thick] (-5mm,0) — (60mm,0);

                                                                                                                                                                                                      \begin{scope}[font=\small]
                                                                                                                                                                                                      % Posiziona altezze
                                                                                                                                                                                                      \node

                                                                                                                                                                                                      (0)at (-5mm,0) {$0$~m};
                                                                                                                                                                                                      \node [above](everest) at (14mm,21mm) {$+8855$~m};
                                                                                                                                                                                                      \node [below](marianne) at (49mm,-21mm) {$-10\,916$~m};
                                                                                                                                                                                                      % Posiziona etichette
                                                                                                                                                                                                      \node (testo1) at (35mm,16mm) {Monte Everest};
                                                                                                                                                                                                      \node (testo2) at (12mm,-5mm) {Livello del mare};
                                                                                                                                                                                                      \node (testo3) at (18mm,-17mm) {Fossa delle Marianne};
                                                                                                                                                                                                      \end{scope}
                                                                                                                                                                                                      % Disegna frecce
                                                                                                                                                                                                      \draw [<-,purple] (everest) .. controls +(right:10mm) and +(up:10mm) .. node[]{} (testo1); \draw [<-](0)..controls +(down:5mm) and +(left:19mm)..node[]{} (testo2); \draw [<-, cyan](marianne)..controls +(left:10mm) and +(down:10mm)..node[]{} (testo3); \end{tikzpicture} \end{document}` Al solito, tutti i vostri suggerimenti per migliorare il codice sono più che benvenuti! L.

                                                                                                                                                                                                    • #96819
                                                                                                                                                                                                      Up
                                                                                                                                                                                                      0
                                                                                                                                                                                                      Down
                                                                                                                                                                                                      ::

                                                                                                                                                                                                      lorenzo.pantieri” post=99529Buongiorno e buona domenica a tutti.

                                                                                                                                                                                                      Sono alle prese con l’immagine di una bilancia, e la vorrei migliorare dandole un po’ di tridimensionalità. Provo a spiegarmi con un codice compilabile.
                                                                                                                                                                                                      `\documentclass{article}
                                                                                                                                                                                                      \usepackage[dvipsnames]{xcolor}
                                                                                                                                                                                                      \usepackage{tikz,subfig}
                                                                                                                                                                                                      \usetikzlibrary{shapes,shapes.geometric}

                                                                                                                                                                                                      \begin{document}

                                                                                                                                                                                                      \newcommand{\base}{%
                                                                                                                                                                                                      \filldraw[fill=black!90, draw=gray!80,rounded corners,shading=radial, inner color=white, outer color=gray!90]%
                                                                                                                                                                                                      (-2.4cm, -0.2cm) rectangle (2.4cm,0.4cm);
                                                                                                                                                                                                      }

                                                                                                                                                                                                      \newcommand{\aste}{%
                                                                                                                                                                                                      \fill[fill=black!90,rounded corners,shading=radial, inner color=white, outer color=gray!90]%
                                                                                                                                                                                                      (-1.25mm,3mm) rectangle (1.25mm,4.3cm);
                                                                                                                                                                                                      }

                                                                                                                                                                                                      \newcommand{\disco}{%
                                                                                                                                                                                                      \filldraw[fill=gray!20,draw=gray, rounded corners, shade,shading=radial, inner color=white, outer color=blue!50]%
                                                                                                                                                                                                      (-.6cm, .4cm) rectangle (.6cm,0.8cm);
                                                                                                                                                                                                      }
                                                                                                                                                                                                      \begin{tikzpicture}[scale=.7,font=\small]
                                                                                                                                                                                                      \foreach \n/\a in {-15.25mm,0,15.25mm}{
                                                                                                                                                                                                      \begin{scope}[xshift=\a]
                                                                                                                                                                                                      \aste
                                                                                                                                                                                                      \end{scope}
                                                                                                                                                                                                      }

                                                                                                                                                                                                      \foreach \n/\x in {1/0cm}{%
                                                                                                                                                                                                      \begin{scope}[xshift=\x]
                                                                                                                                                                                                      \base
                                                                                                                                                                                                      \end{scope}
                                                                                                                                                                                                      }

                                                                                                                                                                                                      \foreach \n/\y in {0,.4cm,…,3.2cm}{%
                                                                                                                                                                                                      \begin{scope}[xshift=15.75mm,yshift=\y]
                                                                                                                                                                                                      \disco
                                                                                                                                                                                                      \end{scope}
                                                                                                                                                                                                      }
                                                                                                                                                                                                      \end{tikzpicture}

                                                                                                                                                                                                      \begin{figure}
                                                                                                                                                                                                      \centering
                                                                                                                                                                                                      \subfloat[][\label{fig:mattone1}]{
                                                                                                                                                                                                      \begin{tikzpicture}[font=\small,x=5mm, y=5mm, scale=.75]
                                                                                                                                                                                                      \begin{scope}[fill=lightgray, draw=darkgray]
                                                                                                                                                                                                      \filldraw (0,0) rectangle (4,1);
                                                                                                                                                                                                      \filldraw[rounded corners=2] (1,1.1)rectangle (3,1.6);
                                                                                                                                                                                                      \filldraw (1.8,1.7) rectangle (2.3,8);
                                                                                                                                                                                                      \filldraw[rounded corners=2] (1.5,8.1)rectangle (2.6,8.6);
                                                                                                                                                                                                      \filldraw (-4,8.7) rectangle (8,9.1);
                                                                                                                                                                                                      \filldraw[rounded corners=2] (1.8,8.8)rectangle (2.3,9.8);

                                                                                                                                                                                                      \node[name=c1,shape=semicircle,shape border rotate=180, inner sep=3.75mm,draw=darkgray, fill=lightgray] at (-4,3)
                                                                                                                                                                                                      {};
                                                                                                                                                                                                      \node (a) at (-4,8.7) {};
                                                                                                                                                                                                      \draw (a.center)–(c1.arc start);
                                                                                                                                                                                                      \draw (a.center)–(c1.arc end);

                                                                                                                                                                                                      \node[name=c2,shape=semicircle,shape border rotate=180, inner sep=3.75mm,draw=darkgray, fill=lightgray] at (8,3)
                                                                                                                                                                                                      {};
                                                                                                                                                                                                      \node (b) at (8,8.7) {};
                                                                                                                                                                                                      \draw (b.center)–(c2.arc start);
                                                                                                                                                                                                      \draw (b.center)–(c2.arc end);

                                                                                                                                                                                                      \filldraw[fill=BrickRed, draw=BrickRed](-5,4) rectangle (-3,5);
                                                                                                                                                                                                      \filldraw[fill=BrickRed, draw=BrickRed](7,4) rectangle (8,5);
                                                                                                                                                                                                      \filldraw[fill=white] (8.3,4) rectangle (9.7,5.1);
                                                                                                                                                                                                      \filldraw[fill=white] (8.6,5.1) rectangle (9.4,5.4);
                                                                                                                                                                                                      \node () at (9,4.5) {$1$kg};
                                                                                                                                                                                                      \end{scope}
                                                                                                                                                                                                      \end{tikzpicture}
                                                                                                                                                                                                      }
                                                                                                                                                                                                      \qquad
                                                                                                                                                                                                      \subfloat[][\label{fig:mattone2}]{
                                                                                                                                                                                                      \begin{tikzpicture}[font=\small,x=5mm, y=5mm, scale=.75]
                                                                                                                                                                                                      \begin{scope}[fill=lightgray, draw=darkgray] %, xshift=10cm]
                                                                                                                                                                                                      \filldraw (0,0) rectangle (4,1);
                                                                                                                                                                                                      \filldraw[rounded corners=2] (1,1.1)rectangle (3,1.6);
                                                                                                                                                                                                      \filldraw (1.8,1.7) rectangle (2.3,8);
                                                                                                                                                                                                      \filldraw[rounded corners=2] (1.5,8.1)rectangle (2.6,8.6);
                                                                                                                                                                                                      \filldraw (-4,8.7) rectangle (8,9.1);
                                                                                                                                                                                                      \filldraw[rounded corners=2] (1.8,8.8)rectangle (2.3,9.8);

                                                                                                                                                                                                      \node[name=c1,shape=semicircle,shape border rotate=180, inner sep=3.75mm,draw=darkgray, fill=lightgray] at (-4,3)
                                                                                                                                                                                                      {};
                                                                                                                                                                                                      \node (a) at (-4,8.7) {};
                                                                                                                                                                                                      \draw (a.center)–(c1.arc start);
                                                                                                                                                                                                      \draw (a.center)–(c1.arc end);

                                                                                                                                                                                                      \node[name=c2,shape=semicircle,shape border rotate=180, inner sep=3.75mm,draw=darkgray, fill=lightgray] at (8,3)
                                                                                                                                                                                                      {};
                                                                                                                                                                                                      \node (b) at (8,8.7) {};
                                                                                                                                                                                                      \draw (b.center)–(c2.arc start);
                                                                                                                                                                                                      \draw (b.center)–(c2.arc end);

                                                                                                                                                                                                      \filldraw[fill=BrickRed, draw=BrickRed](-4.5,4) rectangle (-3.5,5);
                                                                                                                                                                                                      \filldraw[fill=white] (7.3,4) rectangle (8.7,5.1);
                                                                                                                                                                                                      \filldraw[fill=white] (7.6,5.1) rectangle (8.4,5.4);
                                                                                                                                                                                                      \node () at (8,4.5) {$1$kg};
                                                                                                                                                                                                      \end{scope}
                                                                                                                                                                                                      \end{tikzpicture}
                                                                                                                                                                                                      }
                                                                                                                                                                                                      \caption{Un mattone pesa un chilo più mezzo mattone. Quanto pesa un mattone?}
                                                                                                                                                                                                      \label{fig:mattone}
                                                                                                                                                                                                      \end{figure}
                                                                                                                                                                                                      \end{document}`
                                                                                                                                                                                                      La prima immagine riproduce un pallottoliere: come vedete le sfumature le danno una bella tridimensionalità.

                                                                                                                                                                                                      Invece la secondo immagine, che ritrae una bilancia, è molto piatta. Mi suggerite come modificare il codice della bilancia per avere un effetto di sfumatura analogo a quello del pallottoliere?

                                                                                                                                                                                                      Grazie anticipate!
                                                                                                                                                                                                      L.

                                                                                                                                                                                                      P.S. Tutti i suggerimenti per migliorare il codice sono più che benvenuti… 😉

                                                                                                                                                                                                      Potresti provare con una sfumatura: `
                                                                                                                                                                                                      \begin{tikzpicture}[font=\small,x=5mm, y=5mm, scale=.75]
                                                                                                                                                                                                      \begin{scope}[draw=darkgray]
                                                                                                                                                                                                      \filldraw[top color=lightgray!40,bottom color=lightgray, shading angle=30] (0,0) rectangle (4,1);
                                                                                                                                                                                                      \filldraw[top color=lightgray!40,bottom color=lightgray, shading angle=45,rounded corners=2] (1,1.1)rectangle (3,1.6);
                                                                                                                                                                                                      \filldraw[top color=lightgray!40,bottom color=lightgray, shading angle=45,] (1.8,1.7) rectangle (2.3,8);
                                                                                                                                                                                                      \filldraw[top color=lightgray!40,bottom color=lightgray, shading angle=45,rounded corners=2] (1.5,8.1)rectangle (2.6,8.6);
                                                                                                                                                                                                      \filldraw[top color=lightgray!40,bottom color=lightgray, shading angle=45,] (-4,8.7) rectangle (8,9.1);
                                                                                                                                                                                                      \filldraw[rounded corners=2,top color=lightgray!40,bottom color=lightgray, shading angle=45,] (1.8,8.8)rectangle (2.3,9.8);

                                                                                                                                                                                                      \node[name=c1,shape=semicircle,shape border rotate=180, inner sep=3.75mm,draw=darkgray, top color=lightgray!30,bottom color=lightgray, shading angle=45,] at (-4,3)
                                                                                                                                                                                                      {};
                                                                                                                                                                                                      \node (a) at (-4,8.7) {};
                                                                                                                                                                                                      \draw (a.center)–(c1.arc start);
                                                                                                                                                                                                      \draw (a.center)–(c1.arc end);

                                                                                                                                                                                                      \node[name=c2,shape=semicircle,shape border rotate=180, inner sep=3.75mm,draw=darkgray, top color=lightgray!50,bottom color=lightgray, shading angle=45,] at (8,3)
                                                                                                                                                                                                      {};
                                                                                                                                                                                                      \node (b) at (8,8.7) {};
                                                                                                                                                                                                      \draw (b.center)–(c2.arc start);
                                                                                                                                                                                                      \draw (b.center)–(c2.arc end);

                                                                                                                                                                                                      \filldraw[fill=BrickRed, draw=BrickRed](-5,4) rectangle (-3,5);
                                                                                                                                                                                                      \filldraw[fill=BrickRed, draw=BrickRed](7,4) rectangle (8,5);
                                                                                                                                                                                                      \filldraw[fill=white] (8.3,4) rectangle (9.7,5.1);
                                                                                                                                                                                                      \filldraw[fill=white] (8.6,5.1) rectangle (9.4,5.4);
                                                                                                                                                                                                      \node () at (9,4.5) {$1$kg};
                                                                                                                                                                                                      \end{scope}
                                                                                                                                                                                                      \end{tikzpicture}
                                                                                                                                                                                                      ` Attenzione: in questo caso inserire le varie opzioni direttamente in scope produrrebbe un risultato sgradito, un riempimento nero. Però, puoi definire uno stile per [tt]top color=lightgray!40,bottom color=lightgray, shading angle=45[/tt] e utilizzarlo di conseguenza (a me è tornato più comodo fare copia e incolla, ma appesantisce parecchio il codice).

                                                                                                                                                                                                      Ciao
                                                                                                                                                                                                      Claudio

                                                                                                                                                                                                    • #96820
                                                                                                                                                                                                      Up
                                                                                                                                                                                                      0
                                                                                                                                                                                                      Down
                                                                                                                                                                                                      ::


                                                                                                                                                                                                      Fossa delle Marianne e Monte Everest.
                                                                                                                                                                                                      `
                                                                                                                                                                                                      \documentclass{article}
                                                                                                                                                                                                      \usepackage{tikz}
                                                                                                                                                                                                      \usetikzlibrary{shadings}
                                                                                                                                                                                                      \begin{document}

                                                                                                                                                                                                      \begin{tikzpicture}[scale=.9]
                                                                                                                                                                                                      % Disegna Everest
                                                                                                                                                                                                      \filldraw [fill=cyan] (0,0)– (4mm,7mm)– (10mm,14mm)–(13mm,16mm)– (15mm,19mm)–(17mm,17mm)–%
                                                                                                                                                                                                      (19mm,16.5mm)–(24mm,0);
                                                                                                                                                                                                      % Vetta innevata
                                                                                                                                                                                                      \filldraw[fill=white] (10mm,14mm)–(13mm,16mm)– (15mm,19mm)–(17mm,17mm)–%
                                                                                                                                                                                                      (19mm,16.5mm);
                                                                                                                                                                                                      % Disegna Fossa delle Marianne!
                                                                                                                                                                                                      \filldraw [top color=blue, bottom color=teal, draw=black](28mm,0)–(31mm,-6mm)–(35mm,-8mm)–(37mm,-15mm)–(42mm,-20mm)– (49mm,-21mm)–%
                                                                                                                                                                                                      (51mm, -17mm)–(52mm, -5mm)–(55mm,0);
                                                                                                                                                                                                      % Disegna il livello del mare
                                                                                                                                                                                                      \draw [thick] (-5mm,0) — (60mm,0);

                                                                                                                                                                                                      \begin{scope}[font=\small]
                                                                                                                                                                                                      % Posiziona altezze
                                                                                                                                                                                                      \node

                                                                                                                                                                                                      (0)at (-5mm,0) {$0$~m};
                                                                                                                                                                                                      \node [above](everest) at (14mm,21mm) {$+8855$~m};
                                                                                                                                                                                                      \node [below](marianne) at (49mm,-21mm) {$-10\,916$~m};
                                                                                                                                                                                                      % Posiziona etichette
                                                                                                                                                                                                      \node (testo1) at (35mm,16mm) {Monte Everest};
                                                                                                                                                                                                      \node (testo2) at (12mm,-5mm) {Livello del mare};
                                                                                                                                                                                                      \node (testo3) at (18mm,-17mm) {Fossa delle Marianne};
                                                                                                                                                                                                      \end{scope}
                                                                                                                                                                                                      % Disegna frecce
                                                                                                                                                                                                      \draw [<-,purple] (everest) .. controls +(right:10mm) and +(up:10mm) .. node[]{} (testo1); \draw [<-](0)..controls +(down:5mm) and +(left:19mm)..node[]{} (testo2); \draw [<-, cyan](marianne)..controls +(left:10mm) and +(down:10mm)..node[]{} (testo3); \end{tikzpicture} \end{document} `

                                                                                                                                                                                                    • #96821
                                                                                                                                                                                                      Up
                                                                                                                                                                                                      0
                                                                                                                                                                                                      Down
                                                                                                                                                                                                      ::


                                                                                                                                                                                                      Per la bilancia ti propongo questa versione.
                                                                                                                                                                                                      `
                                                                                                                                                                                                      \documentclass{article}
                                                                                                                                                                                                      \usepackage[dvipsnames]{xcolor}
                                                                                                                                                                                                      \usepackage{tikz,subfig}
                                                                                                                                                                                                      \usetikzlibrary{shapes,shapes.geometric,shadings}

                                                                                                                                                                                                      \tikzset{riempi v/.style={left color=gray,right color=gray, middle color=lightgray}, % elementi verticali
                                                                                                                                                                                                      riempi h/.style={top color=gray,bottom color=gray, middle color=lightgray} % elementi orizzontali
                                                                                                                                                                                                      }
                                                                                                                                                                                                      \begin{document}
                                                                                                                                                                                                      \begin{tikzpicture}[font=\small,x=5mm, y=5mm, scale=.75]
                                                                                                                                                                                                      \begin{scope}[draw=darkgray]
                                                                                                                                                                                                      \filldraw[riempi h] (0,0) rectangle (4,1);
                                                                                                                                                                                                      \filldraw[riempi h,rounded corners=2] (1,1.1)rectangle (3,1.6);
                                                                                                                                                                                                      \filldraw[riempi v] (1.8,1.7) rectangle (2.3,8);
                                                                                                                                                                                                      \filldraw[riempi h,rounded corners=2] (1.5,8.1)rectangle (2.6,8.6);
                                                                                                                                                                                                      \filldraw[riempi h] (-4,8.7) rectangle (8,9.1);
                                                                                                                                                                                                      \filldraw[rounded corners=2,riempi v] (1.8,8.8)rectangle (2.3,9.8);

                                                                                                                                                                                                      \node[name=c1,shape=semicircle,shape border rotate=180, inner sep=3.75mm,draw=darkgray,ball color=lightgray,shading angle=120] at (-4,3)
                                                                                                                                                                                                      {};
                                                                                                                                                                                                      \node (a) at (-4,8.7) {};
                                                                                                                                                                                                      \draw (a.center)–(c1.arc start);
                                                                                                                                                                                                      \draw (a.center)–(c1.arc end);

                                                                                                                                                                                                      \node[name=c2,shape=semicircle,shape border rotate=180, inner sep=3.75mm,draw=darkgray,ball color=lightgray,shading angle=120] at (8,3)
                                                                                                                                                                                                      {};
                                                                                                                                                                                                      \node (b) at (8,8.7) {};
                                                                                                                                                                                                      \draw (b.center)–(c2.arc start);
                                                                                                                                                                                                      \draw (b.center)–(c2.arc end);

                                                                                                                                                                                                      \fill[fill=BrickRed](-5,4) rectangle (-3,5);
                                                                                                                                                                                                      \fill[fill=BrickRed](7,4) rectangle (8,5);
                                                                                                                                                                                                      \filldraw[fill=white] (8.1,4) rectangle (9.5,5.1);
                                                                                                                                                                                                      \filldraw[fill=white] (8.4,5.1) rectangle (9.2,5.4);
                                                                                                                                                                                                      \node () at (8.8,4.5) {$1$kg};
                                                                                                                                                                                                      \end{scope}
                                                                                                                                                                                                      \end{tikzpicture}
                                                                                                                                                                                                      \end{document}
                                                                                                                                                                                                      `

                                                                                                                                                                                                    • #96822
                                                                                                                                                                                                      lorenzo.pantieri
                                                                                                                                                                                                      Partecipante
                                                                                                                                                                                                        Up
                                                                                                                                                                                                        0
                                                                                                                                                                                                        Down
                                                                                                                                                                                                        ::


                                                                                                                                                                                                        Mi scuso innanzitutto per il ritardo con ringrazio OldClaudio e skevin93 per avermi risposto. Ho usato le soluzioni proposte da skevin9, con una l’unica modifica dei colori nella figura Everest/Fossa delle Marianne.
                                                                                                                                                                                                        `\begin{tikzpicture}[scale=.9]
                                                                                                                                                                                                        % Disegna Everest
                                                                                                                                                                                                        \filldraw [fill=Mahogany!80!black] (0,0)– (4mm,7mm)– (10mm,14mm)–(13mm,16mm)– (15mm,19mm)–(17mm,17mm)–%
                                                                                                                                                                                                        (19mm,16.5mm)–(24mm,0);
                                                                                                                                                                                                        % Vetta innevata
                                                                                                                                                                                                        \filldraw[fill=white] (10mm,14mm)–(13mm,16mm)– (15mm,19mm)–(17mm,17mm)–%
                                                                                                                                                                                                        (19mm,16.5mm);
                                                                                                                                                                                                        % Disegna Fossa delle Marianne!
                                                                                                                                                                                                        \filldraw [top color=blue, bottom color=blue!45!black, draw=black](28mm,0)–(31mm,-6mm)–(35mm,-8mm)–(37mm,-15mm)–(42mm,-20mm)– (49mm,-21mm)–%
                                                                                                                                                                                                        (51mm, -17mm)–(52mm, -5mm)–(55mm,0);
                                                                                                                                                                                                        % Disegna il livello del mare
                                                                                                                                                                                                        \draw [thick] (-5mm,0) — (60mm,0);

                                                                                                                                                                                                        \begin{scope}[font=\small]
                                                                                                                                                                                                        % Posiziona altezze
                                                                                                                                                                                                        \node

                                                                                                                                                                                                        (0)at (-5mm,0) {$0$~m};
                                                                                                                                                                                                        \node [above](everest) at (14mm,21mm) {$+8855$~m};
                                                                                                                                                                                                        \node [below](marianne) at (49mm,-21mm) {$-10\,916$~m};
                                                                                                                                                                                                        % Posiziona etichette
                                                                                                                                                                                                        \node (testo1) at (35mm,16mm) {Monte Everest};
                                                                                                                                                                                                        \node (testo2) at (12mm,-5mm) {Livello del mare};
                                                                                                                                                                                                        \node (testo3) at (18mm,-17mm) {Fossa delle Marianne};
                                                                                                                                                                                                        \end{scope}
                                                                                                                                                                                                        % Disegna frecce
                                                                                                                                                                                                        \draw [<-,purple] (everest) .. controls +(right:10mm) and +(up:10mm) .. node[]{} (testo1); \draw [<-](0)..controls +(down:5mm) and +(left:19mm)..node[]{} (testo2); \draw [<-, cyan](marianne)..controls +(left:10mm) and +(down:10mm)..node[]{} (testo3); \end{tikzpicture}` Come vedete, la Fossa è blu in prossimità del livello del mare, e degrada in un nero/blu scurissimo via via che aumenta la profondità. Questo per dare l'idea, appunto della profondità dell'oceano, dove è buio da un certo punto in poi. Circa l'Everest, l'ho colorato di marrone (a eccezione naturalmente della cima innevata), colore che mi sembra più adatto dell'azzurro. Grazie ancora! :-)

                                                                                                                                                                                                      • #96823
                                                                                                                                                                                                        lorenzo.pantieri
                                                                                                                                                                                                        Partecipante
                                                                                                                                                                                                          Up
                                                                                                                                                                                                          0
                                                                                                                                                                                                          Down
                                                                                                                                                                                                          ::


                                                                                                                                                                                                          Buongiorno a tutti.
                                                                                                                                                                                                          `\begin{tikzpicture}[font=\small]
                                                                                                                                                                                                          \draw [help lines] (0,0) grid (4,4);

                                                                                                                                                                                                          %\draw [cyan!50,fill=cyan!50] (1,1) rectangle (3,3);

                                                                                                                                                                                                          \draw [thick] (1,1) circle (1);
                                                                                                                                                                                                          \draw [thick] (3,1) circle (1);
                                                                                                                                                                                                          \draw [thick] (1,3) circle (1);
                                                                                                                                                                                                          \draw [thick] (3,3) circle (1);

                                                                                                                                                                                                          \end{tikzpicture}`
                                                                                                                                                                                                          Abbiate pietà: qual è il modo migliore di colorare la zona del disegno in mezzo (quella compresa tra i quattro archi di circonferenza)?

                                                                                                                                                                                                          Grazie anticipate,
                                                                                                                                                                                                          Lorenzo

                                                                                                                                                                                                        • #96824
                                                                                                                                                                                                          robitex
                                                                                                                                                                                                          Amministratore del forum
                                                                                                                                                                                                            Up
                                                                                                                                                                                                            0
                                                                                                                                                                                                            Down
                                                                                                                                                                                                            ::


                                                                                                                                                                                                            Ciao.
                                                                                                                                                                                                            Io farei così molto semplicemente:
                                                                                                                                                                                                            `\documentclass[tikz]{standalone}

                                                                                                                                                                                                            \begin{document}
                                                                                                                                                                                                            \begin{tikzpicture}
                                                                                                                                                                                                            \draw [help lines] (0,0) grid (4,4);

                                                                                                                                                                                                            \fill[cyan!50] (2,1)
                                                                                                                                                                                                            arc (180:90:1)
                                                                                                                                                                                                            arc (270:180:1)
                                                                                                                                                                                                            arc (0:-90:1)
                                                                                                                                                                                                            arc (90:0:1);

                                                                                                                                                                                                            \draw [thick] (1,1) circle (1);
                                                                                                                                                                                                            \draw [thick] (3,1) circle (1);
                                                                                                                                                                                                            \draw [thick] (1,3) circle (1);
                                                                                                                                                                                                            \draw [thick] (3,3) circle (1);
                                                                                                                                                                                                            \end{tikzpicture}
                                                                                                                                                                                                            \end{document}`

                                                                                                                                                                                                            Saluti.
                                                                                                                                                                                                            R.

                                                                                                                                                                                                          • #96825
                                                                                                                                                                                                            lorenzo.pantieri
                                                                                                                                                                                                            Partecipante
                                                                                                                                                                                                              Up
                                                                                                                                                                                                              0
                                                                                                                                                                                                              Down
                                                                                                                                                                                                              ::


                                                                                                                                                                                                              La tua soluzione è impeccabile!

                                                                                                                                                                                                              Grazie mille,
                                                                                                                                                                                                              Lorenzo

                                                                                                                                                                                                            • #96826
                                                                                                                                                                                                              lorenzo.pantieri
                                                                                                                                                                                                              Partecipante
                                                                                                                                                                                                                Up
                                                                                                                                                                                                                0
                                                                                                                                                                                                                Down
                                                                                                                                                                                                                ::


                                                                                                                                                                                                                Ciao a tutti. Vorrei adagiare un blocchetto di legno su un piano inclinato. Non capisco perché la mia soluzione non funziona.
                                                                                                                                                                                                                `\documentclass{article}

                                                                                                                                                                                                                \usepackage{tikz}

                                                                                                                                                                                                                \begin{document}

                                                                                                                                                                                                                \begin{center}
                                                                                                                                                                                                                \begin{tikzpicture} [font=\small]
                                                                                                                                                                                                                \draw [thick] (0,0) — (4.5,0) — (0,2.59808) — cycle;
                                                                                                                                                                                                                \draw [thick] (4.5,0) ++(150:5mm) arc (150:180:5mm);
                                                                                                                                                                                                                \node [above] at (3.5,0) {$30°$};
                                                                                                                                                                                                                \draw [thick,rounded corners,shift={(2.25+0.25,1.29904+0.25)},rotate =-30] (-0.5,-0.25) rectangle (0.5,0.25);
                                                                                                                                                                                                                \end{tikzpicture}
                                                                                                                                                                                                                \end{center}

                                                                                                                                                                                                                \begin{center}
                                                                                                                                                                                                                \begin{tikzpicture} [font=\small]
                                                                                                                                                                                                                \draw [thick] (0,0) — (3,0) — (0,3) — cycle;
                                                                                                                                                                                                                \draw [thick] (3,0) ++(135:5mm) arc (135:180:5mm);
                                                                                                                                                                                                                \node [above] at (2.25,0) {$45°$};
                                                                                                                                                                                                                \draw [thick,rounded corners,shift={(1.5+0.25,1.5+0.25)},rotate =-45] (-0.5,-0.25) rectangle (0.5,0.25);
                                                                                                                                                                                                                \draw [<->,dashed] (-0.25,-0) — (-0.25,3);
                                                                                                                                                                                                                \node

                                                                                                                                                                                                                at (-0.25,1.5) {$h$};
                                                                                                                                                                                                                \end{tikzpicture}
                                                                                                                                                                                                                \end{center}

                                                                                                                                                                                                                \end{document}`
                                                                                                                                                                                                                Come valore di shift metto la metà delle dimensioni del piano + la metà dello spessore del blocchetto. Perché non funziona? Come correggere?

                                                                                                                                                                                                                Ah, se volessi adagiare il blocchetto non a metà del piano, ma un po’ più su?

                                                                                                                                                                                                                Grazie anticipate,
                                                                                                                                                                                                                Lorenzo

                                                                                                                                                                                                              • #96827
                                                                                                                                                                                                                Up
                                                                                                                                                                                                                0
                                                                                                                                                                                                                Down
                                                                                                                                                                                                                ::


                                                                                                                                                                                                                Il problema era di tipo “trigonometrico” nel caso di piano inclinato a 45 gradi la soluzione è
                                                                                                                                                                                                                `\draw [thick,rounded corners,shift={(1.5+0.1767,1.5+0.1767)},rotate =-45] (-0.5,-0.25) rectangle (0.5,0.25);`

                                                                                                                                                                                                                0.1767 altri non è che il valore 0.25 diviso per la radice quadrata di 2, credo fosse sfuggito questo dettaglio. Per dirla in modo più consono, la semi altezza del rettangolo deve essere proiettata sui due assi cartesiani.
                                                                                                                                                                                                                Per la seconda domanda, basta inserire le coordinate sullo shift del punto desiderato, 0.1767 è un invariante, cambia solo se cambia l’angolo.

                                                                                                                                                                                                                Mi permetto invece di fare notare che
                                                                                                                                                                                                                `\node [above] at (3.5,0) {$30°$};`
                                                                                                                                                                                                                almeno nel esempio minimo compilabile, non produce il simbolo di grado, non so se poi con altri pacchetti il problema venga risolto in automatico o se fosse stato scritto solo per rendere più chiaro che cos’è quel valore.

                                                                                                                                                                                                              • #96828
                                                                                                                                                                                                                lorenzo.pantieri
                                                                                                                                                                                                                Partecipante
                                                                                                                                                                                                                  Up
                                                                                                                                                                                                                  0
                                                                                                                                                                                                                  Down
                                                                                                                                                                                                                  ::

                                                                                                                                                                                                                  schwarz89it” post=107240Per dirla in modo più consono, la semi altezza del rettangolo deve essere proiettata sui due assi cartesiani.

                                                                                                                                                                                                                  Perfetto!

                                                                                                                                                                                                                  `\documentclass{article}
                                                                                                                                                                                                                  \usepackage{tikz}
                                                                                                                                                                                                                  \usepackage[applemac]{inputenc}

                                                                                                                                                                                                                  \begin{document}

                                                                                                                                                                                                                  \begin{center}
                                                                                                                                                                                                                  \begin{tikzpicture} [font=\small]
                                                                                                                                                                                                                  \draw [thick] (0,0) — (4.5,0) — (0,2.59808) — cycle;
                                                                                                                                                                                                                  \draw [thick] (4.5,0) ++(150:5mm) arc (150:180:5mm);
                                                                                                                                                                                                                  \node [above] at (3.5,0) {$30°$};
                                                                                                                                                                                                                  \draw [thick,,rounded corners,shift={(2.25+0.125,1.29904+0.216506)},rotate =-30] (-0.5,-0.25) rectangle (0.5,0.25);

                                                                                                                                                                                                                  \end{tikzpicture}
                                                                                                                                                                                                                  \end{center}

                                                                                                                                                                                                                  \begin{center}
                                                                                                                                                                                                                  \begin{tikzpicture} [font=\small]
                                                                                                                                                                                                                  \draw [thick] (0,0) — (3,0) — (0,3) — cycle;
                                                                                                                                                                                                                  \draw [thick] (3,0) ++(135:5mm) arc (135:180:5mm);
                                                                                                                                                                                                                  \node [above] at (2.25,0) {$45°$};
                                                                                                                                                                                                                  \draw [thick,rounded corners,shift={(1.5+0.176777,1.5+0.176777)},rotate =-45] (-0.5,-0.25) rectangle (0.5,0.25);
                                                                                                                                                                                                                  \draw [<->,dashed] (-0.25,-0) — (-0.25,3);
                                                                                                                                                                                                                  \node

                                                                                                                                                                                                                  at (-0.25,1.5) {$h$};
                                                                                                                                                                                                                  \end{tikzpicture}
                                                                                                                                                                                                                  \end{center}

                                                                                                                                                                                                                  \end{document}`

                                                                                                                                                                                                                  Il pacchetto inputenc permette di inserireil simbolo di grado.

                                                                                                                                                                                                                  Grazie mille!

                                                                                                                                                                                                                • #96829
                                                                                                                                                                                                                  lorenzo.pantieri
                                                                                                                                                                                                                  Partecipante
                                                                                                                                                                                                                    Up
                                                                                                                                                                                                                    0
                                                                                                                                                                                                                    Down
                                                                                                                                                                                                                    ::


                                                                                                                                                                                                                    Rieccomi. Ho bisogno di disegnare un libro su cui è applicata una coppia di forze. Ci sono riuscito con questa soluzione “spiccia e sporca”.
                                                                                                                                                                                                                    `\documentclass{article}
                                                                                                                                                                                                                    \usepackage[dvipsnames]{xcolor}
                                                                                                                                                                                                                    \usepackage{tikz}

                                                                                                                                                                                                                    \begin{document}

                                                                                                                                                                                                                    \begin{tikzpicture}[scale=0.8, font=\small]
                                                                                                                                                                                                                    \draw [very thick,fill=Yellow!50!white] (2,0) — (4.5,1) — (2.5,2) — (0,1) — cycle;

                                                                                                                                                                                                                    \draw [very thick] (4.5,0.85) ++(-90:1.5mm) arc (-90:90:1.5mm);

                                                                                                                                                                                                                    \draw [very thick] (2,-0.15) ++(-90:1.5mm) arc (-90:90:1.5mm);

                                                                                                                                                                                                                    \draw [very thick] (0,0.85) ++(-90:1.5mm) arc (-90:90:1.5mm);

                                                                                                                                                                                                                    \draw [very thick] (2,-0.3) — (4.5,0.7);
                                                                                                                                                                                                                    \draw [very thick] (0,0.7) — (2,-0.3);

                                                                                                                                                                                                                    \draw [very thick,->] (2.5,2) — (4.5,2.75);
                                                                                                                                                                                                                    \draw [very thick,->] (2.15,-0.15) — (0.15,-1.0);

                                                                                                                                                                                                                    \draw [very thin] (0,0.8) — (2,-0.2);
                                                                                                                                                                                                                    \draw [very thin] (0,0.9) — (2,-0.1);

                                                                                                                                                                                                                    \node at (4,2.25) {$-\vec{F}$};
                                                                                                                                                                                                                    \node at (1.25,-0.8) {$\vec{F}$};

                                                                                                                                                                                                                    \draw (0,0.85) [white,fill=white] circle (1.5mm);
                                                                                                                                                                                                                    \draw [very thick] (0,0.85) ++(-90:1.5mm) arc (-90:90:1.5mm);

                                                                                                                                                                                                                    \end{tikzpicture}

                                                                                                                                                                                                                    \end{document} `
                                                                                                                                                                                                                    Ora però vorrei migliorare il risultato. In particolare, vorrei colorare di nero la costina del libro e migliorare gli archi: ora sono troppo accentuati. Ancora, vorrei le righine delle pagine più corte e irregolari (non tutte lunghe uguali). Mi aiutate?

                                                                                                                                                                                                                    Grazie anticipate,
                                                                                                                                                                                                                    Lorenzo

                                                                                                                                                                                                                  • #96830
                                                                                                                                                                                                                    Up
                                                                                                                                                                                                                    0
                                                                                                                                                                                                                    Down
                                                                                                                                                                                                                    ::


                                                                                                                                                                                                                    La mia proposta è questa

                                                                                                                                                                                                                    `\documentclass{article}
                                                                                                                                                                                                                    \usepackage[dvipsnames]{xcolor}
                                                                                                                                                                                                                    \usepackage{tikz}
                                                                                                                                                                                                                    \usetikzlibrary[calc,intersections,through,backgrounds]
                                                                                                                                                                                                                    \begin{document}

                                                                                                                                                                                                                    \begin{tikzpicture}[scale=0.8, font=\small]
                                                                                                                                                                                                                    %\draw[help lines,step=0.5] (0,-1) grid (5,3);
                                                                                                                                                                                                                    \fill[yellow!50!white] (2,0) — (4.5,1) — (2.5,2) — (0,1) — cycle;

                                                                                                                                                                                                                    \draw[very thick,fill=black] (2,-0.3)arc(-45:45:0.2121)–(4.5,1)arc(45:-45:0.2121)–(2,-0.3);
                                                                                                                                                                                                                    \draw[very thick] (0,1)–(2,0)arc(45:-45:0.2121)–(0,0.7)arc(-45:45:0.2121)–(2.5,2)–(4.5,1);

                                                                                                                                                                                                                    %\path [name path=B–F];
                                                                                                                                                                                                                    %\draw[name path=arco] (0,0.7)arc(-45:45:0.2121);
                                                                                                                                                                                                                    \path [name path=arco] (0,0.7)arc(-45:45:0.2121);
                                                                                                                                                                                                                    \foreach\y in{-0.2,-0.1}{
                                                                                                                                                                                                                    \path[name path=pagina](2,\y)–(0,\y+1);
                                                                                                                                                                                                                    \path[name intersections={of=arco and pagina,by={B}}];
                                                                                                                                                                                                                    \draw[very thin](2,\y)–(B);
                                                                                                                                                                                                                    };

                                                                                                                                                                                                                    \draw [very thick,->] (2.5,2) — (4.5,2.75);
                                                                                                                                                                                                                    \draw [very thick,->] (2.15,-0.15) — (0.15,-1.0);

                                                                                                                                                                                                                    \node at (4,2.25) {$-\vec{F}$};
                                                                                                                                                                                                                    \node at (1.25,-0.8) {$\vec{F}$};

                                                                                                                                                                                                                    \end{tikzpicture}

                                                                                                                                                                                                                    \end{document}`

                                                                                                                                                                                                                    Due osservazioni:
                                                                                                                                                                                                                    1) Come ho trovato angoli e lunghezze dei bordi arrotondati del libro? Non avendo voglia di fare conti ho fatto con autocad (45° spesso e volentieri secondo me risolve i problemi) esteticamente mi sembra carino, ma eventualmente si può trovare anche un altro angolo di attacco.
                                                                                                                                                                                                                    2) Le pagine sono ancora due, ma ora si possono aumentare molto facilmente basta cambiare
                                                                                                                                                                                                                    `
                                                                                                                                                                                                                    \foreach\y in{-0.2,-0.1}`
                                                                                                                                                                                                                    con
                                                                                                                                                                                                                    `\foreach\y in {-0.3,-0.25,…,0}`
                                                                                                                                                                                                                    è un bel risparmio di lavoro secondo me.
                                                                                                                                                                                                                    Con il metodo implementato dentro il foreach si può trovare anche il vero punto di attacco del vettore F, ora mascherata dal nero.
                                                                                                                                                                                                                    Non so se questo fosse il risultato voluto, resto a disposizione.

                                                                                                                                                                                                                  • #96831
                                                                                                                                                                                                                    lorenzo.pantieri
                                                                                                                                                                                                                    Partecipante
                                                                                                                                                                                                                      Up
                                                                                                                                                                                                                      0
                                                                                                                                                                                                                      Down
                                                                                                                                                                                                                      ::

                                                                                                                                                                                                                      schwarz89it” post=107361
                                                                                                                                                                                                                      Non so se questo fosse il risultato voluto, resto a disposizione.

                                                                                                                                                                                                                      Molto bello. Vorrei solo le righine delle pagine più corte, di pochi mm, non per tutta la larghezza del libro. Riesci?

                                                                                                                                                                                                                    • #96832
                                                                                                                                                                                                                      Up
                                                                                                                                                                                                                      0
                                                                                                                                                                                                                      Down
                                                                                                                                                                                                                      ::

                                                                                                                                                                                                                      lorenzo.pantieri” post=107363

                                                                                                                                                                                                                      Non so se questo fosse il risultato voluto, resto a disposizione.

                                                                                                                                                                                                                      Molto bello. Vorrei solo le righine delle pagine più corte, di pochi mm, non per tutta la larghezza del libro. Riesci?

                                                                                                                                                                                                                      Avendo riletto anche il tuo precedente intervento, chiedevi che le paginette non fossero attaccate al bordo e non tutte uguali, qui ti presento la mia nuova proposta
                                                                                                                                                                                                                      `\documentclass{article}
                                                                                                                                                                                                                      \usepackage[dvipsnames]{xcolor}
                                                                                                                                                                                                                      \usepackage{tikz}
                                                                                                                                                                                                                      \usetikzlibrary[calc,intersections,through,backgrounds]
                                                                                                                                                                                                                      \begin{document}

                                                                                                                                                                                                                      \begin{tikzpicture}[scale=0.8, font=\small]
                                                                                                                                                                                                                      %\draw[help lines,step=0.5] (0,-1) grid (5,3);
                                                                                                                                                                                                                      \fill[yellow!50!white] (2,0) — (4.5,1) — (2.5,2) — (0,1) — cycle;

                                                                                                                                                                                                                      \draw[very thick,fill=black] (2,-0.3)arc(-45:45:0.2121)–(4.5,1)arc(45:-45:0.2121)–(2,-0.3);
                                                                                                                                                                                                                      \draw[very thick] (0,1)–(2,0)arc(45:-45:0.2121)–(0,0.7)arc(-45:45:0.2121)–(2.5,2)–(4.5,1);

                                                                                                                                                                                                                      \coordinate (A) at (0,0.7);
                                                                                                                                                                                                                      \coordinate (D) at (2,0);
                                                                                                                                                                                                                      \coordinate (C) at ($(A)!0.05! (D)$);
                                                                                                                                                                                                                      \path[name path=arco] (C)arc(-45:45:0.2121);

                                                                                                                                                                                                                      \foreach\y in{-0.25,-0.20,…,0}{
                                                                                                                                                                                                                      \path[name path=pagina](2,\y)–(0,\y+1);
                                                                                                                                                                                                                      \path[name intersections={of=arco and pagina,by={B}}];
                                                                                                                                                                                                                      \coordinate (E) at ($(2,\y)!0.99+0.02*rand!(B)$);
                                                                                                                                                                                                                      \draw[very thin](2,\y)–(E);
                                                                                                                                                                                                                      };

                                                                                                                                                                                                                      \draw [very thick,->] (2.5,2) — (4.5,2.75);
                                                                                                                                                                                                                      \draw [very thick,->] (2.15,-0.15) — (0.15,-1.0);

                                                                                                                                                                                                                      \node at (4,2.25) {$-\vec{F}$};
                                                                                                                                                                                                                      \node at (1.25,-0.8) {$\vec{F}$};

                                                                                                                                                                                                                      \end{tikzpicture}

                                                                                                                                                                                                                      \end{document}`

                                                                                                                                                                                                                      Adesso le pagine puoi governarle come meglio credi modificando il fattore che io ho impostato a 0.05 per quanto riguarda il limite nuovo teorico
                                                                                                                                                                                                                      `\coordinate (C) at ($(A)!0.05! (D)$);
                                                                                                                                                                                                                      `

                                                                                                                                                                                                                      per il grado di aleatorietà della pagina il controllo è questo
                                                                                                                                                                                                                      `\coordinate (E) at ($(2,\y)!0.99+0.02*rand!(B)$);
                                                                                                                                                                                                                      `
                                                                                                                                                                                                                      Ho impostato 0.99 perché il random ha un intervallo [-1;1] mentre 0.02 serve a scalare proprio il random. Quindi al momento il listato prende il 99% della lunghezza della pagina e ci somma un fattore aleatorio che ha intervallo [-0.02;0.02].
                                                                                                                                                                                                                      Lascio a te decidere poi i valori che meglio rispondono alle tue esigenze. Spero questa volta di aver colto a pieno la tua richiesta altrimenti non esitare a scrivermi.

                                                                                                                                                                                                                    • #96833
                                                                                                                                                                                                                      lorenzo.pantieri
                                                                                                                                                                                                                      Partecipante
                                                                                                                                                                                                                        Up
                                                                                                                                                                                                                        0
                                                                                                                                                                                                                        Down
                                                                                                                                                                                                                        ::

                                                                                                                                                                                                                        schwarz89it” post=107364Spero questa volta di aver colto a pieno la tua richiesta altrimenti non esitare a scrivermi.

                                                                                                                                                                                                                        L’effetto che sto cercando per rendere le pagine del libro è diverso dalla tua ultima proposta.Vorrei 4 righine in tuttio: quella più in alto lunga 5 mm, la seconda lunga 7 mm, le due più in basso lunghe 5 mm. Le righine devono partire dal margine esterno del libro (non dalla costina). La direzione delle righe dei tuoi ultimi esempi è corretta: le vorrei più corte, e dall’altra parte.

                                                                                                                                                                                                                        Grazie mille!

                                                                                                                                                                                                                      • #96834
                                                                                                                                                                                                                        lorenzo.pantieri
                                                                                                                                                                                                                        Partecipante
                                                                                                                                                                                                                          Up
                                                                                                                                                                                                                          0
                                                                                                                                                                                                                          Down
                                                                                                                                                                                                                          ::


                                                                                                                                                                                                                          Ecco altre due immagini che ho realizzato alla buona. Se avete suggerimenti su come migliorarne il (pessimo) codice, sono qui. Ah, per tutta una serie di ragioni (molte delle quali certamente infondate) sono fermo alla MacTeX 2013, quindi vi chiedo di evitare librerie troppo moderne.

                                                                                                                                                                                                                          `\documentclass{article}
                                                                                                                                                                                                                          \usepackage[dvipsnames]{xcolor}
                                                                                                                                                                                                                          \usepackage{tikz,pgfplots,amsmath}

                                                                                                                                                                                                                          \begin{document}

                                                                                                                                                                                                                          \begin{tikzpicture}[font=\small]
                                                                                                                                                                                                                          \begin{axis} [width=0.4\textwidth,
                                                                                                                                                                                                                          axis lines=middle,
                                                                                                                                                                                                                          xmin=0,xmax=4,ymin=0,ymax=20,
                                                                                                                                                                                                                          enlargelimits,
                                                                                                                                                                                                                          grid,
                                                                                                                                                                                                                          xtick={1,2,3,4,5,6},
                                                                                                                                                                                                                          ytick={5,10,15,20},
                                                                                                                                                                                                                          xlabel=$x$,
                                                                                                                                                                                                                          ylabel=$y$]

                                                                                                                                                                                                                          \addplot [domain=0:10, samples=100,smooth,blue,very thick] {5/x};

                                                                                                                                                                                                                          \end{axis}
                                                                                                                                                                                                                          \end{tikzpicture}

                                                                                                                                                                                                                          \begin{tikzpicture} [decoration={coil,aspect=0.3,segment length=1mm,amplitude=1mm},font=\small,scale=1.15]

                                                                                                                                                                                                                          \draw [thick] (0,0) — (4.5,0) — (0,2.59808) — cycle;

                                                                                                                                                                                                                          \draw [thick,fill=BrickRed!50!white,rounded corners,shift={(2.10192,1.84641)},rotate =-30] (-0.9,-0.4) rectangle (0.9,0.4);

                                                                                                                                                                                                                          % asse x
                                                                                                                                                                                                                          \draw [->,shift={(2.10192,1.84641)},rotate =-30] (0,0) — (1.5,0);
                                                                                                                                                                                                                          \node [shift={(2.10192,1.84641)},rotate =-30,below=5pt] at (1.75,0) {$x$};

                                                                                                                                                                                                                          % asse y
                                                                                                                                                                                                                          \draw [->,shift={(2.10192,1.84641)},rotate =-30] (0,0) — (0,1.75);
                                                                                                                                                                                                                          \node [shift={(2.10192,1.84641)},rotate =-30,right=20pt] at (0,2) {$y$};

                                                                                                                                                                                                                          \draw [->,shift={(2.10192,1.84641)},rotate =-30] (0,0) — (1.5,0);

                                                                                                                                                                                                                          % P
                                                                                                                                                                                                                          \draw [blue,very thick,->] (2.10192,1.84641) — (2.10192,0.34641);
                                                                                                                                                                                                                          \node

                                                                                                                                                                                                                          at (2.10192,0.34641) {$\vec{P}$};

                                                                                                                                                                                                                          % P perpendicolare
                                                                                                                                                                                                                          \draw [blue,very thick,->,shift={(2.10192,1.84641)},rotate =-30] (0,0) — (0,-1.29904);
                                                                                                                                                                                                                          \node [below] at (1.3,0.9) {$\vec{P}_{\bot}$};

                                                                                                                                                                                                                          % P parallelo
                                                                                                                                                                                                                          \draw [blue,very thick,->,shift={(2.10192,1.84641)},rotate =-30] (0,0) — (0.75,0);
                                                                                                                                                                                                                          \node [below] at (2.7,2.1) {$\vec{P}_{\parallel}$};

                                                                                                                                                                                                                          % reazione vincolare
                                                                                                                                                                                                                          \draw [blue,very thick,red,->,shift={(2.10192,1.84641)},rotate =-30] (0,0) — (0,1.29904);
                                                                                                                                                                                                                          \node

                                                                                                                                                                                                                          at (2.7,2.6) {$\vec{F}_{\text{v}}$};

                                                                                                                                                                                                                          % forza elastica
                                                                                                                                                                                                                          \draw [blue,very thick,green,->,shift={(2.10192,1.84641)},rotate =-30] (0,0) — (-0.75,0);
                                                                                                                                                                                                                          \node [below] at (1.7,2.7) {$\vec{F}_\text{e}$};

                                                                                                                                                                                                                          \draw [<->,dashed] (-0.25,-0) — (-0.25,2.59808);
                                                                                                                                                                                                                          \node

                                                                                                                                                                                                                          at (-0.25,1.29904) {$h$};

                                                                                                                                                                                                                          \draw [<->,dashed] (0,-0.25) — (4.5,-0.25);
                                                                                                                                                                                                                          \node [below] at (2.25,-0.25) {$d$};

                                                                                                                                                                                                                          \draw

                                                                                                                                                                                                                          (-2.75,-0.1) rectangle (-2,0.1);

                                                                                                                                                                                                                          \draw [dashed,shift={(2.10192,1.84641)},rotate =-30] (0,-1.3) — (0.75,-1.3);

                                                                                                                                                                                                                          \draw [dashed,shift={(2.10192,1.84641)},rotate =-30] (0.75,-1.25) — (0.75,0);

                                                                                                                                                                                                                          \draw [decorate,shift={(2.10192,1.84641)},rotate =-30] (-2.0,0.0) — (-0.9,0.0);

                                                                                                                                                                                                                          \end{tikzpicture}

                                                                                                                                                                                                                          \end{document}`

                                                                                                                                                                                                                        • #96835
                                                                                                                                                                                                                          Up
                                                                                                                                                                                                                          0
                                                                                                                                                                                                                          Down
                                                                                                                                                                                                                          ::

                                                                                                                                                                                                                          lorenzo.pantieri” post=107370Ecco altre due immagini che ho realizzato alla buona. Se avete suggerimenti su come migliorarne il (pessimo) codice, sono qui. Ah, per tutta una serie di ragioni (molte delle quali certamente infondate) sono fermo alla MacTeX 2013, quindi vi chiedo di evitare librerie troppo moderne.

                                                                                                                                                                                                                          `\documentclass{article}
                                                                                                                                                                                                                          \usepackage[dvipsnames]{xcolor}
                                                                                                                                                                                                                          \usepackage{tikz,pgfplots,amsmath}

                                                                                                                                                                                                                          \begin{document}

                                                                                                                                                                                                                          \begin{tikzpicture}[font=\small]
                                                                                                                                                                                                                          \begin{axis} [width=0.4\textwidth,
                                                                                                                                                                                                                          axis lines=middle,
                                                                                                                                                                                                                          xmin=0,xmax=4,ymin=0,ymax=20,
                                                                                                                                                                                                                          enlargelimits,
                                                                                                                                                                                                                          grid,
                                                                                                                                                                                                                          xtick={1,2,3,4,5,6},
                                                                                                                                                                                                                          ytick={5,10,15,20},
                                                                                                                                                                                                                          xlabel=$x$,
                                                                                                                                                                                                                          ylabel=$y$]

                                                                                                                                                                                                                          \addplot [domain=0:10, samples=100,smooth,blue,very thick] {5/x};

                                                                                                                                                                                                                          \end{axis}
                                                                                                                                                                                                                          \end{tikzpicture}

                                                                                                                                                                                                                          \begin{tikzpicture} [decoration={coil,aspect=0.3,segment length=1mm,amplitude=1mm},font=\small,scale=1.15]

                                                                                                                                                                                                                          \draw [thick] (0,0) — (4.5,0) — (0,2.59808) — cycle;

                                                                                                                                                                                                                          \draw [thick,fill=BrickRed!50!white,rounded corners,shift={(2.10192,1.84641)},rotate =-30] (-0.9,-0.4) rectangle (0.9,0.4);

                                                                                                                                                                                                                          % asse x
                                                                                                                                                                                                                          \draw [->,shift={(2.10192,1.84641)},rotate =-30] (0,0) — (1.5,0);
                                                                                                                                                                                                                          \node [shift={(2.10192,1.84641)},rotate =-30,below=5pt] at (1.75,0) {$x$};

                                                                                                                                                                                                                          % asse y
                                                                                                                                                                                                                          \draw [->,shift={(2.10192,1.84641)},rotate =-30] (0,0) — (0,1.75);
                                                                                                                                                                                                                          \node [shift={(2.10192,1.84641)},rotate =-30,right=20pt] at (0,2) {$y$};

                                                                                                                                                                                                                          \draw [->,shift={(2.10192,1.84641)},rotate =-30] (0,0) — (1.5,0);

                                                                                                                                                                                                                          % P
                                                                                                                                                                                                                          \draw [blue,very thick,->] (2.10192,1.84641) — (2.10192,0.34641);
                                                                                                                                                                                                                          \node

                                                                                                                                                                                                                          at (2.10192,0.34641) {$\vec{P}$};

                                                                                                                                                                                                                          % P perpendicolare
                                                                                                                                                                                                                          \draw [blue,very thick,->,shift={(2.10192,1.84641)},rotate =-30] (0,0) — (0,-1.29904);
                                                                                                                                                                                                                          \node [below] at (1.3,0.9) {$\vec{P}_{\bot}$};

                                                                                                                                                                                                                          % P parallelo
                                                                                                                                                                                                                          \draw [blue,very thick,->,shift={(2.10192,1.84641)},rotate =-30] (0,0) — (0.75,0);
                                                                                                                                                                                                                          \node [below] at (2.7,2.1) {$\vec{P}_{\parallel}$};

                                                                                                                                                                                                                          % reazione vincolare
                                                                                                                                                                                                                          \draw [blue,very thick,red,->,shift={(2.10192,1.84641)},rotate =-30] (0,0) — (0,1.29904);
                                                                                                                                                                                                                          \node

                                                                                                                                                                                                                          at (2.7,2.6) {$\vec{F}_{\text{v}}$};

                                                                                                                                                                                                                          % forza elastica
                                                                                                                                                                                                                          \draw [blue,very thick,green,->,shift={(2.10192,1.84641)},rotate =-30] (0,0) — (-0.75,0);
                                                                                                                                                                                                                          \node [below] at (1.7,2.7) {$\vec{F}_\text{e}$};

                                                                                                                                                                                                                          \draw [<->,dashed] (-0.25,-0) — (-0.25,2.59808);
                                                                                                                                                                                                                          \node

                                                                                                                                                                                                                          at (-0.25,1.29904) {$h$};

                                                                                                                                                                                                                          \draw [<->,dashed] (0,-0.25) — (4.5,-0.25);
                                                                                                                                                                                                                          \node [below] at (2.25,-0.25) {$d$};

                                                                                                                                                                                                                          \draw

                                                                                                                                                                                                                          (-2.75,-0.1) rectangle (-2,0.1);

                                                                                                                                                                                                                          \draw [dashed,shift={(2.10192,1.84641)},rotate =-30] (0,-1.3) — (0.75,-1.3);

                                                                                                                                                                                                                          \draw [dashed,shift={(2.10192,1.84641)},rotate =-30] (0.75,-1.25) — (0.75,0);

                                                                                                                                                                                                                          \draw [decorate,shift={(2.10192,1.84641)},rotate =-30] (-2.0,0.0) — (-0.9,0.0);

                                                                                                                                                                                                                          \end{tikzpicture}

                                                                                                                                                                                                                          \end{document}`

                                                                                                                                                                                                                          Prova così: `\documentclass{article}
                                                                                                                                                                                                                          \usepackage[dvipsnames]{xcolor}
                                                                                                                                                                                                                          \usepackage{tikz,pgfplots,amsmath}

                                                                                                                                                                                                                          \pgfplotsset{compat=1.3} % versione super vecchia di pgfplots 😉

                                                                                                                                                                                                                          \begin{document}

                                                                                                                                                                                                                          \begin{tikzpicture}[font=\small]
                                                                                                                                                                                                                          \begin{axis} [width=0.4\textwidth,
                                                                                                                                                                                                                          axis lines=middle,
                                                                                                                                                                                                                          xmin=0,xmax=4,ymin=0,ymax=20,
                                                                                                                                                                                                                          enlargelimits,
                                                                                                                                                                                                                          grid,
                                                                                                                                                                                                                          xtick={1,2,3,4,5,6},
                                                                                                                                                                                                                          ytick={5,10,15,20},
                                                                                                                                                                                                                          xlabel=$x$,
                                                                                                                                                                                                                          ylabel=$y$,
                                                                                                                                                                                                                          % vedi: http://tex.stackexchange.com/q/122747/13304
                                                                                                                                                                                                                          every axis x label/.style={
                                                                                                                                                                                                                          at={(ticklabel* cs:1.05)},
                                                                                                                                                                                                                          anchor=west,
                                                                                                                                                                                                                          },
                                                                                                                                                                                                                          every axis y label/.style={
                                                                                                                                                                                                                          at={(ticklabel* cs:1.05)},
                                                                                                                                                                                                                          anchor=south,
                                                                                                                                                                                                                          },
                                                                                                                                                                                                                          ]

                                                                                                                                                                                                                          \addplot [domain=0:10, samples=100,smooth,blue,very thick] {5/x};

                                                                                                                                                                                                                          \end{axis}
                                                                                                                                                                                                                          \end{tikzpicture}

                                                                                                                                                                                                                          \vspace*{1cm}

                                                                                                                                                                                                                          \begin{tikzpicture} [decoration={coil,aspect=0.3,segment length=1mm,amplitude=1mm},font=\small,scale=1.15]

                                                                                                                                                                                                                          \draw [thick] (0,0) — (4.5,0) — (0,2.59808) — cycle;

                                                                                                                                                                                                                          \draw [thick,fill=BrickRed!20,rounded corners,shift={(2.10192,1.84641)},rotate =-30] (-0.9,-0.4) rectangle (0.9,0.6);% <= ho alzato il vertice alto a destra e sfumato leggermente di più il riempimento % asse x \draw [->,shift={(2.10192,1.84641)},rotate =-30] (0,0) — (1.5,0);
                                                                                                                                                                                                                          \node [shift={(2.10192,1.84641)},rotate =-30,below=5pt] at (1.75,0) {$x$};

                                                                                                                                                                                                                          % asse y
                                                                                                                                                                                                                          \draw [->,shift={(2.10192,1.84641)},rotate =-30] (0,0) — (0,1.75);
                                                                                                                                                                                                                          \node [shift={(2.10192,1.84641)},rotate =-30,right=20pt] at (0,2) {$y$};

                                                                                                                                                                                                                          \draw [->,shift={(2.10192,1.84641)},rotate =-30] (0,0) — (1.5,0);

                                                                                                                                                                                                                          % P
                                                                                                                                                                                                                          \draw [blue,very thick,->] (2.10192,1.84641) — (2.10192,0.34641);
                                                                                                                                                                                                                          \node

                                                                                                                                                                                                                          at (2.10192,0.34641) {$\vec{P}$};

                                                                                                                                                                                                                          % P perpendicolare
                                                                                                                                                                                                                          \draw [blue,very thick,->,shift={(2.10192,1.84641)},rotate =-30] (0,0) — (0,-1.29904);
                                                                                                                                                                                                                          \node [below] at (1.3,0.9) {$\vec{P}_{\bot}$};

                                                                                                                                                                                                                          % P parallelo
                                                                                                                                                                                                                          \draw [blue,very thick,->,shift={(2.10192,1.84641)},rotate =-30] (0,0) — (0.75,0);
                                                                                                                                                                                                                          \node [below] at (2.7,2.1) {$\vec{P}_{\parallel}$};

                                                                                                                                                                                                                          % reazione vincolare
                                                                                                                                                                                                                          \draw [blue,very thick,red,->,shift={(2.10192,1.84641)},rotate =-30] (0,0) — (0,1.29904);
                                                                                                                                                                                                                          \node

                                                                                                                                                                                                                          at (2.7,2.6) {$\vec{F}_{\text{v}}$};

                                                                                                                                                                                                                          % forza elastica
                                                                                                                                                                                                                          \draw [blue,very thick,green,->,shift={(2.10192,1.84641)},rotate =-30] (0,0) — (-0.75,0);
                                                                                                                                                                                                                          \node [below] at (1.7,2.7) {$\vec{F}_\text{e}$};

                                                                                                                                                                                                                          \draw [<->,dashed] (-0.25,-0) — (-0.25,2.59808);
                                                                                                                                                                                                                          \node

                                                                                                                                                                                                                          at (-0.25,1.29904) {$h$};

                                                                                                                                                                                                                          \draw [<->,dashed] (0,-0.25) — (4.5,-0.25);
                                                                                                                                                                                                                          \node [below] at (2.25,-0.25) {$d$};

                                                                                                                                                                                                                          \draw

                                                                                                                                                                                                                          (-2.75,-0.1) rectangle (-2,0.1);

                                                                                                                                                                                                                          \draw [dashed,shift={(2.10192,1.84641)},rotate =-30] (0,-1.3) — (0.75,-1.3);

                                                                                                                                                                                                                          \draw [dashed,shift={(2.10192,1.84641)},rotate =-30] (0.75,-1.25) — (0.75,0);

                                                                                                                                                                                                                          \draw [decorate,shift={(2.10192,1.84641)},rotate =-30] (-2.0,0.0) — (-0.9,0.0);

                                                                                                                                                                                                                          \end{tikzpicture}

                                                                                                                                                                                                                          \end{document}` Il codice è commentato e le modifiche sono veramente minime 😉

                                                                                                                                                                                                                          Ciao
                                                                                                                                                                                                                          Claudio

                                                                                                                                                                                                                        • #96836
                                                                                                                                                                                                                          Up
                                                                                                                                                                                                                          0
                                                                                                                                                                                                                          Down
                                                                                                                                                                                                                          ::


                                                                                                                                                                                                                          Forse ci siamo
                                                                                                                                                                                                                          `\documentclass{article}
                                                                                                                                                                                                                          \usepackage[dvipsnames]{xcolor}
                                                                                                                                                                                                                          \usepackage{tikz}
                                                                                                                                                                                                                          \usetikzlibrary[calc,intersections,through,backgrounds]
                                                                                                                                                                                                                          \begin{document}

                                                                                                                                                                                                                          \begin{tikzpicture}[scale=0.8, font=\small]
                                                                                                                                                                                                                          %\draw[help lines,step=0.5] (0,-1) grid (5,3);
                                                                                                                                                                                                                          \fill[yellow!50!white] (2,0) — (4.5,1) — (2.5,2) — (0,1) — cycle;

                                                                                                                                                                                                                          \draw[very thick,fill=black] (2,-0.3)arc(-45:45:0.2121)–(4.5,1)arc(45:-45:0.2121)–(2,-0.3);
                                                                                                                                                                                                                          \draw[very thick] (0,1)–(2,0)arc(45:-45:0.2121)–(0,0.7)arc(-45:45:0.2121)–(2.5,2)–(4.5,1);

                                                                                                                                                                                                                          \coordinate (A) at (0,0.7);
                                                                                                                                                                                                                          \coordinate (D) at (2,0);
                                                                                                                                                                                                                          \coordinate (C) at ($(A)!0! (D)$);
                                                                                                                                                                                                                          \path[name path=arco] (C)arc(-45:45:0.2121);

                                                                                                                                                                                                                          \foreach\y in{-0.24,-0.18,-0.12,-0.06}{
                                                                                                                                                                                                                          \path[name path=pagina](2,\y)–(0,\y+1);
                                                                                                                                                                                                                          \path[name intersections={of=arco and pagina,by={B}}];
                                                                                                                                                                                                                          \pgfmathequal{\y}{-0.12}
                                                                                                                                                                                                                          \ifnum\pgfmathresult=1
                                                                                                                                                                                                                          \draw[very thin] (B)–+(-26.565:7mm);
                                                                                                                                                                                                                          \else
                                                                                                                                                                                                                          \draw[very thin] (B)–+(-26.565:5mm);
                                                                                                                                                                                                                          \fi
                                                                                                                                                                                                                          };

                                                                                                                                                                                                                          \draw [very thick,->] (2.5,2) — (4.5,2.75);
                                                                                                                                                                                                                          \draw [very thick,->] (2.15,-0.15) — (0.15,-1.0);

                                                                                                                                                                                                                          \node at (4,2.25) {$-\vec{F}$};
                                                                                                                                                                                                                          \node at (1.25,-0.8) {$\vec{F}$};

                                                                                                                                                                                                                          \end{tikzpicture}

                                                                                                                                                                                                                          \end{document}`
                                                                                                                                                                                                                          Adesso le 4 linee partono dalla parte oposta e si estendono per 5mm la I, III e IV e per 7mm la II il punto C resta definito come prima quindi puoi ancora muoverle su e giù nel libro, e se vuoi cambiare la pagina che ha 7mm basta solo che modifichi il valore del comando

                                                                                                                                                                                                                          `\pgfmathequal{\y}{-0.12}
                                                                                                                                                                                                                          `

                                                                                                                                                                                                                          con quale dei 4 valori vuoi, anche se ragionevolmente al più potrebbe essere -0.18, dubito che tu voglia mettere la prima o l’ultima diversa.

                                                                                                                                                                                                                        • #96837
                                                                                                                                                                                                                          lorenzo.pantieri
                                                                                                                                                                                                                          Partecipante
                                                                                                                                                                                                                            Up
                                                                                                                                                                                                                            0
                                                                                                                                                                                                                            Down
                                                                                                                                                                                                                            ::

                                                                                                                                                                                                                            cfiandra” post=107375Il codice è commentato e le modifiche sono veramente minime 😉

                                                                                                                                                                                                                            http://www.lorenzopantieri.net/Matematica_e_Fisica_files/Fisica.pdf

                                                                                                                                                                                                                            Splendido. Ho appena aggiornato il documento sulla base delle tue indicazioni. Grazie 1000! 🙂

                                                                                                                                                                                                                          • #96838
                                                                                                                                                                                                                            lorenzo.pantieri
                                                                                                                                                                                                                            Partecipante
                                                                                                                                                                                                                              Up
                                                                                                                                                                                                                              0
                                                                                                                                                                                                                              Down
                                                                                                                                                                                                                              ::

                                                                                                                                                                                                                              schwarz89it” post=107378Forse ci siamo […].

                                                                                                                                                                                                                              Eccome se ci siamo!!!

                                                                                                                                                                                                                              http://www.lorenzopantieri.net/Matematica_e_Fisica_files/Fisica.pdf

                                                                                                                                                                                                                              Grazie mille! 🙂

                                                                                                                                                                                                                            • #96839
                                                                                                                                                                                                                              Up
                                                                                                                                                                                                                              0
                                                                                                                                                                                                                              Down
                                                                                                                                                                                                                              ::


                                                                                                                                                                                                                              Lieto che vada bene, ma il libro di testo sarebbe stato di qualità anche senza ottimizzare questa figura 🙂

                                                                                                                                                                                                                            • #96840
                                                                                                                                                                                                                              lorenzo.pantieri
                                                                                                                                                                                                                              Partecipante
                                                                                                                                                                                                                                Up
                                                                                                                                                                                                                                0
                                                                                                                                                                                                                                Down
                                                                                                                                                                                                                                ::


                                                                                                                                                                                                                                Ciao a tutti. Mi aiutate a migliorare questa figura?
                                                                                                                                                                                                                                `\documentclass{article}
                                                                                                                                                                                                                                \usepackage[dvipsnames]{xcolor}
                                                                                                                                                                                                                                \usepackage{tikz}

                                                                                                                                                                                                                                \begin{document}

                                                                                                                                                                                                                                \begin{tikzpicture}[scale=0.9,font=\small]

                                                                                                                                                                                                                                \draw

                                                                                                                                                                                                                                (-0.8,-4.4) — (0.8,-4.4) — (0.6,-3.6) — (-0.6,-3.6) — cycle;
                                                                                                                                                                                                                                \draw

                                                                                                                                                                                                                                (-0.8,-4.6) rectangle (0.8,-4.4);

                                                                                                                                                                                                                                \draw [thick, right color=BrickRed, left color=white] (-0.1,0.5) rectangle (0.1,-4);
                                                                                                                                                                                                                                \draw [thick, top color=lightgray, bottom color=white] (-2.75,-0.15) rectangle (2.75,0.15);

                                                                                                                                                                                                                                \draw (-2.5,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (-2,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (-1.5,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (-1,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (-0.5,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (0,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (0.5,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (1,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (1.5,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (2,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (2.5,0) [fill=white] circle (2pt);

                                                                                                                                                                                                                                \draw (0,0.5) [fill=BrickRed] ellipse (0.1 and 0.05);
                                                                                                                                                                                                                                \draw (0,-4)

                                                                                                                                                                                                                                ellipse (0.1 and 0.05); % non ci siamo!!!

                                                                                                                                                                                                                                \draw (0,0) — (0.5,-0.5) node [below right=-4pt] {fulcro};
                                                                                                                                                                                                                                \draw (2.25,0) — (2.75,-0.5) node [below right=-4pt] {asta};
                                                                                                                                                                                                                                \draw (0,-2.5) — (0.5,-3) node [below right=-4pt] {supporto};

                                                                                                                                                                                                                                \end{tikzpicture}

                                                                                                                                                                                                                                \end{document}`
                                                                                                                                                                                                                                Quello che non va è la base del supporto. Ci vorrebbe solo l’arco in basso dell’ellisse, e non quello in alto. In altre parole, ci vorrebbe una semiellisse.

                                                                                                                                                                                                                                Grazie anticipate!

                                                                                                                                                                                                                              • #96841
                                                                                                                                                                                                                                Up
                                                                                                                                                                                                                                0
                                                                                                                                                                                                                                Down
                                                                                                                                                                                                                                ::

                                                                                                                                                                                                                                lorenzo.pantieri” post=107595Ciao a tutti. Mi aiutate a migliorare questa figura?
                                                                                                                                                                                                                                `\documentclass{article}
                                                                                                                                                                                                                                \usepackage[dvipsnames]{xcolor}
                                                                                                                                                                                                                                \usepackage{tikz}

                                                                                                                                                                                                                                \begin{document}

                                                                                                                                                                                                                                \begin{tikzpicture}[scale=0.9,font=\small]

                                                                                                                                                                                                                                \draw

                                                                                                                                                                                                                                (-0.8,-4.4) — (0.8,-4.4) — (0.6,-3.6) — (-0.6,-3.6) — cycle;
                                                                                                                                                                                                                                \draw

                                                                                                                                                                                                                                (-0.8,-4.6) rectangle (0.8,-4.4);

                                                                                                                                                                                                                                \draw [thick, right color=BrickRed, left color=white] (-0.1,0.5) rectangle (0.1,-4);
                                                                                                                                                                                                                                \draw [thick, top color=lightgray, bottom color=white] (-2.75,-0.15) rectangle (2.75,0.15);

                                                                                                                                                                                                                                \draw (-2.5,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (-2,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (-1.5,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (-1,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (-0.5,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (0,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (0.5,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (1,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (1.5,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (2,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (2.5,0) [fill=white] circle (2pt);

                                                                                                                                                                                                                                \draw (0,0.5) [fill=BrickRed] ellipse (0.1 and 0.05);
                                                                                                                                                                                                                                \draw (0,-4)

                                                                                                                                                                                                                                ellipse (0.1 and 0.05); % non ci siamo!!!

                                                                                                                                                                                                                                \draw (0,0) — (0.5,-0.5) node [below right=-4pt] {fulcro};
                                                                                                                                                                                                                                \draw (2.25,0) — (2.75,-0.5) node [below right=-4pt] {asta};
                                                                                                                                                                                                                                \draw (0,-2.5) — (0.5,-3) node [below right=-4pt] {supporto};

                                                                                                                                                                                                                                \end{tikzpicture}

                                                                                                                                                                                                                                \end{document}`
                                                                                                                                                                                                                                Quello che non va è la base del supporto. Ci vorrebbe solo l’arco in basso dell’ellisse, e non quello in alto. In altre parole, ci vorrebbe una semiellisse.

                                                                                                                                                                                                                                Grazie anticipate!

                                                                                                                                                                                                                                `\documentclass{article}
                                                                                                                                                                                                                                \usepackage[dvipsnames]{xcolor}
                                                                                                                                                                                                                                \usepackage{tikz}

                                                                                                                                                                                                                                \begin{document}

                                                                                                                                                                                                                                \begin{tikzpicture}[scale=0.9,font=\small]

                                                                                                                                                                                                                                \draw

                                                                                                                                                                                                                                (-0.8,-4.4) — (0.8,-4.4) — (0.6,-3.6) — (-0.6,-3.6) — cycle;
                                                                                                                                                                                                                                \draw

                                                                                                                                                                                                                                (-0.8,-4.6) rectangle (0.8,-4.4);

                                                                                                                                                                                                                                %\draw [thick, right color=BrickRed, left color=white] (-0.1,0.5) rectangle (0.1,-4);
                                                                                                                                                                                                                                \draw [thick, right color=BrickRed, left color=white] (-0.1,0.5)–(0.1,0.5)–(0.1,-4) arc[start angle=360, end angle=180,x radius=0.1, y radius=0.05]–cycle;
                                                                                                                                                                                                                                \draw [thick, top color=lightgray, bottom color=white] (-2.75,-0.15) rectangle (2.75,0.15);

                                                                                                                                                                                                                                \draw (-2.5,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (-2,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (-1.5,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (-1,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (-0.5,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (0,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (0.5,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (1,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (1.5,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (2,0) [fill=white] circle (2pt);
                                                                                                                                                                                                                                \draw (2.5,0) [fill=white] circle (2pt);

                                                                                                                                                                                                                                \draw (0,0.5) [fill=BrickRed,semithick] ellipse (0.1 and 0.05);%ho aggiunto il semithick per uniformare lo spessore dell'ellisse, thick mi sembrava troppo

                                                                                                                                                                                                                                \draw (0,0) — (0.5,-0.5) node [below right=-4pt] {fulcro};
                                                                                                                                                                                                                                \draw (2.25,0) — (2.75,-0.5) node [below right=-4pt] {asta};
                                                                                                                                                                                                                                \draw (0,-2.5) — (0.5,-3) node [below right=-4pt] {supporto};

                                                                                                                                                                                                                                \end{tikzpicture}

                                                                                                                                                                                                                                \end{document}`
                                                                                                                                                                                                                                Le modifiche sono minime, ho rimosso il rettangolo e creato una polilinea

                                                                                                                                                                                                                              • #96842
                                                                                                                                                                                                                                lorenzo.pantieri
                                                                                                                                                                                                                                Partecipante
                                                                                                                                                                                                                                  Up
                                                                                                                                                                                                                                  0
                                                                                                                                                                                                                                  Down
                                                                                                                                                                                                                                  ::

                                                                                                                                                                                                                                  schwarz89it” post=107596Le modifiche sono minime, ho rimosso il rettangolo e creato una polilinea

                                                                                                                                                                                                                                  Spettacolo!!!

                                                                                                                                                                                                                                  http://www.lorenzopantieri.net/Matematica_e_Fisica_files/Fisica.pdf

                                                                                                                                                                                                                                  Figure 46-49.

                                                                                                                                                                                                                                  Grazie mille, risolutivo come sempre! 🙂

                                                                                                                                                                                                                              Visualizzazione 140 filoni di risposte
                                                                                                                                                                                                                              • Devi essere connesso per rispondere a questo topic.

                                                                                                                                                                                                                              Go to top