GRAFICI SPECIALI

  • Creatore
    Topic
  • #99086
    Up
    0
    Down
    ::


    Buonasera a tutti,

    Dovrei rappresentare in TEX questo tipo di grafici, ma non ho idea di come si faccia, c’è qualcuno che mi può aiutare? è tremendamente importante. Grazie in anticipo

    Attachments:
    You must be logged in to view attached files.
Visualizzazione 11 filoni di risposte
  • Autore
    Risposte
    • #99087
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Il sistam TeX contiene diversi pacchetti per fare disegni, quelli che devi fare tu sono banali che non vale nemmeno la pena rivolgersi ai pacchetti “specializzati”.

        Nessuno ne parla come se si vergonasse di nominare una cosa così rozza, ma LaTeX stesso contiene un ambiente che si chiama picture con il quale si possono fare disegni anche molto complessi, ma nessuno lo usa perché non ci vuole noente per usarlo a livello elementare.

        Non viene descritto in nessuna guida come roba d’altri tempi.

        Ti suggerisco di scaricare dalla sezione Documentazione/Guide Tematiche di questo sito il manuale di LaTeX intitolato Il LaTeX Reference Manual commentato e liberamente tradotto in italiano. C’è un intero paragrafo dedicato all’ambiente picture che leggi in 10 minuti e con gli esempi riportati sei subito in grado di usarlo.

        Se ti sembra troppo semplice e rudimentale, c’è sempre il pacchetto TiKZ con il quale si fanno bellissimi disegni, ma nel tuo caso usare TiKZ sembra di voler ammazzare una zanzara con un cannone.

        Nota: io con l’ambiente picture e molte macro che mi sono scritto ho disegnato tutti i circuiti elettrici ed elettronici di almeno quattro testi che ho scritto per per i miei allievi; usato come si deve quell’ambiente non è affatto rudimentale e produce disegni vettoriali che, producendo la tesi con pdflatex, danno luogo a dei disegni impeccabili sia a stampa sia a schermo; naturalmente con TiKX forse verrebbero anche meglio (in realtà il pacchetto circuitikz che usa TiKZ per disegnare circuiti elettrici ed elettronici a me non piace proprio per la qualità dei disegni, ma i guisti personali sono, appunto, personali).

      • #99088
        Up
        0
        Down
        ::

        OldClaudio” post=98646Il sistam TeX contiene diversi pacchetti per fare disegni, quelli che devi fare tu sono banali che non vale nemmeno la pena rivolgersi ai pacchetti “specializzati”.

        Nessuno ne parla come se si vergonasse di nominare una cosa così rozza, ma LaTeX stesso contiene un ambiente che si chiama picture con il quale si possono fare disegni anche molto complessi, ma nessuno lo usa perché non ci vuole noente per usarlo a livello elementare.

        Non viene descritto in nessuna guida come roba d’altri tempi.

        Ti suggerisco di scaricare dalla sezione Documentazione/Guide Tematiche di questo sito il manuale di LaTeX intitolato Il LaTeX Reference Manual commentato e liberamente tradotto in italiano. C’è un intero paragrafo dedicato all’ambiente picture che leggi in 10 minuti e con gli esempi riportati sei subito in grado di usarlo.

        Se ti sembra troppo semplice e rudimentale, c’è sempre il pacchetto TiKZ con il quale si fanno bellissimi disegni, ma nel tuo caso usare TiKZ sembra di voler ammazzare una zanzara con un cannone.

        Ahahahahahah:D scusa la risata ma mi hai davvero tirato su di morale, io ero spaventato perché pensavo di non potercela fare! Controllo subito se ho problemi ti posso chiedere aiuto?

      • #99089
        Up
        0
        Down
        ::

        OldClaudio” post=98646Il sistam TeX contiene diversi pacchetti per fare disegni, quelli che devi fare tu sono banali che non vale nemmeno la pena rivolgersi ai pacchetti “specializzati”.

        Nessuno ne parla come se si vergonasse di nominare una cosa così rozza, ma LaTeX stesso contiene un ambiente che si chiama picture con il quale si possono fare disegni anche molto complessi, ma nessuno lo usa perché non ci vuole noente per usarlo a livello elementare.

        Non viene descritto in nessuna guida come roba d’altri tempi.

        Ti suggerisco di scaricare dalla sezione Documentazione/Guide Tematiche di questo sito il manuale di LaTeX intitolato Il LaTeX Reference Manual commentato e liberamente tradotto in italiano. C’è un intero paragrafo dedicato all’ambiente picture che leggi in 10 minuti e con gli esempi riportati sei subito in grado di usarlo.

        Se ti sembra troppo semplice e rudimentale, c’è sempre il pacchetto TiKZ con il quale si fanno bellissimi disegni, ma nel tuo caso usare TiKZ sembra di voler ammazzare una zanzara con un cannone.

        Nota: io con l’ambiente picture e molte macro che mi sono scritto ho disegnato tutti i circuiti elettrici ed elettronici di almeno quattro testi che ho scritto per per i miei allievi; usato come si deve quell’ambiente non è affatto rudimentale e produce disegni vettoriali che, producendo la tesi con pdflatex, danno luogo a dei disegni impeccabili sia a stampa sia a schermo; naturalmente con TiKX forse verrebbero anche meglio (in realtà il pacchetto circuitikz che usa TiKZ per disegnare circuiti elettrici ed elettronici a me non piace proprio per la qualità dei disegni, ma i guisti personali sono, appunto, personali).

        Ho letto il paragrafo dedicato, anche se non mette il codice della figura 1.2 che è quella che più si avvicina a ciò che devo fare, così non riesco a comprendere bene come usarlo: per esempio io devo scrivere così?
        \begin{picture}
        \polyline (0) (1) (2)
        \end{picture}

      • #99090
        Up
        0
        Down
        ::


        Ho fatto tutto i disegni, ma ho usato come origine (0,0) e nonostante il center me lo inserisce decentrato, devo cambiare tutti i punti e spostarli più indietro? Inoltre come faccio a inserire delle linee di separazione tra testo e picture?

      • #99091
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Leggi bene la sintassi dei comandi; \polyline richiede almeno due coordinate; le coordinate sono coppie di valori numerici separati da una virgola e racchiusi fra parentesi tonde. `\polyliine(0)(1)(2)`non vuol dire niente; sembra essere una spezzata che unisce tre punti, ma le coordinate dei punti sono espresse male. Una cosa del tipo `\polyline(0,0)(2,0)(2,-1)`avrebbe più senso, ma ovviamante le coordinate (ascissa,ordinata) le devi indicare tu.

        • #99092
          Up
          0
          Down
          ::


          Si si ci sono riuscito, abbiamo risposto nello stesso momento, la nuova questione è quella di sopra..

        • #99093
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            L’ambiente picture ammette due coppie di coordinate`\begin{picture}(dim_x,dim_5)(offset_x,offset_y)`L’offset ti permette di cambiare al posizione dell’origine degli assi, ovviamente relativa all’angolo in basso a sinistra del rettangolo definiti con la prima coppia di coordinate.

            Inserisci tranquillamente l’ambiente picture dentro un ambiente center e avrai lo spazio che vuoi; se inserisci l’ambiente picture dentro un ambiente figure hai anche a disposizione di mettere una didascalia.

          • #99094
            Up
            0
            Down
            ::


            Grazie sei stato molto gentile

          • #99095
            Up
            0
            Down
            ::

            OldClaudio” post=98654L’ambiente picture ammette due coppie di coordinate`\begin{picture}(dim_x,dim_5)(offset_x,offset_y)`L’offset ti permette di cambiare al posizione dell’origine degli assi, ovviamente relativa all’angolo in basso a sinistra del rettangolo definiti con la prima coppia di coordinate.

            Inserisci tranquillamente l’ambiente picture dentro un ambiente center e avrai lo spazio che vuoi; se inserisci l’ambiente picture dentro un ambiente figure hai anche a disposizione di mettere una didascalia.

            \begin{figure}\centering
            \begin{center}
            \begin{picture}(500,100)
            \put(0,0){\line(1,0){400}}
            \multiput(0,0)(40,0){11}{\line(0,1){5}}
            \put(0,10){\makebox(1,0){0}}
            \put(0,-25){\makebox(1,0){28’500}}
            \put(40,10){\makebox(1,0){1}}
            \put(43,-25){\makebox(1,0){5’348.54}}
            \put(80,10){\makebox(1,0){2}}
            \put(89,-25){\makebox(1,0){5’348.54}}
            \put(120,10){\makebox(1,0){3}}
            \put(160,10){\makebox(1,0){4}}
            \put(200,10){\makebox(1,0){5}}
            \put(240,10){\makebox(1,0){6}}
            \put(240,-25){\makebox(1,0){R**}}
            \put(280,10){\makebox(1,0){7}}
            \put(320,10){\makebox(1,0){8}}
            \put(360,10){\makebox(1,0){9}}
            \put(400,10){\makebox(1,0){10}}
            \put(280,-25){\makebox(1,0){R**}}
            \put(320,-25){\makebox(1,0){R**}}
            \put(360,-25){\makebox(1,0){R**}}
            \put(400,-25){\makebox(1,0){R**}}
            \end{picture}

            \end{center}
            \end{figure}

            Scrivendo cosi il grafico mi compare ma in mezzo ad una nuova pagina, se tolgo il (500,100) non lo vedo proprio.. dove può essere il problema?

          • #99096
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Non c’è dubbio che usi l’ambiente figure, il comando \centering e l’ambiente center in modo “creativo”.

              Usando figure, se la figura non ci sta, non ci sta, e la mette nella pagina successiva.

              Ma se non usi la didascalia per una figura così piccola in altezza allora non ha molta utilità usare l’ambiente figure. Basta center e \centering è pleonastico.

              Inoltre ti ho detto che regoli le dimensioni e la posizione del disegno usando anche l’offset; se non lo usi, evidentemente l’origine degli assi e delle coordinate che usi con i comandi \put cadono nell’angolo inferiore a sinistra del rettangolo ideale che costituisce la figura le cui dimensioni sono specificate con la prima espressione parentetica dopo l’apertura di picture, espressione che non puoi cancellare assolutamante; è la seconda espressione parentetica che è facoltativa, quella dell’offset.
              Rimettendo a posto le tue cose, il seguente esempio minimo compilabile funziona come si deve.`\documentclass{article}
              \usepackage{pict2e}
              \usepackage{kantlipsum}

              \begin{document}

              \kant[1]

              \begin{center}
              \unitlength=\dimexpr\textwidth/400\relax
              \centering
              \begin{picture}(400,40)(0,-25)
              \put(0,0){\line(1,0){400}}
              \multiput(0,0)(40,0){11}{\line(0,1){5}}
              \put(0,10){\makebox(0,0){0}}
              \put(0,-25){\makebox(0,0){28'500}}
              \put(40,10){\makebox(0,0){1}}
              \put(43,-25){\makebox(0,0){5'348.54}}
              \put(80,10){\makebox(0,0){2}}
              \put(89,-25){\makebox(0,0){5'348.54}}
              \put(120,10){\makebox(0,0){3}}
              \put(160,10){\makebox(0,0){4}}
              \put(200,10){\makebox(0,0){5}}
              \put(240,10){\makebox(0,0){6}}
              \put(240,-25){\makebox(0,0){R**}}
              \put(280,10){\makebox(0,0){7}}
              \put(320,10){\makebox(0,0){8}}
              \put(360,10){\makebox(0,0){9}}
              \put(400,10){\makebox(0,0){10}}
              \put(280,-25){\makebox(0,0){R**}}
              \put(320,-25){\makebox(0,0){R**}}
              \put(360,-25){\makebox(0,0){R**}}
              \put(400,-25){\makebox(0,0){R**}}
              \end{picture}
              \end{center}

              \kant[2]

              \end{document}` Nota che quell’espressione [tt]\dimexpr\textwidth/400\relax[/tt] serve per scegliere una unità di misura adeguata e proporzionale alla giustezza del tuo testo; non mettere una larghezza di 500 con una unità ignota, usandone poi solo 400; l’unità ignota è il punto tipografico americano che vale la frazione 72,27 di un pollice; tu sai che relazione c’è fra questa unità e la giustezza ([tt]\textwidth[/tt]) del tuo testo? No; non lo so nemmeno io; ma scrivendo una espressione relativa che definisce l’unità di misura relativamente alla larghezza del testo, sono sicuro di non fuoriuscire dai margini se non per piccole parti dei label centrati sotto i segni di scala del tuo asse.

            • #99097
              Up
              0
              Down
              ::

              OldClaudio” post=98717Non c’è dubbio che usi l’ambiente figure, il comando \centering e l’ambiente center in modo “creativo”.

              Usando figure, se la figura non ci sta, non ci sta, e la mette nella pagina successiva.

              Ma se non usi la didascalia per una figura così piccola in altezza allora non ha molta utilità usare l’ambiente figure. Basta center e \centering è pleonastico.

              Inoltre ti ho detto che regoli le dimensioni e la posizione del disegno usando anche l’offset; se non lo usi, evidentemente l’origine degli assi e delle coordinate che usi con i comandi \put cadono nell’angolo inferiore a sinistra del rettangolo ideale che costituisce la figura le cui dimensioni sono specificate con la prima espressione parentetica dopo l’apertura di picture, espressione che non puoi cancellare assolutamante; è la seconda espressione parentetica che è facoltativa, quella dell’offset.
              Rimettendo a posto le tue cose, il seguente esempio minimo compilabile funziona come si deve.`\documentclass{article}
              \usepackage{pict2e}
              \usepackage{kantlipsum}

              \begin{document}

              \kant[1]

              \begin{center}
              \unitlength=\dimexpr\textwidth/400\relax
              \centering
              \begin{picture}(400,40)(0,-25)
              \put(0,0){\line(1,0){400}}
              \multiput(0,0)(40,0){11}{\line(0,1){5}}
              \put(0,10){\makebox(0,0){0}}
              \put(0,-25){\makebox(0,0){28'500}}
              \put(40,10){\makebox(0,0){1}}
              \put(43,-25){\makebox(0,0){5'348.54}}
              \put(80,10){\makebox(0,0){2}}
              \put(89,-25){\makebox(0,0){5'348.54}}
              \put(120,10){\makebox(0,0){3}}
              \put(160,10){\makebox(0,0){4}}
              \put(200,10){\makebox(0,0){5}}
              \put(240,10){\makebox(0,0){6}}
              \put(240,-25){\makebox(0,0){R**}}
              \put(280,10){\makebox(0,0){7}}
              \put(320,10){\makebox(0,0){8}}
              \put(360,10){\makebox(0,0){9}}
              \put(400,10){\makebox(0,0){10}}
              \put(280,-25){\makebox(0,0){R**}}
              \put(320,-25){\makebox(0,0){R**}}
              \put(360,-25){\makebox(0,0){R**}}
              \put(400,-25){\makebox(0,0){R**}}
              \end{picture}
              \end{center}

              \kant[2]

              \end{document}` Nota che quell’espressione [tt]\dimexpr\textwidth/400\relax[/tt] serve per scegliere una unità di misura adeguata e proporzionale alla giustezza del tuo testo; non mettere una larghezza di 500 con una unità ignota, usandone poi solo 400; l’unità ignota è il punto tipografico americano che vale la frazione 72,27 di un pollice; tu sai che relazione c’è fra questa unità e la giustezza ([tt]\textwidth[/tt]) del tuo testo? No; non lo so nemmeno io; ma scrivendo una espressione relativa che definisce l’unità di misura relativamente alla larghezza del testo, sono sicuro di non fuoriuscire dai margini se non per piccole parti dei label centrati sotto i segni di scala del tuo asse.

              A parte le citazioni di Kant (uno dei miei filosofi preferiti), lo so che sono diventato una rottura, ma tu hai qualche idea per realizzare questo grafico (linee curve)?

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


                Lo so che alettura della documentazione non è il tuo forte; ma la spiegazione come al solito è nella descrizione dell’ambiente picture, magari al pagina dopo a quella dove sei arrivato a leggere.`\begin{center}
                \centering
                \unitlength=\dimexpr
                \textwidth/100\relax
                \countdef\Numero=1256\relax
                \Numero=0
                \begin{picture}(60,50)
                \put(0,40){\line(1,0){60}}
                \multiput(0,40)(20,0){4}{\line(0,1){2}}
                \multiput(0,44)(20,0){4}{\makebox(0,0){\the\Numero}\global\advance\Numero1\relax}
                %
                \put(0,30){\line(1,0){20}}\put(20,30){\circle*{1}}
                \put(20,30){\thicklines\qbezier(0,0)(10,10)(20,0)}\put(30,30){\makebox(0,0){${}_1 F_1$}}\put(40,30){\circle*{1}}
                %
                \put(0,20){\line(1,0){20}}\put(20,20){\circle*{1}}
                \put(20,20){\thicklines\qbezier(0,0)(20,10)(40,0)}\put(40,20){\makebox(0,0){${}_1 F_2$}}\put(60,20){\circle*{1}}
                %
                \put(0,10){\line(1,0){40}}\put(40,10){\circle*{1}}
                \put(40,10){\thicklines\qbezier(0,0)(10,10)(20,0)}\put(50,10){\makebox(0,0){${}_2 F_1$}}\put(60,10){\circle*{1}}
                %
                \put(0,0){\line(1,0){60}}
                \end{picture}
                \end{center}`Ricordati che la netiquette di questo sito richiede di documentarsi prima di porre domande; magari trovi qualcuno che ti risponde, ma la prossima volta io ti risponderò con un leggi nella pagina … il … capoverso.:wink:

            Visualizzazione 11 filoni di risposte
            • Devi essere connesso per rispondere a questo topic.

            Go to top