Robitex's Blog

Ideas in the web

Archivi Mensili: settembre 2010

Diagramma d’acciaio


Caratterizzare le prove di trazione

Spesso un diagramma presenta i dati molto più efficacemente dei corrispondenti valori numerici, dunque l’idea di graficare le prove a trazione delle barre in acciaio per armatura.
Si tratta delle prove secondo lo standard UNI EN 10002-1:2004, che si fanno eseguire in un laboratorio autorizzato, per la certificazione dei materiali impiegati nella costruzione della struttura in calcestruzzo armato. Tali prove sono caratterizzate dal valore della tensione di snervamento, dalla percentuale di allungamento a rottura e della tensione di rottura (riferimento norma D.M. 14/01/2008).

Di solito il certificato di prova che giunge dal laboratorio, non include un diagramma della prova ma solo i parametri principali. Se tuttavia assumiamo che l’allungamento allo snervamento abbia un valore dello 0.2%, un diagramma di caratterizzazione della prova si può disegnare congiungendo con linee rette i punti di snervamento e rottura nel classico piano (tensione,deformazione).

Ulteriori informazioni possono essere scaricate dal sito del consorzio Sismic.

A test for reinforced steel bar drawing by the pgfplots package

Un diagramma d’acciaio

Potevamo farci sfuggire l’occasione? Naturalmente no!
Affidiamoci al pacchetto LaTeX di turno, in questo caso il meraviglioso pacchetto pgfplots, per ottenere un diagramma d’acciaio di alta qualità.

Il risultato visibile nell’immagine riportata è scaricabile in formato pdf (fai click su questo link), dimostra che in breve tempo, consultando il manuale di pgfplots, sono stato in grado di ottenere tutte le personalizzazioni del grafico che desideravo.
Ecco il codice LaTeX completo pronto per la compilazione:

\documentclass[a5paper,landscape]{article}
\usepackage[italian]{babel}
\usepackage[T1]{fontenc}

\usepackage{amssymb}
\usepackage{pgfplots}
\usepackage[decimalsymbol=comma]{siunitx}
\usepackage[margin=10mm]{geometry}

\thispagestyle{empty}

\begin{document}

\begin{tikzpicture}
% defining personal drawing style
\pgfplotsset{blue style/.style={line width=1pt,mark=x,color=blue}}
\pgfplotsset{red style/.style={line width=1pt,mark=x,color=red}}
\pgfplotsset{green style/.style={line width=1pt,mark=x,color=green}}

\begin{axis}[legend pos=south east,
             font=\footnotesize,
             ymin=0,ymax=730,xmin=0,xmax=14.3,
             xlabel=Allungamento (\%),ylabel=\si{N/mm^2},
             grid=major,
             width=15cm,height=9cm]
             
             
% diametro 8
\addplot[blue style] coordinates {(0,0)(0.2,584.0)(8.3,658.4)};
\addplot[blue style] coordinates {(0,0)(0.2,569.9)(11.4,656.6)};
\addplot[blue style] coordinates {(0,0)(0.2,573.9)(8.0,657.0)};
%
% diametro 10
\addplot[red style] coordinates {(0,0)(0.2,497.6)(13.3,592.0)};
\addplot[red style] coordinates {(0,0)(0.2,501.0)(11.5,595.2)};
\addplot[red style] coordinates {(0,0)(0.2,501.4)(12.0,597.9)};
%
% diametro 12
\addplot[green style] coordinates {(0,0)(0.2,545.4)(12.5,633.4)};
\addplot[green style] coordinates {(0,0)(0.2,558.0)(9.8,647.7)};
\addplot[green style] coordinates {(0,0)(0.2,558.5)(10.5,651.5)};
%
\legend{\(\varnothing{} 8\) arm. platea,,,
        \(\varnothing{} 10\) arm. platea,,,
        \(\varnothing{} 12\) arm. platea}
\end{axis}
\end{tikzpicture}

\end{document}

