- Questo topic ha 8 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 12 anni, 7 mesi fa da
Marco.
-
CreatoreTopic
-
30 Gennaio 2014 alle 19:48 #92030::
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
-
CreatoreTopic
-
AutoreRisposte
-
-
30 Gennaio 2014 alle 20:57 #92031::
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
-
30 Gennaio 2014 alle 21:33 #92032::
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. -
30 Gennaio 2014 alle 22:07 #92033::
@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.
-
30 Gennaio 2014 alle 22:18 #92034::
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.
-
31 Gennaio 2014 alle 7:40 #92035::
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. -
31 Gennaio 2014 alle 13:25 #92036::
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
MarcoP.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?
-
31 Gennaio 2014 alle 18:25 #92037::
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
MarcoP.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
-
31 Gennaio 2014 alle 19:30 #92038
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.