Descrizione grafica delle strutture in LaTeX

Pubblicato da Nicola Rainiero il 25-09-2013 (aggiornato il 09-04-2017)

Capita certe volte di dover inserire nelle proprie relazioni alcuni disegni per facilitare la comprensione e visualizzazione dei propri calcoli e dati. LaTeX possiede alcuni pacchetti per la grafica che consentono di realizzarli direttamente senza l'ausilio di alcun software esterno. In questo articolo mostro come TikZ-MEC, una libreria personalizzata scritta da Francesco Clemente, possa semplificare la descrizione dei problemi di meccanica relativi alle strutture caricate internamente ed esternamente.

Era dai tempi della stesura della mia tesi che mi sarebbe piaciuto conoscere come istruire LaTeX per disegnare direttamente dall'editor, sfruttando tutti i vantaggi dell'approccio TeX alla composizione tipografica per i miei disegni e schemi1, in particolare:

  • rapida creazione di semplice grafica;
  • precisione nel posizionamento, nelle quote e nelle dimensioni.

Tuttavia solo realizzando il piccolo progetto per Structure Standing Still: The Statics of Everyday Objects, un corso online promosso da Coursera e University of Florida, ho avuto l'occasione ed il tempo di imparare e provare TikZ e TikZ-MEC. Ad essere pignoli esiste ed è molto più maturo pst-stru, un pacchetto di PSTricks per disegnare schemi strutturali (travi, portali, archi, pali), ma funziona solo con i driver che producono codice PostScript1, cioè per generare un PDF bisogna ricorrere in sequenza a latex+dvips+ps2pdf. A mio avviso inoltre la curva di apprendimento di TikZ è molto più rapida ed il codice è più logico e leggibile di quello usato da PSTricks.

Project instructions Final Project edited using TikZ-MEC
Le istruzioni del progetto: determinare la struttura, il costo e le forze assiali di una struttura reticolare staticamente determinata sollecitata da un carico di 10 kN in mezzeria e lunga 8 metri (si veda la figura sopra). Il mio progetto finale (una semplice e comune travatura Warren)

Come sempre inserirò le istruzioni per installarlo (in Ubuntu e derivate) e la possibilità di provarlo online grazie a writeLaTeX e ad un codice scritto da John Lees-Miller2.

Lo si può leggere online usando writeLaTeX: TikZ-MEC Test

Installazione

Di solito TikZ è incluso nel pacchetto texlive-pictures3, ma se si vuole usare TikZ-MEC, bisogna scaricarlo e seguire le istruzioni descritte nel file README.txt per generare tikzlibrarymec.code.tex e la documentazione tikz-mec.pdf. Onde evitare errori ed avvertimenti durante la compilazione, suggerisco di installare i seguenti pacchetti: texlive-science3(contine SIunits), cm-super3 e cm-super-minimal3. Sebbene abbia installato tutti questi pacchetti, ho sempre ottenuto molti errori ed avvertimenti mentre stavo generando il file PDF della documentazione così ho deciso di inserirlo nel mio repository su GitHub.

Consigli per impararlo

Non nascondo che il primo impatto con TikZ e TikZ-MEC è molto problematico, ma se si legge il capitolo intitolato Tutorials and Guidelines del manuale1, si può capire velocemente il codice e la potenza del pacchetto grafico. Inoltre a questo indirizzo c'è un interessante manuale dal titolo Introduzione all'uso di TikZ in ingegneria scritto da Claudio Fiandrino et alii che introduce i rudimenti di TikZ e presenta e commenta diversi esempi applicati a vari campi dell'ingegneria.

I file inerenti al progetto e i sorgenti sono nel mio repository su GitHub: TikZ_MEC
  • 1. a. b. c. Manuale di TikZ e pgf - versione 1.18 - scaricabile qui
  • 2. Ciò è dovuto al fatto che writeLaTeX rimuove automaticamente tutti i punti eccetto l'ultimo nei nomi dei file (per evitare un bug in includegraphics con i file che contengono più di un punto) e così la libreria personalizzata di TikZ, "tikzlibrarymec.code.tex" diventa dopo l'upload "tikzlibrarymec_code.tex".
  • 3. a. b. c. d. In Ubuntu e derivate un metodo veloce per installare i pacchetti è editare dal terminale:
    sudo apt-get install PACKAGE_NAME




Potrebbero interessarti anche:

Nicola Rainiero

Ingegnere civile specializzato in geotecnica con l'ambizione di facilitare la propria attività lavorativa usando e creando software libero per un sapere condiviso e collettivo. Mi occupo anche di energie rinnovabili ed in particolare di geotermia a bassa entalpia. Sono da sempre appassionato di web design e modellazione 3D.