- Questo topic ha 9 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 13 anni, 12 mesi fa da
Spike.
-
CreatoreTopic
-
9 Settembre 2012 alle 18:46 #78291::
Salve a tutti,
ho appena reso disponibile su gitorious una libreria TikZ che ho scritto in questo periodo. Il suo scopo è quello di aiutare a disegnare diagrammi bidimensionali di statica (meccanica) definendo le forme dei vincoli che vengono solitamente utilizzati nei diagrammi stessi. Potete vedere alcuni semplici esempi di questi diagrammi nel file di documentazione.Pagina del repository: https://gitorious.org/tikz-mec/tikz-mec
È possibile clonare il repository in locale tramite git oppure scaricare un archivio compresso con tutti i file dal pulsante “Download master as tar.gz” sulla dentra nella pagina https://gitorious.org/tikz-mec/tikz-mec/trees/master
Per testare la libreria è sufficiente caricare il pacchetto tikz e poi richiamarla tramite il comando
`\usetikzlibrary{mec}`
Faccio l’annuncio con la speranza che la libreria sia utile a qualcuno. Vi chiedo anche di provarla e segnalarmi tutto ciò che pensiate che non vada o che vada migliorato.Grazie
Fra
-
CreatoreTopic
-
AutoreRisposte
-
-
10 Settembre 2012 alle 5:29 #78292::
Spike” post=77382Salve a tutti,
ho appena reso disponibile su gitorious una libreria TikZ che ho scritto in questo periodo. Il suo scopo è quello di aiutare a disegnare diagrammi bidimensionali di statica (meccanica) definendo le forme dei vincoli che vengono solitamente utilizzati nei diagrammi stessi. Potete vedere alcuni semplici esempi di questi diagrammi nel file di documentazione.Pagina del repository: https://gitorious.org/tikz-mec/tikz-mec
È possibile clonare il repository in locale tramite git oppure scaricare un archivio compresso con tutti i file dal pulsante “Download master as tar.gz” sulla dentra nella pagina https://gitorious.org/tikz-mec/tikz-mec/trees/master
Per testare la libreria è sufficiente caricare il pacchetto tikz e poi richiamarla tramite il comando
`\usetikzlibrary{mec}`
Faccio l’annuncio con la speranza che la libreria sia utile a qualcuno. Vi chiedo anche di provarla e segnalarmi tutto ciò che pensiate che non vada o che vada migliorato.Grazie
FraEccola, finalmente!!! 🙂
Quindi, inizio subito a rompere le scatole. 😛 Ho fatto la seguente prova:
`
\documentclass[a4paper,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{mec}\begin{document}
Prova 1:
\begin{center}
\fbox{
\begin{tikzpicture}
\node[support, grounded, draw] (mysupport) at(0,0){};
\node[double pendulum,grounded, draw,xshift=2cm] (mydbpend) at (mysupport.east){};
\node[hinge,grounded, draw,xshift=2cm] (myhinge) at (mydbpend.mid east){};\draw[red](mysupportground.north east)–(mydbpendground.north west);
\draw[red](mydbpendground.north east)–(myhingeground.north west);
\end{tikzpicture}
}
\end{center}Prova 2 (usato in doppio pendolo \verb!east! non definita: c'è l'errore, ma funziona ugualmente):
\begin{center}
\fbox{
\begin{tikzpicture}
\node[support, grounded, draw] (mysupport) at(0,0){};
\node[double pendulum,grounded, draw,xshift=2cm] (mydbpend) at (mysupport.east){};
\node[hinge,grounded, draw,xshift=2cm] (myhinge) at (mydbpend.east){};\draw[red](mysupportground.north east)–(mydbpendground.north west);
\draw[red](mydbpendground.north east)–(myhingeground.north west);
\end{tikzpicture}
}
\end{center}\end{document}
`Immaginavo che succedesse il finimondo, ma a parte l’errore:
`! Package PGF Math Error: Unknown function `east' (in 'east').`
il risultato grafico è:
[attachment=432]Immagine_2012-09-10.jpg[/attachment]
Perché?
BTW: avendo posizionato il doppio pendolo a [tt]east[/tt] del carrello, il risultato è avere il doppio pendolo leggermente più in basso perché in genere i punti di ancoraggio sono in alto per ogni forma, giusto?
Ciao
Claudio
Attachments:
You must be logged in to view attached files. -
10 Settembre 2012 alle 8:34 #78293::
Ciao Claudio,
allora, innanzitutto ti consiglio di guardare sempre le ancore definite per le varie forme e le loro posizioni. Nella seconda figura l’errore c’è perché l’ancora [tt]east[/tt] non è definita per il doppio pendolo (c’è solo [tt]mid east[/tt] per ora). Quindi lui non sa dove metterla e la riferisce a [tt]mydbpend[/tt]. Questo spiega la differenza tra le 2 forme.
Come hai detto tu, poi, le forme non sono allineate in quanto il riferimento di default non si trova al loro centro (come è normalmente per forme come [tt]circle[/tt] o [tt]rectangle[/tt]) ma più in alto. Le ancore [tt]east,west[/tt] ecc. quindi non sono allineate con quella di default. Quindi, se vuoi le forme allineate ti basta riferirti sempre all’ancora di default e scrivere semplicemente
`\begin{tikzpicture}
\node[support, grounded, draw] (mysupport) at(0,0){};
\node[double pendulum,grounded, draw,xshift=2cm] (mydbpend) at (mysupport){};
\node[hinge,grounded, draw,xshift=2cm] (myhinge) at (mydbpend){};\draw[red](mysupportground.north east)–(mydbpendground.north west);
\draw[red](mydbpendground.north east)–(myhingeground.north west);
\end{tikzpicture}`
e lasciare che le linee di base (dove parte il ground diciamo) siano disallineate (come succederebbe con una [tt]hinge b[/tt]). Era questo che chiedevi?
Perché questo comportamento? I motivo è che non è tanto importante che le figure abbiano la stessa linea di base, ma che siano allineate al punto di ancoraggio, perché solitamente è quello il punto che interessa quando si deve disegnare, ad esempio, una travatura. Quindi è sempre meglio riferirsi a lui e considerare le altre ancore come un di più da utilizzare in rari casi.Ciao
Fra
-
10 Settembre 2012 alle 8:54 #78294::
Il punto che mi mancava è che se l’ancora non è definita (come [tt]east[/tt]) il riferimento è all’ancora origine ([tt]mydbpend[/tt]), sempre che ancora origine sia il suo vero nome 😀 (preciso che la documentazione la conoscevo e ho intenzionalmente usato un’ancora non definita per vedere il risultato)!Comunque inserirei la spiegazione nella documentazione in modo tale che sia ben chiaro il concetto (magari puoi riciclare l’esempio precedente come errato utilizzo)!
Ciao
Claudio
-
10 Settembre 2012 alle 9:54 #78295::
cfiandra” post=77410Il punto che mi mancava è che se l’ancora non è definita (come [tt]east[/tt]) il riferimento è all’ancora origine ([tt]mydbpend[/tt]), sempre che ancora origine sia il suo vero nome 😀 (preciso che la documentazione la conoscevo e ho intenzionalmente usato un’ancora non definita per vedere il risultato)!
Comunque inserirei la spiegazione nella documentazione in modo tale che sia ben chiaro il concetto (magari puoi riciclare l’esempio precedente come errato utilizzo)!
Ciao
ClaudioCerto lo so che la conosci 😉 Pensavo che quella cosa ti era sfuggita perché avevo cambiato delle ancore proprio ieri! Sono stato io a non capire, sorry.
Comunque hai ragione, aggiungerò al prossimo aggiornamento!Grazie
Fra
-
13 Settembre 2012 alle 14:21 #78296::
Come suggerito da Elrond ho eliminato il file di documentazione e il file della libreria dal repository. Per generare questi file si possono seguire le istruzioni nel file README, cioè:– libreria: compilare con latex il file tikz-mec.ins (latex tikz-mec.ins)
– documentazione: compilare (2 volte) con pdflatex il file tikz-mec.dtx (pdflatex tikz-mec.dtx)
Ciao a tutti
Fra
-
13 Settembre 2012 alle 17:57 #78297::
Spike” post=77382Salve a tutti,
ho appena reso disponibile su gitorious una libreria TikZ che ho scritto in questo periodo. Il suo scopo è quello di aiutare a disegnare diagrammi bidimensionali di statica (meccanica) definendo le forme dei vincoli che vengono solitamente utilizzati nei diagrammi stessi. Potete vedere alcuni semplici esempi di questi diagrammi nel file di documentazione.Pagina del repository: https://gitorious.org/tikz-mec/tikz-mec
È possibile clonare il repository in locale tramite git oppure scaricare un archivio compresso con tutti i file dal pulsante “Download master as tar.gz” sulla dentra nella pagina https://gitorious.org/tikz-mec/tikz-mec/trees/master
Per testare la libreria è sufficiente caricare il pacchetto tikz e poi richiamarla tramite il comando
`\usetikzlibrary{mec}`
Faccio l’annuncio con la speranza che la libreria sia utile a qualcuno. Vi chiedo anche di provarla e segnalarmi tutto ciò che pensiate che non vada o che vada migliorato.Grazie
FraCiao Francesco, complimenti per il tuo lavoro!
Stasera, per passare il tempo, ho scritto un file batch per installare la tua libreria nell’albero personale di TeX Live. Dopo l’installazione, la documentazione è anche accessibile con il classico texdoc tikz-mec.
Non sono una cima di script batch, ma pare che funzioni. L’ho provato su Windows 7.
Ecco il codice
`@echo off
echo File Batch per la libreria “mec”…latex tikz-mec.ins
pdflatex tikz-mec.dtx
pdflatex tikz-mec.dtxecho Creazione della cartella “\source\latex\tikz-mec” nell'albero personale …
mkdir %USERPROFILE%\texmf\source\latex\tikz-mec
echo … Fatto!echo Creazione della cartella “\tex\latex\tikz-mec” nell'albero personale …
mkdir %USERPROFILE%\texmf\tex\latex\tikz-mec
echo … Fatto!echo Creazione della cartella “\doc\latex\tikz-mec” nell'albero personale …
mkdir %USERPROFILE%\texmf\doc\latex\tikz-mec
echo … Fatto!echo Copia dei file in corso …
copy *.ins %USERPROFILE%\texmf\source\latex\tikz-mec
copy *.dtx %USERPROFILE%\texmf\source\latex\tikz-mec
copy *.tex %USERPROFILE%\texmf\tex\latex\tikz-mec
copy *.pdf %USERPROFILE%\texmf\doc\latex\tikz-mececho … Fatto!
echo Buon divertimento con la libreria “TikZ-mec”…
pause`
Se vuoi puoi aggiungerlo al repository, ma va perfezionato. L’utilità maggiore, oltre all’accessibilità della documentazione, sta nel fatto che non devi copiare il file, ogni volta, nella cartella di lavoro.Ciao
Orlando
-
13 Settembre 2012 alle 19:05 #78298::
Spike” post=77588Come suggerito da Elrond ho eliminato il file di documentazione e il file della libreria dal repository. Per generare questi file si possono seguire le istruzioni nel file README, cioè:
– libreria: compilare con latex il file tikz-mec.ins (latex tikz-mec.ins)
– documentazione: compilare (2 volte) con pdflatex il file tikz-mec.dtx (pdflatex tikz-mec.dtx)
Ciao a tutti
FraSai che puoi evitare questa complicazione? Poi congegnare il file .dtc in modo che un’unica passata attraverso pdflatex produca simultaneamente sia la documentazione sia la libreria; è raccontato nella guida tematica introclassi.pdf nella sezione Documentazione qui sopra.
Io mi sono deciso a seguire questa strada perché avendo la posta su @gmail.com, i service provider non consente di mandare, nemmeno zippati, i file con estensione .ins; mi sono stancato di dover fare accrocchi strani per riuscire a spedire i due file.ins e .dtx, e ho visto che la cosa è documentata anche in dtxtut.pdf (texdoc dtxtut). invece texdoc doc insegna come estrarre direttamente i file i cartelle che rispettino la struttura TDS (TeX Directory System). Io non uso quest’ultima variante, perché lasci fare ai manager di CTAN, comunque è possibile farlo e non c’è bisogno di script per fare quello che @ansys ha così brillantemente scritto; tra l’altro semplicissimo, ma la maggior parte degli utenti di macchine Windows non sanno nemmeno che hanno il linguaggio batch a disposizione e quindi non sanno come usarlo.
Ciao
Claudio
-
13 Settembre 2012 alle 19:23 #78299::
OldClaudio” post=77603 […]. Invece texdoc doc insegna come estrarre direttamente i file i cartelle che rispettino la struttura TDS (TeX Directory System). Io non uso quest’ultima variante, perché lasci fare ai manager di CTAN, comunque è possibile farlo e non c’è bisogno di script per fare quello che @ansys ha così brillantemente scritto; tra l’altro semplicissimo, ma la maggior parte degli utenti di macchine Windows non sanno nemmeno che hanno il linguaggio batch a disposizione e quindi non sanno come usarlo.
Non sapevo della possibilità di estrarre direttamente i file nelle cartelle secondo la TDS. Grazie per la segnalazione.
Riguargo il file batch, è vero, molti non sanno neanche di avere a disposizione questo linguaggio, ma basta dare un nome al file ([tt]install_win.bat[/tt]?) e l’utente deve solo fare un doppio click per eseguire tutto 😉 .
Tuttavia, forse vale la pena approfondire la prima strada, quella di [tt]texdoc doc[/tt].
Ciao
Orlando
-
14 Settembre 2012 alle 15:03 #78300::
Grazie mille sia ad ansys che a OldClaudio.
Per quanto riguarda l’installazione della libreria nell’albero personale, per ora, come ho scritto nella documentazione, lo sconsiglierei in quanto il lavoro è tutt’altro che ad una fase stabile e quindi è bene usare sempre una certa versione per un certo lavoro. Cambiare versione potrebbe significare che non è più possibile compilare il documento con cui si sta lavorando. Comunque visto che ansys è stato così gentile da creare questo script penso che lo inserirò nel repository, così ognuno potrà decidere la soluzione più adatta a lui (almeno sotto Windows).
Avevo letto sia la introclassi che la dtxtut, ma questo particolare mi era sfuggito. È molto interessante perché così riduce ancora il numero di file necessari. Grazie mille, rileggerò le guide e cercherò di implementare questa soluzione.Ripeto ovviamente che ogni feedback è ben accetto!
Grazie ancora a entrambi
Fra
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.