Risposte nei forum create
-
AutoreRisposte
-
::
IneXperience” post=73327
Ciao,
non ho capito il problema.
Io userei questo codice per ottenere il pdf già ritagliato per inserirlo poi come normale immagine nel documento pronciplae (con \includegraphics):Leggo solo ora in cima al tuo precedente post, scusami.
Il mio intento è di prendere il modello che tu hai fatto girare e utilizzarlo per fare lo schema della mia base di dati. Ovviamente ci devo lavorare su, ma se non compilarlo non ottengo lo stesso tuo risultato come faccio?
Anche questa semplice istruzione:
`\begin{tikzpicture}
\node[entity] (person) {Person};
\end{tikzpicture}`
non mi fa ottenere il rettangolino col nome Person.Ho messo il file .sty dov’è il sorgente tex, ma non lo compila graficamente.
Grazie,
SimoneOccorre copiare alcune definizioni di stile:
questo codice compila:
`\documentclass{standalone}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}\usepackage{tikz-er2}
\usetikzlibrary{positioning}
\usetikzlibrary{shadows}\tikzstyle{every entity} = [top color=white, bottom color=blue!30,
draw=blue!50!black!100, drop shadow]
\tikzstyle{every weak entity} = [drop shadow={shadow xshift=.7ex,
shadow yshift=-.7ex}]
\tikzstyle{every attribute} = [top color=white, bottom color=yellow!20,
draw=yellow, node distance=7em, drop shadow]
\tikzstyle{every relationship} = [top color=white, bottom color=red!20,
draw=red!50!black!100, drop shadow]
\tikzstyle{every isa} = [top color=white, bottom color=green!20,
draw=green!50!black!100, drop shadow]\begin{document}
\begin{tikzpicture}
\node[entity] (person) {Person};
\end{tikzpicture}
\end{document}`Funziona anche questo ma senza i colori:
`\documentclass{standalone}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}\usepackage{tikz-er2}
\usetikzlibrary{positioning}
\usetikzlibrary{shadows}\begin{document}
\begin{tikzpicture}
\node[entity] (person) {Person};
\end{tikzpicture}
\end{document}`
R.
::
Ciao,
non ho capito il problema.
Io userei questo codice per ottenere il pdf già ritagliato per inserirlo poi come normale immagine nel documento pronciplae (con \includegraphics):
`\documentclass{standalone}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}\usepackage{tikz-er2}
\usetikzlibrary{positioning}
\usetikzlibrary{shadows}\tikzstyle{every entity} = [top color=white, bottom color=blue!30,
draw=blue!50!black!100, drop shadow]
\tikzstyle{every weak entity} = [drop shadow={shadow xshift=.7ex,
shadow yshift=-.7ex}]
\tikzstyle{every attribute} = [top color=white, bottom color=yellow!20,
draw=yellow, node distance=7em, drop shadow]
\tikzstyle{every relationship} = [top color=white, bottom color=red!20,
draw=red!50!black!100, drop shadow]
\tikzstyle{every isa} = [top color=white, bottom color=green!20,
draw=green!50!black!100, drop shadow]\begin{document}
\begin{tikzpicture}[node distance=8em, every edge/.style={link}]
\node[entity] (persona) {Persona};
\node[attribute] (pid){\key{id\_persona}} edge (persona);
\node[attribute] (name) [below left of=persona] {nombre} edge (persona);
\node[multi attribute] (fono) [above of=persona] {fono} edge (persona);
\node[attribute] (anex){anexo} edge (fono);
\node[attribute] (number) [below left of=fono, node distance=5em] {number} edge (fono);
\node[attribute] (email) [above right of=persona] {email} edge (persona);
\node[relationship] (pertenece){Pertenece} edge node[auto,swap] {1:1} (persona);
\node[entity] (depto)
{Depto} edge node[auto,swap] {0:N} (pertenece);
\node[attribute] (iddepto) [above of=depto] {\key{id\_depto}} edge (depto);
\node[attribute] (dname) [above right of=depto] {d\_name} edge (depto);
\node[rectangle, draw=black, fit=(pertenece), inner sep=0em] (ipertenece) {};
\node[relationship] (tieneun) [below of=pertenece] {Ocupa} edge node[auto,swap] {1:1} (pertenece);\node[entity] (cargo)
{Cargo} edge node[auto,swap] {0:N} (tieneun);
\node[attribute] (idcargo){\key{id\_cargo}} edge (cargo);
\node[attribute] (cname) [above right of=cargo] {c\_name} edge (cargo);
\node[attribute] (plevel) [below right of=cargo] {nivel} edge (cargo);\node[relationship] (responde) [below of=persona] {Responde} edge node[auto,swap] {1:N} (ipertenece);
\node[entity] (pregunta) [below of=tieneun] {Pregunta};
\node[attribute] (idpreg) [below of=pregunta] {\key{id\_preg}} edge (pregunta);
\node[attribute] (ptexto) [below right of=pregunta] {p\_texto} edge (pregunta);
\node[attribute] (pnumber){p\_numero} edge (pregunta);
\node[relationship] (tiene) [below of=responde] {Tiene} edge node[auto,swap] {1:N} (pregunta) edge node[auto,swap] {0:N} (responde);
\node[rectangle, draw=black, fit=(tiene), inner sep=0em] (itiene) {};\node[entity] (alternativa)
{Alternativa} edge node[auto,swap] {1:1} (tiene);
\node[attribute] (idalt) [above of=alternativa] {\key{id\_altern}} edge (alternativa);
\node[attribute] (atexto) [below of=alternativa] {a\_texto} edge (alternativa);
\node[attribute] (anumber) [below right of=alternativa] {a\_numero} edge (alternativa);
\end{tikzpicture}
\end{document}`Il risultato è questo:
[attachment=313]ertest.pdf[/attachment]
Un saluto.
R.
Attachments:
You must be logged in to view attached files.::
Ciao,
sembra che per Datamatrix funzioni il 48×48.
Prova a cercare nella documentazione di Burton che tra l’altro ti permette di generare i barcode on-line e di scaricarlo in formato eps, pronto per la trasformazione in pdf, ed è il fornitore del codice per il pacchetto pst-barcode.
Applicando la procedura a questo sorgente ottengo il pdf allegato.[attachment=312]e.pdf[/attachment]
`\documentclass{standalone}
\usepackage{pst-barcode}
\begin{document}
\begin{pspicture}(1in,1in)
\psbarcode{180999920090001507361200030168405100000010273389687}
{rows=48 columns=48 parse}{datamatrix}
\end{pspicture}
\end{document}`Serve indagare di più sul formato Datamatrix.
Sul sito del codice
ci sono le seguenti specifiche:The data field input is provided in GS1 Application Identifier standard format.
The rows and columns options are used to specify the size of the symbol, either square or rectangular, one of:
Square: 10×10, 12×12, 14×14, 16×16, 18×18, 20×20, 22×22, 24×24, 26×26, 32×32, 36×36, 40×40, 44×44, 48×48, 52×52, 64×64, 72×72, 80×80, 88×88, 96×96, 104×104, 120×120, 132×132, 144×144
Rectangular: 8×18, 8×32, 12×26, 12×36, 16×36, 16×48
If the columns and rows are unspecified, the encoder will default to creating a (non-rectangular) symbol that is the minimum size to represent the given data.Saluti.
R.
Attachments:
You must be logged in to view attached files.::
Ciao,
il pacchetto pst-barcode è ottimo ma ha due “difetti”: il primo è che come dice il nome, si basa sul formato Postscript e quindi necessita dei passaggi che ha già mostrato ansys, ed il secondo è che la sintassi dei comandi può risultare un po’ come dire, stranetta.Più utilmente, i passi che tu devi fare dipendono da come tu gestisci la produzione del documento:
* barcode nel sorgente
in questo caso il codice pst-barcode è inserito all’interno del sorgente del documento. Nel momento della compilazione verrà eseguito il codice che genera il disegno del barcode. Devi però compilare il sorgente con il programma latex e non pdflatex, poi trasformare il file dvi in ps e da li in pdf (latex -> dvips -> ps2pdf) come dicono tutti i manuali.
* l’altra modalità consente di lavorare tranquillamente con pdflatex e consiste nel generare le figure dei barcode a parte con mini – sorgenti dedicati che compilerai con i tre passaggi. Nel documento principale inserirai il file pdf del barcode come se fosse una normale immagine (con \includegraphics)La prima procedura è meno comoda perché vincoli tutto il lavoro al motore latex anziché pdflatex perdendo anche un po’ di qualità tipografica oltre che di praticità.
La seconda procedura genera un pdf per ciascun barcode da inserire ed è legata la numero di codici a barre: se sono pochi si può fare se sono molti no (a meno di gestire la procedura per altra via esterna a TeX).Spero di essere stato chiaro.
Ti posto un frammento di codice per generare il pdf del singolo barcode (compila con latex poi passa il risultato dvi con dvips e ps2pdf):
`\documentclass{standalone}
\usepackage{pst-barcode}
\begin{document}
… codice pst-barcode
\end{document}`Ciao
R.
::ansys” post=73258
Ciao,
vi segnalo, e se lo sapete già scusatemi, che se trascinate l’icona di un file immagine nella finestra dell’editor TeX Works (almeno in Windows), verrà automaticamente inserito il comando \includegraphics con il percorso del file.
Mi sembra interessante.
Un saluto.
R.Intendi un .png? Dovrebbe (il condizionale è d’obbligo visto che poi non funziona) funzionare anche con i file .pdf e i .ps (oltre agli stessi .tex) stando a quanto viene riportato nel file texworks-config.txt che in Windows 7 si trova in C:\Users\
\.texlive2011\texmf-config\texworks\configuration\ .Ciao
OrlandoSi, funziona solo con i .png.
Con i file .tex viene aperto il file nell’editor e con i .pdf viene aperto il file con il visualizzatore.Grazie.
R.
::Marco87″ post=73214Ciao Roberto,
intanto grazie mille!
Il codice va compilato con ConTeXt mkiv, se ne disponi e ti funziona, altrimenti va compilato con mpost e trasformato in pdf.
La compilazione può essere fatta da terminale così?:
context mkiv nomefile.tex
o così?
mpost nomefile.tex
Devo dire che il risultato è molto buono. Purtroppo io non so nulla di [tt]METAPOST,[/tt] quindi non saprei modificare minimamente il tuo disegno. Insomma, potrei solo utilizzare il risultato così com’è. Piano piano sto imparando l’uso di [tt]TikZ,[/tt] e credo che lo userò nella tesi che (se tutto va bene) inizierò a breve. Con [tt]TikZ[/tt] ora sono riuscito a riprodurre quasi tutti i disegni più “complicati” che avevo fatto per la tesi di primo livello. Non so se mettermi a imparare anche qualche rudimento di [tt]METAPOST.[/tt] Comunque, grazie mille!
Ciao e buona giornata,
Marco.P.S. Rimango interessato a eventuali suggerimenti su quale potrebbe essere il mio approccio al mio disegno con [tt]TikZ,[/tt] e se sia possibile specchiare un disegno rispetto a un asse.
Ciao,
intanto non è poi così difficile comprendere il codice Metapost, anzi il disegno da ottenere è un buon esercizio.
Il modo di definire path è essenzialmente lo stesso che in TikZ, poi, di nuovo ci sono i modi di manipolare un path assemblandolo, traslandolo, ruotandolo ecc.Con ConTeXt mkiv è molto comodo utilizzare Metapost (il comando di compilazione è context nomefile), perché in un solo passaggio si ottiene il disegno in pdf scontornato (le dimensioni della pagina sono quelle della figura).
Nel modo tradizionale, si inserisce in codice Metapost in un file con qualche comando in più (la coppia beginfig() endfig per esempio), e si da il comando mpost nomefile, ma poi occorre cambiare formato.
Un altro modo comodo tranne per il fatto che occorre dare l’opzione di compilazione -shell-escape, è utilizzare in LaTeX il pacchetto di Enrico chiamato gmp.Un saluto.
R.
19 Maggio 2012 alle 18:22 in risposta a: Il disegno programmato nell’Arte di scrivere con LaTeX #72811::OldClaudio” post=73156
Su invito di @OldClaudio, riporto un codice per LuaLaTeX. Attenzione: non è farina del mio sacco perché mi sono basato su un codice di @azoun su TeX StackExchange: LuaLaTeX:PGFplots can’t read data passed by Lua.
`% !TEX program = LuaLaTeX
\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{luacode}\begin{luacode*}
function Liss(val,t)
return math.sin(val*t)
endfunction stampa_pgf(a,b)
tex.sprint(“\\addplot[mark=, red, smooth] coordinates{“)
— 2pi_greco/500=0.0125663
for i=0,2*math.pi,0.0125663 do
x=Liss(a,i)
y=Liss(b,i)
tex.sprint(“(“..x..”,”..y..”)”)
endtex.sprint(“};”)
end\end{luacode*}
\newcommand\myaddplot[2]{\directlua{stampa_pgf(#1,#2)}}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\myaddplot{7}{2}
\end{axis}
\end{tikzpicture}
\end{document}%%% Local Variables:
%%% mode: latex
%%% TeX-engine: luatex
%%% TeX-master: t
%%% End:`
Ciao
OrlandoHo provato il cidce. A parte il fatto che il mio TeXShop non interpreta correttamente la riga magica relativa al program (la riga giusta dovrebbe essere % !TEX TS-program = LuaLaTeX); il disegno di Lissajous è calcolato per 500 punti di interpolazione; il disegno viene benissimo e la memoria di Lua non ne viene minimamante intasata, ma di fatto il codice lua genera la tabella che pgfplot interpreta come al solito; dagli ultimi messaggi di Lorenzo, sembrerebbe che se il numero di campioni arriva 10001 (non 11000) calcolati da Mathematica, ma se sono calcolati da mathlab o da Lua e lo stesso, si supera la capacità di memoria di pgfplots anche avendo allargato la memoria di pdftex some ci ha spiegato in un altro post; Certo con 200 samples il disegno viene bene anche con pgfplots; con i 500 samples calcolati da Lua le cose vanno ancora meglio; ma il problema della saturazione della memoria non ne viene toccato.
Io ho trovato molto istruttivo l’esempio, perché mostra quanto sia semplice il codice Lua da usare. Non sono ancora convinto che non si possa fare meglio con le cubiche di Bézier (di Bernstein/) scegliendo adeguatamente i nodi di interpolazione. Certo, scegliere adeguatamante vuol dire disporre di un programma molto intelligente, oppure di fare le cose a mano.
Se proprio vi sono un numero notevole di punti che pgfplots non riesce a gestire, basta spezzare la curva in diversi \addplot.
Ne avevamo già parlato in un altro post tempo fa.
R.
::Marco87″ post=73125Ciao Roberto,
intanto grazie!
Ciao,
Marco.Eccomi con un codice METAPOST completamente da rifinire ma che concettualmente di mostra come si può risolvere:
`\startMPpage
% definizione di una unit
numeric u;
u := 1cm;% percorso singola onda
path onda;
onda := origin{up} .. (.7u,2u) — (1.5u,1.55u) .. (1u,0){down};% assemblaggio del pettine
onda := onda — (2u, 0) — onda xshifted 2u;
onda := onda — (4u, 0) — onda xshifted 4u;% disegno riempimento
path inf;inf = buildcycle((-u,0)–onda–(8u,0)–(8u,-2u)–(-u,-2u)–cycle);
fill inf withcolor 0.7white;
draw onda;
fill inf rotated 180 shifted (7u,3u) withcolor 0.4white;
\stopMPpage`
Ecco il pdf:
[attachment=299]provafig2.pdf[/attachment]Il codice va compilato con ConTeXt mkiv, se ne disponi e ti funziona, altrimenti va compilato con mpost e trasformato in pdf.
Un saluto.
R.
Attachments:
You must be logged in to view attached files.::lorenzo.pantieri” post=73135Ecco un problema. Sto cercando di raffinare la Gamma. Il codice di Mathematica che uso è questo:
`out = Table[{x, Gamma[x]}, {x, -5, 5, 0.1}] /. {ComplexInfinity -> NaN}; Export[“gamma.txt”, out, “Table”];`
Quello di pgfplots lo trovate nell’articolo. Faccio notare che ho un mini documento che deve produrre solo la Gamma.
a) Ho provato a raffinare quello 0.1 sostituendolo con 0.01. Risultato: nessun miglioramento del grafico. 🙁
b) Ho provato a raffinare lo 0.01 sostituendolo con 0.001. Risultato: un errore di sforamento di memoria (che pure avevo aumentato rispetto a quella predefinita)! 😥
`TeX capacity exceeded, sorry [main memory size=10000000].`
La lezione che ricavo è abbastanza inquietante. pgfplots si può piantare:
a) anche solo per un disegno;
b) anche se i calcoli glieli ha già fatti qualcun altro;
c) anche se la memoria è stata aumentata.Cribbio.
Ciao,
la Gamma è una di quelle funzioni difficiline…
Per l’articolo su Ars ho creato uno script in Python, ma credo che Mathematica non sia certo da meno, creado il grafico della Gamma tra -5 e +5, con passo lineare di 0.005,senza riscontrare problemi in pgfplots (grafico a pagina 36).
La Gamma è una funzione del piano complesso e va all’infinito mooolto rapidamente.
In altre pasrole non ho riscontrato ciò che tu lamenti.
Un saluto.
R.
19 Maggio 2012 alle 9:10 in risposta a: Il disegno programmato nell’Arte di scrivere con LaTeX #72805::Elrond” post=73119
[quote=”Elrond” post=73101]Per fare il primo grafico ho usato il codice che ho trovato sulla nuova guida della serie de “L’arte di…” cambiando solo il colore della curva in [tt]red[/tt]
Se il tuo obiettivo era quello di mostrare che con gnuplot si possono ottenere più o meno gli stessi risultati siamo d’accordo. Non so però quanto sia facile incorporare il grafico in LaTeX. Anch’io penso che gnuplot sia un ottimo strumento, ma trovo un punto a favore il fatto che pgfplots lavori direttamente all’interno del sorgente del documento. In tanti anni sono stato più volte tentato da gnuplot, ma non mi sono mai cimentato perché a quel punto ritenevo più semplice realizzare i grafici con un software esterno e incorporarli; mentre pgfplots è diverso perché tu scrivi tutto insieme.
Se invece lo scopo era il confronto dei risultati, dovremmo sapere anche in che condizioni sono stati generati i grafici. Per esempio, se ho capito bene tu hai detto che gnuplot usa 100 campioni per default, mentre nel grafico dell’articolo samples è 50 e la schiacciatura è senz’altro dovuta all’utilizzo delle curve di Bézier. Se aggiungi i marcatori scopri che laddove la curva si “schiaccia” ci sono proprio i nodi e l’algoritmo deve collegare un tratto molto curvo con uno praticamente dritto. Tra l’altro, @OldClaudio ha già fatto notare che l’algoritmo di interpolazione è piuttosto debole.
Ciao
No, no, lo scopo era far vedere che i risultati “estetici” sono molto simili, infatti ansys ha dovuto controllare il colore dei tick per notare la differenza. Lo script gnuplot che ho utilizzato ha un numero di samples più elevato (se non sbaglio avevo impostato 500) e non ha smoothing, credo che alla fine si otterrebbe lo stesso risultato con pgfplots. Preferisco aumentare il numero di samples piuttosto che usare lo smoothing e fare questo con gnuplot è indolore.
Riconosco che non sia immediato aggiungere grafici gnuplot in un documento LaTeX, almeno non come è possibile fare con pgfplots: devi scrivere lo script, eseguire gnuplot sullo script, includere con [tt]\input{file-di-output}[/tt] il file .tex generato dallo script (gnuplot produce due file: la figura vera e propria e un file .tex contenente tutte le scritte e che include la figura, il .tex è quello che viene incluso nel proprio documento, è grazie a questo che si hanno gli stessi font del proprio documento). Per documenti elaborati mi scrivo sempre un Makefile (in realtà riciclo sempre lo stesso con minimi cambiamenti) che mi automatizza tutte le operazioni che portano alla compilazione del documento finale, fra le quali l’esecuzione di gnuplot sullo script (cosa peraltro necessaria solo quando cambio lo script), quindi le operazioni realmente da fare sono (a) scrivere il codice, (b) includere la figura nel sorgente LaTeX scrivendo una brevissima riga. Tutto sommato non cambia molto rispetto a lavorare con pgfplots, a parte il fatto che usando gnuplot dimezzo i tempi di compilazione.
Mi ero avvicinato a pgfplots proprio per provare a eliminare tutti i passaggi intermedi di cui ho parlato (così come ho utilizzato TikZ per fare i disegni che prima realizzavo, con un po’ di difficoltà a essere sinceri, con gnuplot). Tra l’altro pgfplots permette di scrivere uno script gnuplot direttamente dentro il codice LaTeX e inizialmente apprezzavo molto questa possibilità, poi mi son reso conto che è piuttosto macchinoso perché con un singolo script gnuplot si possono realizzare infiniti grafici tutti con le stesse impostazioni (o anche diverse, però lo script è uno solo), con pgfplots bisogna creare un ambiente axis per disegnare ciascun grafico (riscrivendo sempre lo stesso “preambolo” gnuplot).
A parte il grande vantaggio di lavorare direttamente dentro il sorgente LaTeX ho incontrato più contro che pro nel lavorare con pgfplots, quindi son tornato indietro. Ciò non toglie che per pochi semplici grafici penso che possa andare più che bene pgfplots.[/quote]
Ciao,
ovvio che non conosco le tue necessità di rappresentazione dei grafici, ma forse la tua esperienza con pgfplots ti ha fatto prematuramente preferire altre soluzioni, anche perché una volta imparato bene uno strumento, impiegare tempo per capire i dettagli di una seconda soluzione è un ostacolo.Con un po’ di calma, converrebbe ripetere qualche esperimento con pgfplots, considerando che:
* anche in pgfplots puoi impostare proprietà generali dei grafici. Se adoperi la modalità, come è spesso consigliabile, puoi preparare un file con l’unica istruzione \pgfplotsset;
* i calcoli matematici possono essere eseguiti da gnuplot dietro le quinte da pgfplots;
* il dettaglio grafico raggiungibile con pgfplots è notevole. Pensa per esempio, alla possibilità di usare tutti comandi tikz sulla tela del grafico.Insomma, non ti sto imponendo l’uso di pgfplots ma una soluzione che solo tu puoi valutare se è più efficace di quella attuale.
L’idea sott’intesa è questa: usare lo strumento matematico vero e proprio per svolgere l’analisi e l’indagine numerica, e solo dopo creare il grafico opportuno per il documento finale non più solamente con gli occhi dello “studioso” ma anche con quelli del “tipografo progettista” di libri.
R.
::
Credo si possa fare anche con tikz con l’opportuna strategia, ma …
il tuo sembra un lavoro perefetto per METAPOST…
se ho tempo oggi ti scriverò qualcosa.In particolare, si potrebbe in un ciclo for, creare il path dell’onda, poi usarlo per creare in un attimo le due aree grigie.
Creata la figura scontornata in pdf, non rimane poi altro che inserirla.Ciao
R.
::OldClaudio” post=73049
Trovo solo simpatico che nella definizione di una macro (quella di \voce riportata non è completa), può starci anche un \begin{qualcosa} senza che poi ci sia \end{qualcosa}.
Almeno, non ci avevo mai fatto caso.Roberto, è esattamente quello che fa \newenvironment: definisce due comandi: \ambiente e \endambiente, che non hanno nulla da inviidiare al tuo \startambiente e \endambiente; In LaTeX quando usi un ambiente usando i debiti \begin e \end rispettivamente apri un gruppo e chiudi un gruppo, oltre a impostare le cose per verificare che \end chuda esattamente l’ambiente aprto con il corrispondente \begin. Prova: \a[ri una ,omipage con \minipage e chiudila con \endminipage; funziona benissimo; ma se dentro questo non-ambiente minipage (non-ambiente perché non hai usato \begin e \end) definisci qualche cosa o assegni un valore a qualche registro, questo valore rimane anche dopo il comando \endminpage, perché il tutto non è stato rinchiuso dentro un gruppo. Be’ qualche volta potrebbe essere utile evitare il gruppo, e può essere utile all’interno di altri ambienti o programmando macro e ambienti per file .sty o per file .cls, ma di solito è una funzionalità estremamente utile.
Verissimo quello che dici Claudio,
il fatto è che il linguaggio che l’utente usa, per LaTeX ci sono i concetti base di macro e di ambiente, induce una forma strutturata di pensiero che manipola tali costrutti. Nel momento in cui ci accorgiamo che il linguaggio in realtà è implementato con altra logica rimaniamo sorpresi.
Almeno è l’impressione divertita che ho avuto io del caso.R.
::egreg9″ post=73043
Ciao a tutti,
l’altro giorno mi serviva un modo per rendere una voce di computo metrico composta con una tabella. Ho cominciato a scrivere il codice tutto esplicitamente per poi assemblarlo con i primi comandi.
Ne è venuto fuori un codice in controtendenza, ovvero una sintassi che prevede di usare macro al posto di ambienti definite tramite ambienti.L’apertura è basata su l’ambiente tabular:
\startvoce{descrizione}{unità di misura}Poi ho una macro \voce che compone il testo in una cella della tabella come ambiente minipage
\voce{descrizione lunga quanto si vuole ma non troppo}Poi ho alcune macro per inserire prezzi e misure:
\misure{descr misure}{numero}
\prezzo{importo}La chiusura è:
\endvoceecco una traccia dell’implementazione:
`\def\startvoce#1#2{% l'ambiente tabular verrà chiuso più tardi da \endvoce
\begin{tabular}{clr}
\toprule
N. & #1 & \si{#2}\\% richiede siunitx
\midrule
}
\def\voce#1{\begin{minipage}{110mm}#1\end{minipage}}\def\endvoce{\bottomrule\end{tabular}}
`
il fatto è che funziona a dimostrazione del fatto che la programmazione TeX è sempre ricca di sorprese.
`\startvoce{Travi in legno lamellare}{m^3}
\voce{
Travi di orditura principale di copertura realizzate in legno lamellare
GL24 di sezione rettangolare ecc ecc
}
\misura{Falda lato strada}{2.120}
\prezzo{500.00}
\endvoce`
Simpatico no?
R.Dov’è la sorpresa? 🙂 E dov’è diverso questo da un modo “tradizionale”?
`\newenvironment{tabellona}[2]
{\begin{tabular}{clr}
\toprule
N. & #1 & \si{#2}\\% richiede siunitx
\midrule}
{\bottomrule\end{tabular}}`
E il tuo input sarebbe:
`\begin{tabellona}{Travi in legno lamellare}{m^3}
\voce{
Travi di orditura principale di copertura realizzate in legno lamellare
GL24 di sezione rettangolare ecc ecc
}
\misura{Falda lato strada}{2.120}
\prezzo{500.00}
\end{tabellona}`
Non capisco perché mischiare nomi che indicano cose nettamente diverse, mi riferisco a “voce”.Ciao
EnricoSai che lo so.
Trovo solo simpatico che nella definizione di una macro (quella di \voce riportata non è completa), può starci anche un \begin{qualcosa} senza che poi ci sia \end{qualcosa}.
Almeno, non ci avevo mai fatto caso.
😆
Grazie.
Ciao.
R.
::IneXperience” post=73040
[quote=”IneXperience” post=73031]Buongiorno ragazzi,
entro nel vivo della tesi, e dovrei creare dei Diagrammi E-R che faranno da supporto all’intero progetto. Ho caricato un file per farvi vedere di cosa tratta.E’ possibile realizzarli facilmente in LaTeX o mi devo poggiare su qualche applicativo, creare il documento e poi applicarlo alla tesi come file d’immagine? Questa soluzione la trovo poco ortodossa, passatemi il termine.
Grazie per le idee e risposte,
SimoneForse potrebbe piacerti qualcosa di più elaborato ripetto a codice TikZ di base come questo.
Leggi il manuale di tikz-er2 disponibile in pdf.
Esiste anche la possibilità di lavorare con pstricks.
R.Molte grazie robixl…
non male, peccato per l’effetto shadow 🙂 … solo che forse non vengono implementati in modo completo tutti i costrutti del modello Entità-Relazione, ma credo che si tratterà di piccole modifiche risolvibili.Come inserisco e scarico il pacchetto tikz dell’esempio? Va nelle cartelle dove punta il path?
Grazie…[/quote]
Per il momento metti il file di stile (.sty) nella cartella dove si trova il sorgente.
R.
-
AutoreRisposte