Bel risultato vero? Abbiamo fatto uso anche di stili di tracciamento personalizzati, grazie alla modernità del linguaggio di PGF.

Alla prossima prova d’acciaio allora! Ciao.

La nostra vita in Italia


La nostra vita in Italia

La nostra vita in Italia sale sui tetti
sui tetti dove si dovrebbe scorgere la realizzazione dei nostri sogni
dove almeno per un minuto la realtà è sotto i nostri piedi
vinta, schiacciata in una tregua priva di dolore

Solo sui tetti la voce scende nelle strade
e può raccontare le disonestà arroganti vili ed inutili
senza però capirle e senza che l’amore venga a fermare
senza che possa anche solo intaccare la realtà per cambiarla

Tetti di intere città
vivere, la nostra vita in Italia

Installare TeX Live 2010 in Ubuntu Lucid Lynx


Scarica l’articolo in formato PDF per la stampa

TeX Live 2010

Ebbene si, è uscita la nuova TeX Live 2010. Questo post percorre le tappe dell’installazione su sistemi Debian like, ma credo con piccole modifiche sia la stessa che per le altre distribuzioni Linux.

Step 0: preparare il terreno

Se provenite dalla TeX Live 2009, allora sembra logico cancellare la directory che la contiene con il comando da terminale seguente (l’opzione -r indica la cancellazione ‘ricorsiva’ quindi l’eliminazione riguarda anche le sub directory):

sudo rm -r /usr/local/texlive/2009

A questo punto procuriamoci lo script d’installazione per la piattaforma *nix che si chiama install-tl-unx.tar.gz da uno dei mirror di CTAN (per esempio da questo server universitario olandese a cui di solito mi affido visto che è uno dei più veloci)

Step 1: Setup dell’installazione

Dopo aver scompattato l’archivio in una directory di comodo, da linea di comando spostiamo il prompt con il comando ‘cd’ nella stessa directory ed avviamo lo script con il comando (utilizziamo lo stesso server evitando quello di default italiano, spesso molto lento):

sudo ./install-tl -repository ftp://ftp.snt.utwente.nl/pub/software/tex/systems/texlive/tlnet/

Ben presto il terminale si trasforma nella console di configurazione per l’installazione, in cui in modo interattivo possiamo calibrare secondo le nostre esigenze TeX Live.
Tuttavia consiglio di lasciare le impostazioni di default e procedere con lo scheme-full (2377 MB), tranne nel caso in cui sul vostro sistema lo spazio su disco scarseggi (una configurazione ad-hoc può far scendere l’occupazione di memoria a circa 600 MB sacrificando alcune componenti meno usate).

Digitate quindi senza esitare ‘i’ ed invio per il download dei file necessari… davvero impressionante la mole di pacchetti LaTeX che saranno elencati uno ad uno rigorosamente in ordine alfabetico durante il processo.

Step 2: Ultimi ritocchi

La prima cosa da fare terminata la fase di download e di generazione di mappe e formati è settare i path degli eseguibili. Si è scelto infatti di non attivare i symlink, ovvero piccoli file posizionati nella directory bin di sistema che puntano agli eseguibili installati da TeX Live, proprio per non ‘sporcare’ una directory importante, ma di attivare il percorso dal file .profile nella directory home dell’utente. Diamo quindi il comando sempre da terminale:

echo 'export PATH=/usr/local/texlive/2010/bin/i386-linux:${PATH}' >> .profile

Propongo poi una semplice soluzione per lanciare il programma tlmgr di manutenzione della distribuzione con i diritti di amministratore: creare un alias nel file .bash_aliases rinominando in sutlmgr (super user tlmgr) il comando sudo /usr/local/texlive/2010/bin/i386-linux/tlmgr

echo 'alias sutlmgr="sudo /usr/local/texlive/2010/bin/i386-linux/tlmgr"' >> .bash_aliases

