classe standalone rimuove parti di frecce tikz

  • Creatore
    Topic
  • #95578
    Up
    0
    Down
    ::


    Ciao

    uso solitamente la classe standalone per fare veloci figure con tikz e non avere problemi di margini quando poi le importo nel documento principale (compilo la figura separatamente in pdflatex).

    Con l’esempio che scrivo di seguito, mi vengono eliminate dalla pagina (cioe’ escluse dalla figura) la parte inferiore delle frecce che ho disegnato. Qualcuno mi dice dove sbaglio per favore?

    EMC
    `
    \documentclass{standalone}
    \usepackage{tikz}

    \usepackage{kpfonts}

    \begin{document}
    \begin{tikzpicture}[>=stealth]
    \draw[->] (0,0)–(2,0) node[midway,above] {$k_j$};
    \draw[->, double] (1.75,0.3)–(2.25,0.3) node[above, midway] {$\alpha$};
    \draw[->] (2,0)–(4,0) node[midway, above] {$k_{j+1}$};
    \end{tikzpicture}
    \end{document}
    `

    Risultato pdf in allegato (se firefox non da problemi).

    Ciao

    Attachments:
    You must be logged in to view attached files.
Visualizzazione 15 filoni di risposte
  • Autore
    Risposte
    • #95579
      Up
      0
      Down
      ::

      DirkPitt” post=95180Ciao

      uso solitamente la classe standalone per fare veloci figure con tikz e non avere problemi di margini quando poi le importo nel documento principale (compilo la figura separatamente in pdflatex).

      Con l’esempio che scrivo di seguito, mi vengono eliminate dalla pagina (cioe’ escluse dalla figura) la parte inferiore delle frecce che ho disegnato. Qualcuno mi dice dove sbaglio per favore?

      EMC
      `
      \documentclass{standalone}
      \usepackage{tikz}

      \usepackage{kpfonts}

      \begin{document}
      \begin{tikzpicture}[>=stealth]
      \draw[->] (0,0)–(2,0) node[midway,above] {$k_j$};
      \draw[->, double] (1.75,0.3)–(2.25,0.3) node[above, midway] {$\alpha$};
      \draw[->] (2,0)–(4,0) node[midway, above] {$k_{j+1}$};
      \end{tikzpicture}
      \end{document}
      `

      Risultato pdf in allegato (se firefox non da problemi).

      Ciao

      In realtà non sbagli nulla. Il problema è dovuto al meccanismo con cui sono disegnate le frecce: per il computo della bounding box solo il segmento conta, perciò la parte inferiore della punta viene tagliata.

      Soluzione veloce: aggiungi l’opzione [tt]border=4pt[/tt] alla classe. Il valore può essere cambiato a piacimento e normalmente è settato a 0pt.

      Ciao
      Claudio

    • #95580
      Up
      0
      Down
      ::


      Ciao, grazie per il suggerimento

      due domande:
      1. Si puo’ calcolare di quanto “sborda” la freccia?
      2. Si possono settare i bordi separatamente sui 4 lati?

      Ciao

      cfiandra” post=95182

      Ciao

      uso solitamente la classe standalone per fare veloci figure con tikz e non avere problemi di margini quando poi le importo nel documento principale (compilo la figura separatamente in pdflatex).

      Con l’esempio che scrivo di seguito, mi vengono eliminate dalla pagina (cioe’ escluse dalla figura) la parte inferiore delle frecce che ho disegnato. Qualcuno mi dice dove sbaglio per favore?

      EMC
      `
      \documentclass{standalone}
      \usepackage{tikz}

      \usepackage{kpfonts}

      \begin{document}
      \begin{tikzpicture}[>=stealth]
      \draw[->] (0,0)–(2,0) node[midway,above] {$k_j$};
      \draw[->, double] (1.75,0.3)–(2.25,0.3) node[above, midway] {$\alpha$};
      \draw[->] (2,0)–(4,0) node[midway, above] {$k_{j+1}$};
      \end{tikzpicture}
      \end{document}
      `

      Risultato pdf in allegato (se firefox non da problemi).

      Ciao

      In realtà non sbagli nulla. Il problema è dovuto al meccanismo con cui sono disegnate le frecce: per il computo della bounding box solo il segmento conta, perciò la parte inferiore della punta viene tagliata.

      Soluzione veloce: aggiungi l’opzione [tt]border=4pt[/tt] alla classe. Il valore può essere cambiato a piacimento e normalmente è settato a 0pt.

      Ciao
      Claudio

    • #95581
      Up
      0
      Down
      ::


      Ti propongo un altro sistema su cui ripiegare per questi casi in cui standalone non funziona bene. Compila con la classe article e dando \pagestyle{empty} per rimuovere il numero di pagina. Apri la shell di comando (la console, spero di essere chiaro) e portati nella cartella dove si trovano il file tex e il file pdf. Dai poi il comando [tt]pdfcrop nome.pdf[/tt] dove “nome.pdf” sarà il tuo pdf. Questo programmino, installato nativamente nelle distribuzioni tex è in grado di scontornare i pdf (per questo devi rimuovere il numero di pagina, altrimenti ritaglia solo fino al numero).

    • #95582
      Up
      0
      Down
      ::


      Certo, conosco pdfcrop. Se spulci nel forum c’e’ una conversazione fra me e uno degli esperti (non ricordo chi), in cui si propone uno script bash che “croppa” tutti i pdf in una cartella, molto utile in questo caso.

      Tuttavia preferirei che funzionasse standalone!

      Altra questione: perche’ questo codice mi produce un pdf di due pagine anziche’ una sola pagina?

      `
      \documentclass[tikz]{standalone}
      \usepackage{pgfplots}
      \usepackage{kpfonts}

      \tikzset{>=stealth}
      \begin{document}

      \begin{tikzpicture}
      \begin{axis}[
      xmin=0,xmax=5,
      ymin=-1,ymax=6,
      ]
      \addplot[domain = 0:1]{5*x};
      \addplot[domain=1:4]{5};
      \end{axis}
      \end{tikzpicture}
      \vspace{1pt}
      \begin{tikzpicture}
      \begin{axis}[
      xmin=0,xmax=5,
      ymin=-1,ymax=6,
      ]
      \addplot[domain = 0:1]{5};
      \addplot[domain=1:4]{-5/3 * (x-1) + 5};
      \end{axis}
      \end{tikzpicture}
      \end{document}
      `

      skevin93″ post=95185Ti propongo un altro sistema su cui ripiegare per questi casi in cui standalone non funziona bene. Compila con la classe article e dando \pagestyle{empty} per rimuovere il numero di pagina. Apri la shell di comando (la console, spero di essere chiaro) e portati nella cartella dove si trovano il file tex e il file pdf. Dai poi il comando [tt]pdfcrop nome.pdf[/tt] dove “nome.pdf” sarà il tuo pdf. Questo programmino, installato nativamente nelle distribuzioni tex è in grado di scontornare i pdf (per questo devi rimuovere il numero di pagina, altrimenti ritaglia solo fino al numero).

    • #95583
      Up
      0
      Down
      ::


      Rispondo ad entrambe le richieste.

      Si, si può calcolare quanto sborda la freccia: devi andare a prendere il codice della tipo stealth (in pgflibraryarrows.code.tex mi pare) e tenere in considerazione metà della punta. Secondo me fai prima a dando un paio di valori di prova all’opzione border.

      Mi sembra si possa settare margini separatamente, in maniera simile a quanto si fa con pdfcrop, ma devi guardare sulla documentazione.

      L’ultimo codice ti produce due pagine perché hai due figure. Ciò accade quando si passa l’opzione [tt]tikz[/tt] alla classe.

      Ciao
      Claudio

    • #95584
      Up
      0
      Down
      ::

      cfiandra” post=95188Rispondo ad entrambe le richieste.

      Si, si può calcolare quanto sborda la freccia: devi andare a prendere il codice della tipo stealth (in pgflibraryarrows.code.tex mi pare) e tenere in considerazione metà della punta. Secondo me fai prima a dando un paio di valori di prova all’opzione border.

      sono andato a vedere, dovrebbe essere molto semplice:

      `
      \documentclass[%
      border={0pt 0pt 20pt 0pt} %left right bottom top
      ]{standalone}
      \begin{document}
      $2^5 = x_5 \times y^8$
      \end{document}
      `

      cfiandra” post=95188
      Mi sembra si possa settare margini separatamente, in maniera simile a quanto si fa con pdfcrop, ma devi guardare sulla documentazione.

      L’ultimo codice ti produce due pagine perché hai due figure. Ciò accade quando si passa l’opzione [tt]tikz[/tt] alla classe.

      Ciao
      Claudio

      Uff, me l’ero dimenticato fra varie prove.

      Ma come faccio per avere le figure in verticale, allineate con l’asse delle ordinate?

      Ciao

    • #95585
      Up
      0
      Down
      ::

      DirkPitt” post=95189Ma come faccio per avere le figure in verticale, allineate con l’asse delle ordinate?

      Beh, se non passi l’opzione [tt]tikz[/tt] alla classe e tutte le figure hanno la bounding box con il limite inferiore uguale sei a posto.

      Ciao
      Claudio

    • #95586
      Up
      0
      Down
      ::


      Ciao

      Il seguente codice me le dispone in orizzontale. Mi puoi dire dove sbaglio?

      `
      \documentclass

      {standalone}
      \usepackage{pgfplots}
      \usepackage{kpfonts}

      \pgfplotsset{every axis/.append style={
      axis x line=bottom,
      axis line style={->},
      xlabel={$\rho$},
      axis lines = left,
      xtick = \empty,
      ytick = \empty,
      every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
      every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
      }
      }

      \tikzset{>=stealth}
      \begin{document}

      \begin{tikzpicture}
      \begin{axis}[
      ylabel=$D$,
      xmin=0,xmax=5,
      ymin=-1,ymax=6,
      ]
      \addplot[domain = 0:1]{5*x};
      \addplot[domain=1:4]{5};
      \end{axis}
      \end{tikzpicture}

      \vspace{1pt}

      \begin{tikzpicture}
      \begin{axis}[
      ylabel = $S$,
      xtick = {1, 4},
      xticklabels = {$\rho_c$, $\rho_j$},
      xmin=0,xmax=5,
      ymin=-1,ymax=6,
      ]
      \addplot[domain = 0:1]{5};
      \addplot[domain=1:4]{-5/3 * (x-1) + 5};
      \end{axis}
      \end{tikzpicture}

      \end{document}
      `

      cfiandra” post=95199

      Ma come faccio per avere le figure in verticale, allineate con l’asse delle ordinate?

      Beh, se non passi l’opzione [tt]tikz[/tt] alla classe e tutte le figure hanno la bounding box con il limite inferiore uguale sei a posto.

      Ciao
      Claudio

    • #95587
      Up
      0
      Down
      ::

      DirkPitt” post=95204Ciao

      Il seguente codice me le dispone in orizzontale. Mi puoi dire dove sbaglio?

      `
      \documentclass

      {standalone}
      \usepackage{pgfplots}
      \usepackage{kpfonts}

      \pgfplotsset{every axis/.append style={
      axis x line=bottom,
      axis line style={->},
      xlabel={$\rho$},
      axis lines = left,
      xtick = \empty,
      ytick = \empty,
      every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
      every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
      }
      }

      \tikzset{>=stealth}
      \begin{document}

      \begin{tikzpicture}
      \begin{axis}[
      ylabel=$D$,
      xmin=0,xmax=5,
      ymin=-1,ymax=6,
      ]
      \addplot[domain = 0:1]{5*x};
      \addplot[domain=1:4]{5};
      \end{axis}
      \end{tikzpicture}

      \vspace{1pt}

      \begin{tikzpicture}
      \begin{axis}[
      ylabel = $S$,
      xtick = {1, 4},
      xticklabels = {$\rho_c$, $\rho_j$},
      xmin=0,xmax=5,
      ymin=-1,ymax=6,
      ]
      \addplot[domain = 0:1]{5};
      \addplot[domain=1:4]{-5/3 * (x-1) + 5};
      \end{axis}
      \end{tikzpicture}

      \end{document}
      `

      È quello che dicevo prima: la parte inferiore della bounding box deve essere uguale. Tradotto: se in una figura hai delle etichette sull’asse x e sull’altra no, la prima occupa più spazio in basso rispetto alla seconda. Quindi non sono allineate.

      Hai diverse opzioni: la prima è di usare il comando [tt]\useboundingbox[/tt] per definire a mano la bounding box. Dovresti in sostanza disegnare un quadrato immaginario per ogni figura, ovviamente ogni quadrato deve comprendere la figura. Tenendo come riferimento l’asse x, il quadrato della prima figura dovrebbe essere leggermente più grande verso il basso rispetto al quadrato della seconda. Quindi è un’opzione da lasciare perdere se non sai esattamente ciò che stai facendo.

      Tralasciando altre soluzioni un po’ impraticabili, quella più elegante è sicuramente di usare per entrambe le figure le stesse etichette per l’asse x. In questo modo siamo sicuri che occupino lo stesso spazio in basso. Poi, le rendiamo opache solo nella prima figura e il gioco è fatto. In termini di codice: `
      \documentclass

      {standalone}
      \usepackage{pgfplots}
      \usepackage{kpfonts}

      \pgfplotsset{every axis/.append style={
      axis x line=bottom,
      axis line style={->},
      xlabel={$\rho$},
      axis lines = left,
      xtick = \empty,
      ytick = \empty,
      every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
      every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
      },
      fai sparire le etichette/.style={
      xtick style={opacity=0},
      xticklabel style={opacity=0},
      }
      }

      \tikzset{>=stealth}
      \begin{document}

      \begin{tikzpicture}
      \begin{axis}[
      ylabel=$D$,
      xmin=0,xmax=5,
      ymin=-1,ymax=6,
      xtick = {1, 4},
      xticklabels = {$\rho_c$, $\rho_j$},
      fai sparire le etichette,
      ]
      \addplot[domain = 0:1]{5*x};
      \addplot[domain=1:4]{5};
      \end{axis}
      \end{tikzpicture}

      \begin{tikzpicture}
      \begin{axis}[
      ylabel = $S$,
      xtick = {1, 4},
      xticklabels = {$\rho_c$, $\rho_j$},
      xmin=0,xmax=5,
      ymin=-1,ymax=6,
      ]
      \addplot[domain = 0:1]{5};
      \addplot[domain=1:4]{-5/3 * (x-1) + 5};
      \end{axis}
      \end{tikzpicture}

      \end{document}
      ` Non l’ho testato, ma dovrebbe funzionare.

      Ciao
      Claudio

    • #95588
      alegenn
      Partecipante
        Up
        0
        Down
        ::

        DirkPitt” post=95204Ciao

        Il seguente codice me le dispone in orizzontale. Mi puoi dire dove sbaglio?

        Se vuoi i due grafici allineati in verticale e contemporaneamente utilizzare [tt]standalone[/tt], perché non creare due fradici separati con questa classe e per poi incorporarli nel documento principale come meglio credi.
        Personalmente preferisco l’ultimo esempio creato da Claudio con i grafici alienati in orizzontale e con gli assi delle ascisse alla stessa altezza.
        Ciao

      • #95589
        Up
        0
        Down
        ::


        Effettivamente e’ elegante, pero’ le due funzioni sono ancora allineate orizzontalmente 🙁

        cfiandra” post=95208

        Ciao

        Il seguente codice me le dispone in orizzontale. Mi puoi dire dove sbaglio?

        `
        \documentclass[border 2pt]{standalone}
        \usepackage{pgfplots}
        \usepackage{kpfonts}

        \pgfplotsset{every axis/.append style={
        axis x line=bottom,
        axis line style={->},
        xlabel={$\rho$},
        axis lines = left,
        xtick = \empty,
        ytick = \empty,
        every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
        every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
        }
        }

        \tikzset{>=stealth}
        \begin{document}

        \begin{tikzpicture}
        \begin{axis}[
        ylabel=$D$,
        xmin=0,xmax=5,
        ymin=-1,ymax=6,
        ]
        \addplot[domain = 0:1]{5*x};
        \addplot[domain=1:4]{5};
        \end{axis}
        \end{tikzpicture}

        \vspace{1pt}

        \begin{tikzpicture}
        \begin{axis}[
        ylabel = $S$,
        xtick = {1, 4},
        xticklabels = {$\rho_c$, $\rho_j$},
        xmin=0,xmax=5,
        ymin=-1,ymax=6,
        ]
        \addplot[domain = 0:1]{5};
        \addplot[domain=1:4]{-5/3 * (x-1) + 5};
        \end{axis}
        \end{tikzpicture}

        \end{document}
        `

        È quello che dicevo prima: la parte inferiore della bounding box deve essere uguale. Tradotto: se in una figura hai delle etichette sull’asse x e sull’altra no, la prima occupa più spazio in basso rispetto alla seconda. Quindi non sono allineate.

        Hai diverse opzioni: la prima è di usare il comando [tt]\useboundingbox[/tt] per definire a mano la bounding box. Dovresti in sostanza disegnare un quadrato immaginario per ogni figura, ovviamente ogni quadrato deve comprendere la figura. Tenendo come riferimento l’asse x, il quadrato della prima figura dovrebbe essere leggermente più grande verso il basso rispetto al quadrato della seconda. Quindi è un’opzione da lasciare perdere se non sai esattamente ciò che stai facendo.

        Tralasciando altre soluzioni un po’ impraticabili, quella più elegante è sicuramente di usare per entrambe le figure le stesse etichette per l’asse x. In questo modo siamo sicuri che occupino lo stesso spazio in basso. Poi, le rendiamo opache solo nella prima figura e il gioco è fatto. In termini di codice: `
        \documentclass[border=2pt]{standalone}
        \usepackage{pgfplots}
        \usepackage{kpfonts}

        \pgfplotsset{every axis/.append style={
        axis x line=bottom,
        axis line style={->},
        xlabel={$\rho$},
        axis lines = left,
        xtick = \empty,
        ytick = \empty,
        every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
        every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
        },
        fai sparire le etichette/.style={
        xtick style={opacity=0},
        xticklabel style={opacity=0},
        }
        }

        \tikzset{>=stealth}
        \begin{document}

        \begin{tikzpicture}
        \begin{axis}[
        ylabel=$D$,
        xmin=0,xmax=5,
        ymin=-1,ymax=6,
        xtick = {1, 4},
        xticklabels = {$\rho_c$, $\rho_j$},
        fai sparire le etichette,
        ]
        \addplot[domain = 0:1]{5*x};
        \addplot[domain=1:4]{5};
        \end{axis}
        \end{tikzpicture}

        \begin{tikzpicture}
        \begin{axis}[
        ylabel = $S$,
        xtick = {1, 4},
        xticklabels = {$\rho_c$, $\rho_j$},
        xmin=0,xmax=5,
        ymin=-1,ymax=6,
        ]
        \addplot[domain = 0:1]{5};
        \addplot[domain=1:4]{-5/3 * (x-1) + 5};
        \end{axis}
        \end{tikzpicture}

        \end{document}
        ` Non l’ho testato, ma dovrebbe funzionare.

        Ciao
        Claudio

      • #95590
        Up
        0
        Down
        ::

        DirkPitt” post=95214Effettivamente e’ elegante, pero’ le due funzioni sono ancora allineate orizzontalmente 🙁

        😳 È perché oggi non ne azzecco una!

        Ma se le vuoi allineate verticalmente, non è meglio usare l’opzione [tt]tikz[/tt] per verifica? In questo caso credo sia conveniente definirsi a mano la bounding box.

        `\documentclass

        {standalone}
        \usepackage{pgfplots}
        \usepackage{kpfonts}

        \pgfplotsset{every axis/.append style={
        axis x line=bottom,
        axis line style={->},
        xlabel={$\rho$},
        axis lines = left,
        xtick = \empty,
        ytick = \empty,
        every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
        every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
        },
        }

        \tikzset{>=stealth}
        \begin{document}

        \begin{tikzpicture}
        \useasboundingbox (-0.5,-0.5) rectangle (7.5,6);
        \begin{axis}[
        ylabel=$D$,
        xmin=0,xmax=5,
        ymin=-1,ymax=6,
        ]
        \addplot[domain = 0:1]{5*x};
        \addplot[domain=1:4]{5};
        \end{axis}
        \end{tikzpicture}

        \begin{tikzpicture}
        \useasboundingbox (-0.5125,-0.5) rectangle (7.5,6);
        \begin{axis}[
        ylabel = $S$,
        xtick = {1, 4},
        xticklabels = {$\rho_c$, $\rho_j$},
        xmin=0,xmax=5,
        ymin=-1,ymax=6,
        ]
        \addplot[domain = 0:1]{5};
        \addplot[domain=1:4]{-5/3 * (x-1) + 5};
        \end{axis}
        \end{tikzpicture}

        \end{document}`

        Ciao
        Claudio

      • #95591
        Up
        0
        Down
        ::


        ma con l’opzione tikz nella classe mi crea un pdf di 2 immagini, come mi hai detto tu stesso ieri!

        cfiandra” post=95216

        Effettivamente e’ elegante, pero’ le due funzioni sono ancora allineate orizzontalmente 🙁

        😳 È perché oggi non ne azzecco una!

        Ma se le vuoi allineate verticalmente, non è meglio usare l’opzione [tt]tikz[/tt] per verifica? In questo caso credo sia conveniente definirsi a mano la bounding box.

        `\documentclass[border=2pt,tikz]{standalone}
        \usepackage{pgfplots}
        \usepackage{kpfonts}

        \pgfplotsset{every axis/.append style={
        axis x line=bottom,
        axis line style={->},
        xlabel={$\rho$},
        axis lines = left,
        xtick = \empty,
        ytick = \empty,
        every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
        every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
        },
        }

        \tikzset{>=stealth}
        \begin{document}

        \begin{tikzpicture}
        \useasboundingbox (-0.5,-0.5) rectangle (7.5,6);
        \begin{axis}[
        ylabel=$D$,
        xmin=0,xmax=5,
        ymin=-1,ymax=6,
        ]
        \addplot[domain = 0:1]{5*x};
        \addplot[domain=1:4]{5};
        \end{axis}
        \end{tikzpicture}

        \begin{tikzpicture}
        \useasboundingbox (-0.5125,-0.5) rectangle (7.5,6);
        \begin{axis}[
        ylabel = $S$,
        xtick = {1, 4},
        xticklabels = {$\rho_c$, $\rho_j$},
        xmin=0,xmax=5,
        ymin=-1,ymax=6,
        ]
        \addplot[domain = 0:1]{5};
        \addplot[domain=1:4]{-5/3 * (x-1) + 5};
        \end{axis}
        \end{tikzpicture}

        \end{document}`

        Ciao
        Claudio

      • #95592
        Up
        0
        Down
        ::


        Forse l’opzione che serve a te è [tt]varwidth[/tt]. Prova questo esempio se corrisponde a quello che cerchi.
        `
        \documentclass

        {standalone}
        \usepackage{pgfplots}
        \usepackage{kpfonts}

        \pgfplotsset{every axis/.append style={
        axis x line=bottom,
        axis line style={->},
        xlabel={$\rho$},
        axis lines = left,
        xtick = \empty,
        ytick = \empty,
        every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
        every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
        },
        }

        \tikzset{>=stealth}
        \begin{document}

        \begin{tikzpicture}
        \useasboundingbox (-0.5,-0.5) rectangle (7.5,6);
        \begin{axis}[
        ylabel=$D$,
        xmin=0,xmax=5,
        ymin=-1,ymax=6,
        ]
        \addplot[domain = 0:1]{5*x};
        \addplot[domain=1:4]{5};
        \end{axis}
        \end{tikzpicture}

        \begin{tikzpicture}
        \useasboundingbox (-0.5125,-0.5) rectangle (7.5,6);
        \begin{axis}[
        ylabel = $S$,
        xtick = {1, 4},
        xticklabels = {$\rho_c$, $\rho_j$},
        xmin=0,xmax=5,
        ymin=-1,ymax=6,
        ]
        \addplot[domain = 0:1]{5};
        \addplot[domain=1:4]{-5/3 * (x-1) + 5};
        \end{axis}
        \end{tikzpicture}

        \end{document}
        `

      • #95593
        alegenn
        Partecipante
          Up
          0
          Down
          ::

          skevin93″ post=95219Forse l’opzione che serve a te è [tt]varwidth[/tt]. Prova questo esempio se corrisponde a quello che cerchi.
          `
          \documentclass

          {standalone}
          \usepackage{pgfplots}
          \usepackage{kpfonts}

          \pgfplotsset{every axis/.append style={
          axis x line=bottom,
          axis line style={->},
          xlabel={$\rho$},
          axis lines = left,
          xtick = \empty,
          ytick = \empty,
          every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
          every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
          },
          }

          \tikzset{>=stealth}
          \begin{document}

          \begin{tikzpicture}
          \useasboundingbox (-0.5,-0.5) rectangle (7.5,6);
          \begin{axis}[
          ylabel=$D$,
          xmin=0,xmax=5,
          ymin=-1,ymax=6,
          ]
          \addplot[domain = 0:1]{5*x};
          \addplot[domain=1:4]{5};
          \end{axis}
          \end{tikzpicture}

          \begin{tikzpicture}
          \useasboundingbox (-0.5125,-0.5) rectangle (7.5,6);
          \begin{axis}[
          ylabel = $S$,
          xtick = {1, 4},
          xticklabels = {$\rho_c$, $\rho_j$},
          xmin=0,xmax=5,
          ymin=-1,ymax=6,
          ]
          \addplot[domain = 0:1]{5};
          \addplot[domain=1:4]{-5/3 * (x-1) + 5};
          \end{axis}
          \end{tikzpicture}

          \end{document}
          `

          Hai ragione.
          Stavo facendo anch’io delle prove, però con l’opzione [tt]multi[/tt] (della classe [tt]standalone[/tt]), ma sebbene l’allineamento dei grafici fosse verticale, il crop risultava non essere soddisfacente!
          Saluti

        • #95594
          Up
          0
          Down
          ::


          Perfetto!

          grazie, ciao

          skevin93″ post=95219Forse l’opzione che serve a te è [tt]varwidth[/tt]. Prova questo esempio se corrisponde a quello che cerchi.
          `
          \documentclass

          {standalone}
          \usepackage{pgfplots}
          \usepackage{kpfonts}

          \pgfplotsset{every axis/.append style={
          axis x line=bottom,
          axis line style={->},
          xlabel={$\rho$},
          axis lines = left,
          xtick = \empty,
          ytick = \empty,
          every axis x label/.style={at={(axis description cs:1,0)},anchor=west},
          every axis y label/.style={at={(axis description cs:0,1)},anchor=east}
          },
          }

          \tikzset{>=stealth}
          \begin{document}

          \begin{tikzpicture}
          \useasboundingbox (-0.5,-0.5) rectangle (7.5,6);
          \begin{axis}[
          ylabel=$D$,
          xmin=0,xmax=5,
          ymin=-1,ymax=6,
          ]
          \addplot[domain = 0:1]{5*x};
          \addplot[domain=1:4]{5};
          \end{axis}
          \end{tikzpicture}

          \begin{tikzpicture}
          \useasboundingbox (-0.5125,-0.5) rectangle (7.5,6);
          \begin{axis}[
          ylabel = $S$,
          xtick = {1, 4},
          xticklabels = {$\rho_c$, $\rho_j$},
          xmin=0,xmax=5,
          ymin=-1,ymax=6,
          ]
          \addplot[domain = 0:1]{5};
          \addplot[domain=1:4]{-5/3 * (x-1) + 5};
          \end{axis}
          \end{tikzpicture}

          \end{document}
          `

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

      Go to top