centrare disegno tikz

  • Creatore
    Topic
  • #92030
    Up
    0
    Down
    ::


    Buonasera
    sto disegnando dei telai (insiemi di travi e pilastri) con tikz. rappresento ogni elemento strutturale con una linea retta. Ogni immagine è composta da un telaio (sempre lo stesso) più delle scritte.
    Inserendo con subfloat le immagini una sopra l’altra rimangono centrate rispetto la pagina perchè uso il codice
    `\begin{figure}
    \centering
    \subfloat[][\emph{Combinazione 1, sezione di mezzeria.}.]{
    \begin{tikzpicture}
    \input{./Programmino_Matlab/diag05}
    \end{tikzpicture}
    \label{fig:diagr05}
    } \\
    \subfloat[][…`
    ma i telai tra loro non sono orizzontalmente allineati perché una scritta a destra è più lunga di un’altra.
    Domanda: esiste un comando che permette di allineare un disegno rispetto un determinato punto e non secondo la larghezza dell’intera immagine?

    Se non è chiara la mia richiesta allego una parte del codice.

    Marco

Visualizzazione 7 filoni di risposte
  • Autore
    Risposte
    • #92031
      Up
      0
      Down
      ::

      marchetto” post=91565Buonasera
      sto disegnando dei telai (insiemi di travi e pilastri) con tikz. rappresento ogni elemento strutturale con una linea retta. Ogni immagine è composta da un telaio (sempre lo stesso) più delle scritte.
      Inserendo con subfloat le immagini una sopra l’altra rimangono centrate rispetto la pagina perchè uso il codice
      `\begin{figure}
      \centering
      \subfloat[][\emph{Combinazione 1, sezione di mezzeria.}.]{
      \begin{tikzpicture}
      \input{./Programmino_Matlab/diag05}
      \end{tikzpicture}
      \label{fig:diagr05}
      } \\
      \subfloat[][…`
      ma i telai tra loro non sono orizzontalmente allineati perché una scritta a destra è più lunga di un’altra.
      Domanda: esiste un comando che permette di allineare un disegno rispetto un determinato punto e non secondo la larghezza dell’intera immagine?

      Se non è chiara la mia richiesta allego una parte del codice.

      Marco

      Troppo vago, spiacente. Occorre un esempio concreto.

      Ciao
      Enrico

    • #92032
      Up
      0
      Down
      ::


      Questo è il codice che inserisco:
      `\documentclass{article}
      %\documentclass{standalone}
      \usepackage[T1]{fontenc}
      \usepackage[utf8]{inputenc}
      \usepackage[italian]{babel}
      \usepackage{lmodern}
      \usepackage{subfig}
      \usepackage{pgfplots}
      \usepackage[output-decimal-marker={,},
      arc-separator=\,]{siunitx}
      \usepackage{amsmath}
      \usepackage{amsfonts}
      \usepackage{amssymb}
      \usepackage{structuralanalysis}

      \tikzset{immagine/.style={%
      above right, inner sep=0pt, outer sep=0pt},
      testo/.style={ align=center,above}}

      \begin{document}

      \begin{figure}
      \centering
      \subfloat[][\emph{Combinazione 2, sezione di mezzeria.}.]{
      \begin{tikzpicture}
      \point{a}{0}{2.4};
      \point{b}{2}{2.4};
      \point{c}{10}{2.4};
      \point{d}{12}{2.4};
      \point{e}{4}{0};
      \point{f}{8}{0};
      \beam{1}{a}{d}[0][0];
      \beam{1}{b}{e}[1][1];
      \beam{1}{e}{f}[1][1];
      \beam{1}{f}{c}[1][1];)
      \point{g}{6}{2.4};
      \point{h}{6}{0};
      \internalforces{a}{b}{0}{-0.8015}[-.1][black][0.5];
      \internalforces{c}{d}{-0.3929}{0}[-.1][black][0.5];
      \point{p1}{2}{3.2015};
      \point{p2}{10}{2.7929};
      \notation{1}{p1}{$\num{-1.75e+02}$}[above left];
      \notation{1}{p2}{$\num{-8.60e+01}$}[above right];
      \internalforces{b}{c}{-2.0000}{-1.1985}[-2.7][black][0.5];
      \internalforces{g}{g}{-0.4094}{-0.4094}[0][black];
      \point{p3}{2}{4.4000};
      \point{p4}{6}{1.9906};
      \point{p5}{10}{3.5985};
      \notation{1}{p3}{$\num{-4.38e+02}$}[above right];
      \notation{1}{p4}{$\num{8.96e+01}$}[below];
      \notation{1}{p5}{$\num{-2.62e+02}$}[above left];
      \internalforces{e}{f}{-0.2069}{0.2617}[0][black];
      \point{p10}{4}{0.2069};
      \point{p11}{6}{-0.0000};
      \point{p12}{8}{-0.2617};
      \notation{1}{e}{$\num{-4.53e+01}$}[below left];
      \notation{1}{p11}{$\num{0.00e+00}$}[above ];
      \notation{1}{f}{$\num{5.73e+01}$}[above left];
      \internalforces{b}{e}{1.0615}{-0.2069}[0][black][0.5];
      \point{p6}{1.1846}{1.7205};
      \point{p7}{4.1589}{0.1324};
      \notation{1}{p6}{$\num{2.32e+02}$}[below left];
      \internalforces{f}{c}{0.2617}{0.4917}[0][black][0.5];
      \point{p8}{8.2010}{-0.1675};
      \point{p9}{10.3777}{2.0852};
      \notation{1}{p9}{$\num{1.08e+02}$}[below right];
      \end{tikzpicture}
      \label{fig:diagr03}
      } \\
      \subfloat[][\emph{Combinazione 2, sezione di testata.}.]{
      \begin{tikzpicture}
      \point{a}{0}{2.4};
      \point{b}{2}{2.4};
      \point{c}{10}{2.4};
      \point{d}{12}{2.4};
      \point{e}{4}{0};
      \point{f}{8}{0};
      \beam{1}{a}{d}[0][0];
      \beam{1}{b}{e}[1][1];
      \beam{1}{e}{f}[1][1];
      \beam{1}{f}{c}[1][1];)
      \point{g}{6}{2.4};
      \point{h}{6}{0};
      \internalforces{a}{b}{0}{-1.6105}[-.3][black][0.5];
      \internalforces{c}{d}{-1.0653}{0}[-.3][black][0.5];
      \point{p1}{2}{4.0105};
      \point{p2}{10}{3.4653};
      \notation{1}{p1}{$\num{-2.71e+02}$}[above left];
      \notation{1}{p2}{$\num{-1.79e+02}$}[above];
      \internalforces{b}{c}{-2.0000}{-1.0653}[-2.65][black][0.5];
      \internalforces{g}{g}{-0.4309}{-0.4309}[0][black];
      \point{p3}{2}{4.4000};
      \point{p4}{6}{1.9691};
      \point{p5}{10}{3.4653};
      \notation{1}{p3}{$\num{-3.37e+02}$}[above right];
      \notation{1}{p4}{$\num{7.26e+01}$}[below];
      % \notation{1}{p5}{$\num{-1.79e+02}$}[above left];
      \internalforces{e}{f}{-0.6140}{0.5409}[0][black];
      % \internalforces{h}{f}{0.0000}{0.5409}[-.1][black][0.5];
      \point{p10}{4}{0.6140};
      \point{p11}{6}{-0.0000};
      \point{p12}{8}{-0.5409};
      \notation{1}{e}{$\num{-1.03e+02}$}[below left];
      \notation{1}{p11}{$\num{0.00e+00}$}[below ];
      \notation{1}{f}{$\num{9.11e+01}$}[above left];
      \internalforces{b}{e}{0.5318}{-0.6140}[0][black][0.5];
      \point{p6}{1.5915}{2.0596};
      \point{p7}{4.4717}{0.3931};
      \notation{1}{p6}{$\num{8.95e+01}$}[below left];
      % \notation{1}{p7}{$\num{-1.03e+02}$}[above right];
      \internalforces{f}{c}{0.5409}{0.0000}[0][black][0.5];
      \point{p8}{8.4155}{-0.3463};
      \point{p9}{10.0000}{2.4000};
      % \notation{1}{p8}{$\num{9.11e+01}$}[below right];
      \notation{1}{p9}{$\num{0.00e+00}$}[below right];
      \end{tikzpicture}
      \label{fig:diagr04}
      }
      \caption{Diagrammi momento flettente dovuti a carichi variabili distribuiti. Grandezze espresse in \si{\kN\m\per\m}.}
      \end{figure}

      \end{document}`
      Il pacchetto structuralanalysis è in allegato e basta inserirlo nella cartella dove si trova anche il file.tex.
      Allego anche il pdf del risultato.Come si può vedere nel pdf le due immgini sono centrate nel foglio ma guardando i due telai, non sono allineati fra loro, quello sotto è spostato a sinistra rispetto quello sopra. Per telaio intendo l’insieme composta da righe continue e tratteggiate parallele. Questo problema è dovuto alle scritte che non sono nella stessa posizione nelle due figure.

      [attachment=904]Supporto_disegni_2014-01-30.pdf[/attachment]

      [attachment=905]structuralanalysis.zip[/attachment]

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



        @Marchetto
        , non so rispondere alla tua domanda perché vedo i due disegni perfettamente centrati; quindi non capisco a cosa tu alluda.

        Forse ti suggerirei, a livello di disegno, di tracciare il telaio con linee più nero per distinguerle dalle linee che formano i diagrammi di momento.

        Infine vorrei saper che cosa significa quel numero $0,005,73\times 10^1$ visto che i numeri fratti non contengono due separatori decimali; se si tratta di $0,005\,73\times10^1$ allora scrivilo semplicemente senza la potenza di 10 e la virgola spostata: $0,0573$; se si ratta d’altro mi piacerebbe sapere che cosa significa; pura curiosità; se non hai voglia di dirmelo, va bene lo stesso.

      • #92034
        Up
        0
        Down
        ::


        Seppure di pochi millimetri, i due telai non sono allineati fra loro: quello di figura 1b è spostato a sinistra.

        OldClaudio” post=91577Forse ti suggerirei, a livello di disegno, di tracciare il telaio con linee più nero per distinguerle dalle linee che formano i diagrammi di momento.

        Grazie per il suggerimento, penso che farò così oppure opterò per un colore (blu o rosso) per i diagrammi delle forze.

        OldClaudio” post=91577Infine vorrei saper che cosa significa quel numero $0,005,73\times 10^1$ visto che i numeri fratti non contengono due separatori decimali; se si tratta di $0,005\,73\times10^1$ allora scrivilo semplicemente senza la potenza di 10 e la virgola spostata: $0,0573$; se si ratta d’altro mi piacerebbe sapere che cosa significa; pura curiosità; se non hai voglia di dirmelo, va bene lo stesso.

        Quel numero non è…un numero bensì due: 0,00 e 5,73×10^1. Compilando l’esempio ho involontariamente tolto dei comandi per scalare il disegno e mi si sono sovrapposte le due misure. Ho deciso di tenere la notazione scientifica per certi numeri perché sono valori che derivano dal calolatore (matlab) mentre lo 0,00 è un vincolo da me imposto. Questa notazione viene chiarita nella relazione e serve a distinguere la provenienza dei dati.

      • #92035
        Up
        0
        Down
        ::


        Corretto, i due disegni non sono allineati:

        [attachment=906]prova_2014-01-31.pdf[/attachment]

        Per capirne la ragione, molto spesso basta inserire una banale [tt]fbox[/tt] o [tt]show background rectangle[/tt] della libreria backgrounds, come da allegato. Il problema, è che le due bounding box hanno dimensioni differenti; la soluzione più facile, almeno dal mio punto di vista, è determinare quale sia la bounding box minima per entrambe le figure:`
        \documentclass{article}
        %\documentclass{standalone}
        \usepackage[T1]{fontenc}
        \usepackage[utf8]{inputenc}
        \usepackage[italian]{babel}
        \usepackage{lmodern}
        \usepackage{subfig}
        \usepackage{pgfplots}
        \usepackage[output-decimal-marker={,},
        arc-separator=\,]{siunitx}
        \usepackage{amsmath}
        %\usepackage{amsfonts}
        \usepackage{amssymb}
        \usepackage{structuralanalysis}
        \usetikzlibrary{backgrounds}

        \tikzset{immagine/.style={%
        above right, inner sep=0pt, outer sep=0pt},
        testo/.style={ align=center,above}}

        \begin{document}

        \begin{figure}
        \centering
        \subfloat[][\emph{Combinazione 2, sezione di mezzeria.}.]{
        \begin{tikzpicture}[show background rectangle]
        \useasboundingbox (-0.8,-1.1985) rectangle (12.2,5.0);
        \point{a}{0}{2.4};
        \point{b}{2}{2.4};
        \point{c}{10}{2.4};
        \point{d}{12}{2.4};
        \point{e}{4}{0};
        \point{f}{8}{0};
        \beam{1}{a}{d}[0][0];
        \beam{1}{b}{e}[1][1];
        \beam{1}{e}{f}[1][1];
        \beam{1}{f}{c}[1][1];)
        \point{g}{6}{2.4};
        \point{h}{6}{0};
        \internalforces{a}{b}{0}{-0.8015}[-.1][black][0.5];
        \internalforces{c}{d}{-0.3929}{0}[-.1][black][0.5];
        \point{p1}{2}{3.2015};
        \point{p2}{10}{2.7929};
        \notation{1}{p1}{$\num{-1.75e+02}$}[above left];
        \notation{1}{p2}{$\num{-8.60e+01}$}[above right];
        \internalforces{b}{c}{-2.0000}{-1.1985}[-2.7][black][0.5];
        \internalforces{g}{g}{-0.4094}{-0.4094}[0][black];
        \point{p3}{2}{4.4000};
        \point{p4}{6}{1.9906};
        \point{p5}{10}{3.5985};
        \notation{1}{p3}{$\num{-4.38e+02}$}[above right];
        \notation{1}{p4}{$\num{8.96e+01}$}[below];
        \notation{1}{p5}{$\num{-2.62e+02}$}[above left];
        \internalforces{e}{f}{-0.2069}{0.2617}[0][black];
        \point{p10}{4}{0.2069};
        \point{p11}{6}{-0.0000};
        \point{p12}{8}{-0.2617};
        \notation{1}{e}{$\num{-4.53e+01}$}[below left];
        \notation{1}{p11}{$\num{0.00e+00}$}[above ];
        \notation{1}{f}{$\num{5.73e+01}$}[above left];
        \internalforces{b}{e}{1.0615}{-0.2069}[0][black][0.5];
        \point{p6}{1.1846}{1.7205};
        \point{p7}{4.1589}{0.1324};
        \notation{1}{p6}{$\num{2.32e+02}$}[below left];
        \internalforces{f}{c}{0.2617}{0.4917}[0][black][0.5];
        \point{p8}{8.2010}{-0.1675};
        \point{p9}{10.3777}{2.0852};
        \notation{1}{p9}{$\num{1.08e+02}$}[below right];
        \end{tikzpicture}
        \label{fig:diagr03}
        } \\
        \subfloat[][\emph{Combinazione 2, sezione di testata.}.]{
        \begin{tikzpicture}[show background rectangle]
        \useasboundingbox (-0.8,-1.1985) rectangle (12.2,5.0);
        \point{a}{0}{2.4};
        \point{b}{2}{2.4};
        \point{c}{10}{2.4};
        \point{d}{12}{2.4};
        \point{e}{4}{0};
        \point{f}{8}{0};
        \beam{1}{a}{d}[0][0];
        \beam{1}{b}{e}[1][1];
        \beam{1}{e}{f}[1][1];
        \beam{1}{f}{c}[1][1];)
        \point{g}{6}{2.4};
        \point{h}{6}{0};
        \internalforces{a}{b}{0}{-1.6105}[-.3][black][0.5];
        \internalforces{c}{d}{-1.0653}{0}[-.3][black][0.5];
        \point{p1}{2}{4.0105};
        \point{p2}{10}{3.4653};
        \notation{1}{p1}{$\num{-2.71e+02}$}[above left];
        \notation{1}{p2}{$\num{-1.79e+02}$}[above];
        \internalforces{b}{c}{-2.0000}{-1.0653}[-2.65][black][0.5];
        \internalforces{g}{g}{-0.4309}{-0.4309}[0][black];
        \point{p3}{2}{4.4000};
        \point{p4}{6}{1.9691};
        \point{p5}{10}{3.4653};
        \notation{1}{p3}{$\num{-3.37e+02}$}[above right];
        \notation{1}{p4}{$\num{7.26e+01}$}[below];
        % \notation{1}{p5}{$\num{-1.79e+02}$}[above left];
        \internalforces{e}{f}{-0.6140}{0.5409}[0][black];
        % \internalforces{h}{f}{0.0000}{0.5409}[-.1][black][0.5];
        \point{p10}{4}{0.6140};
        \point{p11}{6}{-0.0000};
        \point{p12}{8}{-0.5409};
        \notation{1}{e}{$\num{-1.03e+02}$}[below left];
        \notation{1}{p11}{$\num{0.00e+00}$}[below ];
        \notation{1}{f}{$\num{9.11e+01}$}[above left];
        \internalforces{b}{e}{0.5318}{-0.6140}[0][black][0.5];
        \point{p6}{1.5915}{2.0596};
        \point{p7}{4.4717}{0.3931};
        \notation{1}{p6}{$\num{8.95e+01}$}[below left];
        % \notation{1}{p7}{$\num{-1.03e+02}$}[above right];
        \internalforces{f}{c}{0.5409}{0.0000}[0][black][0.5];
        \point{p8}{8.4155}{-0.3463};
        \point{p9}{10.0000}{2.4000};
        % \notation{1}{p8}{$\num{9.11e+01}$}[below right];
        \notation{1}{p9}{$\num{0.00e+00}$}[below right];
        \end{tikzpicture}
        \label{fig:diagr04}
        }
        \caption{Diagrammi momento flettente dovuti a carichi variabili distribuiti. Grandezze espresse in \si{\kN\m\per\m}.}
        \end{figure}

        \end{document}
        ` A giochi fatti, ovviamente leva il [tt]show background rectangle[/tt].

        Ultima cosa, sul pacchetto. Mi sembra un buon lavoro anche se io non sono un fan di macro con mille argomenti: per migliorare la leggibilità preferisco l’utilizzo di chiave-valore. Tu ovviamente sai cosa vuol dire ognuno degli argomenti di:`
        \internalforces{a}{b}{0}{-1.6105}[-.3][black][0.5];

        \beam{1}{f}{c}[1][1];
        ` perché in questo momento ci lavori. Ma ti assicuro che se dopo qualche mese di completa inattività torni a guardare quel sorgente non ti apparirà così chiaro; invece leggendo qualcosa tipo: `
        \node[module size=0.5cm,pin length factor=0.5,
        module ysep=1, module xsep=1.25,
        clos rear={module label opacity=0}] {};
        ` è immediato capire cosa fa ognuna delle chiavi. L’esempio è tratto dal pacchetto sa-tikz v0.7a che è disponibile su TeXLive e su https://github.com/cfiandra/Sa-TikZ. Puoi guardare il codice di quel pacchetto per capire come implementare un meccanismo chiave-valore con TikZ.

        Ultima cosa, [tt]tikzstyle[/tt] è deprecato; non creare nuovi stile con quel comando, ma usa [tt]tikzset[/tt].

        Ciao
        Claudio

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

        cfiandra” post=91584Corretto, i due disegni non sono allineati:

        [attachment=906]prova_2014-01-31.pdf[/attachment]

        Per capirne la ragione, molto spesso basta inserire una banale [tt]fbox[/tt] o [tt]show background rectangle[/tt] della libreria backgrounds, come da allegato. Il problema, è che le due bounding box hanno dimensioni differenti; la soluzione più facile, almeno dal mio punto di vista, è determinare quale sia la bounding box minima per entrambe le figure:`
        \documentclass{article}
        %\documentclass{standalone}
        \usepackage[T1]{fontenc}
        \usepackage[utf8]{inputenc}
        \usepackage[italian]{babel}
        \usepackage{lmodern}
        \usepackage{subfig}
        \usepackage{pgfplots}
        \usepackage[output-decimal-marker={,},
        arc-separator=\,]{siunitx}
        \usepackage{amsmath}
        %\usepackage{amsfonts}
        \usepackage{amssymb}
        \usepackage{structuralanalysis}
        \usetikzlibrary{backgrounds}

        \tikzset{immagine/.style={%
        above right, inner sep=0pt, outer sep=0pt},
        testo/.style={ align=center,above}}

        \begin{document}

        \begin{figure}
        \centering
        \subfloat[][\emph{Combinazione 2, sezione di mezzeria.}.]{
        \begin{tikzpicture}[show background rectangle]
        \useasboundingbox (-0.8,-1.1985) rectangle (12.2,5.0);
        \point{a}{0}{2.4};
        \point{b}{2}{2.4};
        \point{c}{10}{2.4};
        \point{d}{12}{2.4};

        \point{p9}{10.3777}{2.0852};
        \notation{1}{p9}{$\num{1.08e+02}$}[below right];
        \end{tikzpicture}
        \label{fig:diagr03}
        } \\
        \subfloat[][\emph{Combinazione 2, sezione di testata.}.]{
        \begin{tikzpicture}[show background rectangle]
        \useasboundingbox (-0.8,-1.1985) rectangle (12.2,5.0);
        \point{a}{0}{2.4};
        \point{b}{2}{2.4};

        \point{p9}{10.0000}{2.4000};
        % \notation{1}{p8}{$\num{9.11e+01}$}[below right];
        \notation{1}{p9}{$\num{0.00e+00}$}[below right];
        \end{tikzpicture}
        \label{fig:diagr04}
        }
        \caption{Diagrammi momento flettente dovuti a carichi variabili distribuiti. Grandezze espresse in \si{\kN\m\per\m}.}
        \end{figure}

        \end{document}
        ` A giochi fatti, ovviamente leva il [tt]show background rectangle[/tt].

        I diagrammi sono molti e vengono impilati a gruppi di quattro, i bordi orizzontali del rettangolo di contorno devono essere ottimizzati per ridurre lo spazio verticale tra un’immagine e l’altra quindi dovrei sceglierli appositamente di volta in volta, lavoro che diventerebbe impreciso e piuttosto lungo. La soluzione che mi hai dato andrebbe bene se non ci fosse questo problema. I bordi verticali (quello dx e quello sx) invece possono essere fissati una volta sola per tutti i grafici quindi ho optato per una soluzione forse non elegante ma almeno è rapida:
        `\draw [white] (-1.5,0) circle (0pt) (13.5,0) circle (0pt);`
        Cosa ne pensi? Avresti un’alternativa?

        cfiandra” post=91584
        Ultima cosa, sul pacchetto. Mi sembra un buon lavoro anche se io non sono un fan di macro con mille argomenti: per migliorare la leggibilità preferisco l’utilizzo di chiave-valore. Tu ovviamente sai cosa vuol dire ognuno degli argomenti di:`
        \internalforces{a}{b}{0}{-1.6105}[-.3][black][0.5];

        \beam{1}{f}{c}[1][1];
        ` perché in questo momento ci lavori. Ma ti assicuro che se dopo qualche mese di completa inattività torni a guardare quel sorgente non ti apparirà così chiaro; invece leggendo qualcosa tipo: `
        \node[module size=0.5cm,pin length factor=0.5,
        module ysep=1, module xsep=1.25,
        clos rear={module label opacity=0}] {};
        ` è immediato capire cosa fa ognuna delle chiavi. L’esempio è tratto dal pacchetto sa-tikz v0.7a che è disponibile su TeXLive e su https://github.com/cfiandra/Sa-TikZ. Puoi guardare il codice di quel pacchetto per capire come implementare un meccanismo chiave-valore con TikZ.

        Ultima cosa, [tt]tikzstyle[/tt] è deprecato; non creare nuovi stile con quel comando, ma usa [tt]tikzset[/tt].

        Tengo a precisare che il pacchetto non è mio: è stato creato da un tesista tedesco e io ho solo collaborato aggiungendo qualche funzione mancante e delle piccole parti. Questo ragazzo ha fatto un grande lavoro e ha creato anche la versione per le strutture 3D.

        Ho appena visto il manuale del pacchetto Sa-tikz (fresco di pubblicazione su texlive 😀 !). Ho capito cosa intendi riguardo alle macro e i mille argomenti, certo il tuo pacchetto permette di disegnare con codici ordinati e più semplici da “ricordare”. C’è di buono che di questo pacchetto è stato scritto un manuale (in tedesco) che descrive abbastanza bene molti comandi.

        Grazie per tutti i consigli
        Saluti
        Marco

        P.S.: il link che hai aggiunto mi restituisce “page not found”.
        P.P.S.: Ho visto il sito del pacchetto Sa-tikz. Mi è piaciuta molto la grafica del titolo.
        P.P.P.S.: Nel manuale del pacchetto, nella nota n.1 in basso a pagina 2 “1In order to compile the documentation, and only for this scope, TikZ 3.0.0 is mandatory.”: si sa quando verrà pubblicato tikz 3.0.0?

      • #92037
        Up
        0
        Down
        ::

        marchetto” post=91587I diagrammi sono molti e vengono impilati a gruppi di quattro, i bordi orizzontali del rettangolo di contorno devono essere ottimizzati per ridurre lo spazio verticale tra un’immagine e l’altra quindi dovrei sceglierli appositamente di volta in volta, lavoro che diventerebbe impreciso e piuttosto lungo. La soluzione che mi hai dato andrebbe bene se non ci fosse questo problema. I bordi verticali (quello dx e quello sx) invece possono essere fissati una volta sola per tutti i grafici quindi ho optato per una soluzione forse non elegante ma almeno è rapida:
        `\draw [white] (-1.5,0) circle (0pt) (13.5,0) circle (0pt);`
        Cosa ne pensi? Avresti un’alternativa?

        Beh, in realtà tu fai la stessa cosa. In pratica, TikZ rispetto a PSTricks non ti forza a definire per prima cosa la bounding box, se la calcola da sola. Però, in un caso come il tuo serve proprio specificarla a mano. Io l’ho fatto in modo esplicito con [tt]\useboundingbox[/tt], tu lo hai fatto dietro le quinte: hai definito due punti ai bordi del rettangolo che io ho disegnato con il comando. Quei due punti aggiornano la bounding box e quindi sei a posto.

        marchetto” post=91587

        Ultima cosa, sul pacchetto. Mi sembra un buon lavoro anche se io non sono un fan di macro con mille argomenti: per migliorare la leggibilità preferisco l’utilizzo di chiave-valore. Tu ovviamente sai cosa vuol dire ognuno degli argomenti di:`
        \internalforces{a}{b}{0}{-1.6105}[-.3][black][0.5];

        \beam{1}{f}{c}[1][1];
        ` perché in questo momento ci lavori. Ma ti assicuro che se dopo qualche mese di completa inattività torni a guardare quel sorgente non ti apparirà così chiaro; invece leggendo qualcosa tipo: `
        \node[module size=0.5cm,pin length factor=0.5,
        module ysep=1, module xsep=1.25,
        clos rear={module label opacity=0}] {};
        ` è immediato capire cosa fa ognuna delle chiavi. L’esempio è tratto dal pacchetto sa-tikz v0.7a che è disponibile su TeXLive e su https://github.com/cfiandra/Sa-TikZ. Puoi guardare il codice di quel pacchetto per capire come implementare un meccanismo chiave-valore con TikZ.

        Ultima cosa, [tt]tikzstyle[/tt] è deprecato; non creare nuovi stile con quel comando, ma usa [tt]tikzset[/tt].

        Tengo a precisare che il pacchetto non è mio: è stato creato da un tesista tedesco e io ho solo collaborato aggiungendo qualche funzione mancante e delle piccole parti. Questo ragazzo ha fatto un grande lavoro e ha creato anche la versione per le strutture 3D.

        Ho appena visto il manuale del pacchetto Sa-tikz (fresco di pubblicazione su texlive 😀 !). Ho capito cosa intendi riguardo alle macro e i mille argomenti, certo il tuo pacchetto permette di disegnare con codici ordinati e più semplici da “ricordare”. C’è di buono che di questo pacchetto è stato scritto un manuale (in tedesco) che descrive abbastanza bene molti comandi.

        Grazie per tutti i consigli
        Saluti
        Marco

        P.S.: il link che hai aggiunto mi restituisce “page not found”.
        P.P.S.: Ho visto il sito del pacchetto Sa-tikz. Mi è piaciuta molto la grafica del titolo.
        P.P.P.S.: Nel manuale del pacchetto, nella nota n.1 in basso a pagina 2 “1In order to compile the documentation, and only for this scope, TikZ 3.0.0 is mandatory.”: si sa quando verrà pubblicato tikz 3.0.0?

        Il link è sbagliato perché c’è un punto finale, poi lo correggo.

        La grafica del sito è una di quelle di default: il bello di GitHub pages è proprio che si può fare un sito in 5 minuti.

        In teoria dovrebbe già aver raggiunto CTAN, ma bisognerà vedere perché è un pacchetto molto grande e complesso. Per compilare la documentazione di Sa-TikZ serve TikZ 3.0.0 per le nuove macro del manuale: visto che sono state aggiornate, volevo mantenere compatibilità nello stile della mia documentazione. La nuova versione di Sa-TikZ è compatibile con TikZ 3.0.0 nel senso che finalmente la libreria matematica ha un controllo [tt]\pgfmathisodd[/tt] che avevo dovuto definirmi per conto mio in precedenza; siccome lo avevo chiamato nello stesso modo c’era un problema di compatibilità.

        Ciao
        Claudio

      • #92038
        Up
        0
        Down
        ::


        Grazie per l’aiuto e per le spiegazioni.

        il punto in fondo al limk mi era proprio sfuggito.

        Buona serata
        Marco

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

    Go to top