Tenete conto che se la vostra architettura di sistema è a 64 bit la directory contenente i binary sarà leggermente diversa da i386-linux. Controllate giusto per scrupolo il file di sistema /etc/environment se non volendo contenesse ancora qualche traccia di PATH verso l’eventuale vecchia TeX Live 2009.

Bene, adesso siamo pronti per lavorare con la nuova TeX Live 2010!

tlmgr in action

Brevemente, vi riporto i comandi da terminale più comuni dedicati alla manutenzione della TeX Live:

-- per controllare la presenza di aggiornamenti -->
tlmgr update --list

<-- per aggiornare tutto -->
sutlmgr update --all

<-- per controllare se un pacchetto è installato -->
tlmgr show nome_del_pacchetto

<-- per cambiare il repository corrente -->
<-- (occorre controllare il percorso effettivo -->
<--  della directory systems sul mirror) -->
sutlmgr option repository http://nome.del.mirror.org/tex/systems/texlive/tlnet

Saluti a tutti.

Watermark di precisione


Cos’è un watermark

Si tratta di una sorta di timbro che viene sovrapposto alle pagine di un documento.
Per ragioni di performance che non vi sto a spiegare, recentemente ho avuto la necessità di sovrapporre un watermark a ciascuna pagina di un file in formato PDF.
Questo post mostra come ciò si possa fare mantenendo la precisione vettoriale, utilizzando i programmi di una distribuzione TeX.

Creare una pagina di mark

(Avete una distribuzione recente di LaTeX installata sul vostro sistema vero?)
Per prima cosa creiamo il watermark, ovvero un file pdf di una sola pagina che contiene il timbro, per esempio una riga che dall’angolo in basso a sinistra della pagina, collega quello in alto a destra.

Per ottenere il watermark, compiliamo il seguente codice:

%
% creating a mark test page:
% copy this code in a text file named watermark.tex
% and compile with the command "pdflatex watermark"
%
\documentclass[a4paper]{minimal}
\usepackage[margin=0pt]{geometry}
\usepackage{tikz}
\begin{document}
\noindent\tikz
\draw (0,0)--(210mm-0.4pt,297mm-0.4pt);
\end{document}

Apporre il sigillo

Ma come apporre il sigillo appena creato?
L’idea è quella di caricare ciascuna pagina del nostro documento (chiamiamolo mydoc.pdf) in un file elaborato con pdflatex tramite il pacchetto pdfpages, ed inserirvi il watermark per ciascuna pagina creata con il pacchetto everypage, scritto da Sergio Callegari (che ringrazio per la sua risposta ad alcuni miei quesiti sul pacchetto).

Da come l’ho descritta sembra un mix di confusione, ma il codice seguente chiarirà più di mille parole cosa intendo:

%%%
% compile this file i.e. named output.tex
% with the command "pdflatex output"
%%%
\documentclass[a4paper]{minimal}
\usepackage{graphicx}
\usepackage{everypage}
\usepackage{pdfpages}

\AddEverypageHook{%
  % traslate the origin
  \vskip -1in\hskip -1in%
  % and with same TeX tricks write the watermark
  \vbox to 0pt{%
     \hbox to 0pt{\includegraphics{watermark}\hss}%
  }\vss%
}

\begin{document}
% the mydoc.pdf file must be present in the same directory
% with the watermark.pdf too
%
\includepdf[pages=-]{mydoc}
\end{document}
%%%

Fatto!

Come funziona

Ad ogni pagina del documento LaTeX, l’effetto del comando \AddEverypageHook del pacchetto everypage, è quello di sovrapporre il file watermark.pdf. Il contenuto del documento vero e proprio consiste nell’istruzione \includepdf[pages=-]{mydoc} (pacchetto pdfpages), che inserisce tutte le pagine del nostro documento, che naturalmente deve essere disponibile come file su disco nella directory prescelta.

Utile per la comprensione è leggersi le guide dei pacchetti utilizzati.
Grazie per l’attenzione ed alla prossima.

%d blogger hanno fatto clic su Mi Piace per questo: