Risposte nei forum create
-
AutoreRisposte
-
13 Marzo 2013 alle 16:10 in risposta a: Il disegno programmato nell’Arte di scrivere con LaTeX #72832::
Ciao,aggiungo una cosa.
lorenzo.pantieriAh, quel “63” l’ho ottenuto con un po’ di geometria analitica, praticamente indispensabile se si usa TikZ…
In realtà quel segmento inclinato potevi tracciarlo usando le coordinate polari e pertanto l’angolo di inclinazione l’avresti deciso tu all’inizio e ti sarebbe stato noto esattamente. Oppure, per tracciare l’ampiezza degli angoli, usando la libreria [tt]tkz-euclide[/tt] e il comando [tt]\tkzDrawArc.[/tt] Altra soluzione sarebbe usare un [tt]\clip…[/tt]
Ciao,
Marco.
13 Marzo 2013 alle 16:03 in risposta a: Il disegno programmato nell’Arte di scrivere con LaTeX #72831::
Ciao Lorenzo,prima che ti risponda qualcuno di più esperto di me, o prima che trovi un’altra soluzione ti propongo la seguente. Purtroppo devo dirti che è necessaria la libreria [tt]\usetikzlibrary{calc}[/tt] (che comunque ritengo indispensabile e irrinunciabile rispetto a tante altre; vediamo che ne pensano quelli esperti).
`\begin{tikzpicture}
\draw [help lines] (0,0) grid (5,4);
\draw [fill=yellow] (2,1) — (2.75,1) arc (0:63:0.75) — cycle;
\draw [fill=yellow] (3,3) — (2.25,3) arc (180:243:0.75) — cycle;
\node at ($(2,1)+(31.5:.375)$) {$\alpha$};
\node at ($(3,3)+(211.5:.375)$) {$\alpha$};
\draw [thick] (0,1) node{$C$} — (5,1) node
{$D$};
\draw [thick] (0,3) node{$A$} — (5,3) node
{$B$};
\draw [thick] (1.5,0) node [below] {$E$} — (3.5,4) node [above] {$F$};
\end{tikzpicture}`
[tt]$(x,y)+(ang:dist)$[/tt] determina una coordinata che è distante [tt]dist[/tt] da [tt](x,y)[/tt] e a un angolo [tt]ang[/tt] rispetto all’orizzontale (misurato in senso antiorario). Il fatto è che nel tuo codice [tt]above right[/tt] e similmente [tt]below left[/tt] pongono il testo a 45° e quindi non centrano quello di 63° dato da alpha.Ciao,
Marco.
::
Ciao Dibari,non hai detto che classe stai usando. Se stai usando una classe standard, allora puoi usare questi comandi:
`\numberwithin{equation}{section}
\numberwithin{figure}{section}
\numberwithin{subfigure}{section}
\numberwithin{table}{section}`
Se invece stai usando la classe memoir usa questi:
`\counterwithin{equation}{section}
\counterwithin{figure}{section}
\counterwithin{table}{section}`
Modifica [tt]section[/tt] con quello che soddisfa le tue richieste.Ciao,
Marco.
::
Ciao Claudio,intanto grazie mille! Anche stavolta m’hai insegnato qualcosa di nuovo di [tt]TikZ.[/tt] Quelle che hai definito “impurità” in realtà sono gli aggregati presenti nel calcestruzzo (sabbia, ghiaia, …), ma il risultato che hai ottenuto è comunque proprio quello a cui pensavo! Il tuo codice è molto interessante e ora lo guardo per bene (grazie delle spiegazioni esaustive che hai dato).
Grazie ancora e buona giornata!
Marco.
::
Ciao,ho notato proprio ora che sul LaTeX Font Catalogue si mostra che con il pacchetto [tt]ebgaramond[/tt] è possibile avere anche il grassetto. Non solo, questo è disponibile anche corsivo e maiuscoletto. Uno lo vede, apre il suo editor, scrive qualcosa per provare e scopre che non è così. 🙁 Possibile che l’autore del pacchetto si sia dimenticato di caricare anche questi font anche se aveva l’intenzione di farlo?
Ciao,
Marco.
::
Ciao samiel,ti segnalo che in questa discussione si parla praticamente della stessa cosa.
Ciao,
Marco.
::
Ciao,cfiandraHo notato, ad esempio, che Marco e Francesco generalmente prima definiscono le posizioni dei nodi prima attraverso il comando [tt]\coordinate:[/tt]
Vero, nei miei disegni l’ordine è: “definizioni e macro” (attraverso l’uso di [tt]\def[/tt] e [tt]\pgfmathsetmacro[/tt]), “coordinate” e quindi il disegno vero e proprio. In questo modo se durante lo svolgimento del disegno devo inserire (per via dell’ordine di visualizzazione) una parte prima di un’altra, e fare riferimento a una data coordinata, sono sicuro che sia già stata definita. Riconosco che questa ragione sia piuttosto opinabile… (Traduco: se qualcuno vuole fare una critica a questo metodo e propormi un approccio migliore, sarà molto ben accetto. :))
lorenzo.pantieriChe ne dite, ragazzi? 😉
Codice compatto, semplice e che non richiede librerie extra.
Come diceva Claudio in [tt]TikZ[/tt] le strade per raggiungere uno stesso obiettivo sono diverse, come del resto hai potuto vedere con i disegni di cui hai chiesto. Il tuo approccio ha il vantaggio di avere un codice semplice a vedersi e a capirsi.
lorenzo.pantieriStudio TikZ da neanche un giorno, e già mi piace… 🙂
Questa è una cosa molto bella per te, per i tuoi documenti e… anche per i lettori delle tue guide, se deciderai effettivamente di fare un capitolo sull’Arte che riguardi questo potentissimo strumento di disegno.
Buono studio e soprattutto buon divertimento!
Marco.
::
Ciao,Lorenzo, il livello di padronanza di [tt]TikZ[/tt] che ha Claudio è per me (per il momento almeno) inarrivabile. Tuttavia mi sono divertito a vedere come io sarei riuscito a realizzare quel disegno con le mie conoscenze ridotte e usando comandi meno complicati. Ecco il mio risultato:
`\documentclass{article}\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}\usepackage{tikz}
\usetikzlibrary{backgrounds,calc}\begin{document}
\begin{tikzpicture}[x={(1cm,-.15cm)}, y={(0.55cm,0.55cm)}, z={(0cm,1cm)}]
% definizioni e macro
\def\lbase{3}
\def\altezza{7}
\def\primoLiv{.4}
\def\secondoLiv{.2}
\pgfmathsetmacro{\fineSecondoLiv}{\primoLiv+\secondoLiv}% coordinate
\coordinate (baseA) at (0,0,0);
\coordinate (baseB) at (\lbase,0,0);
\coordinate (baseC) at (\lbase,\lbase,0);
\coordinate (baseD) at (0,\lbase,0);
\coordinate (vertice) at (\lbase/2,\lbase/2,\altezza);\coordinate (primoLivelloA) at ($(baseA)!\primoLiv!(vertice)$);
\coordinate (primoLivelloB) at ($(baseB)!\primoLiv!(vertice)$);
\coordinate (primoLivelloC) at ($(baseC)!\primoLiv!(vertice)$);\coordinate (secondoLivelloA) at ($(baseA)!\fineSecondoLiv!(vertice)$);
\coordinate (secondoLivelloB) at ($(baseB)!\fineSecondoLiv!(vertice)$);
\coordinate (secondoLivelloC) at ($(baseC)!\fineSecondoLiv!(vertice)$);\node [text width=2cm, align=center, color=blue, anchor=east,xshift=-.5cm] (etichettaPrimoLivello) at ($(baseA)!.5!(primoLivelloA)$) {Metabolismo \\ basale};
\node [text width=2cm, align=center, color=darkgray, anchor=east,xshift=-.5cm] (etichettaSecondoLivello) at ($(primoLivelloA)!.5!(secondoLivelloA)$) {Attività \\ fisica};
\node [text width=3cm, align=center, color=red, anchor=east,xshift=-.5cm] (etichettaTerzoLivello) at ($(secondoLivelloA)!.5!(vertice)$) {TID \\ Termogenesi \\ Indotta \\ dagli Alimenti};% riempimento primo livello
\fill [blue!55] (baseA) — (baseB) — (primoLivelloB) — (primoLivelloA);
\fill [blue!75] (baseB) — (baseC) — (primoLivelloC) — (primoLivelloB);% riempimento secondo livello
\fill [white] (primoLivelloA) — (primoLivelloB) — (secondoLivelloB) — (secondoLivelloA);
\fill [gray!35] (primoLivelloB) — (primoLivelloC) — (secondoLivelloC) — (secondoLivelloB);% riempimento terzo livello
\fill [red!55] (secondoLivelloA) — (secondoLivelloB) — (vertice);
\fill [red!75] (secondoLivelloB) — (secondoLivelloC) — (vertice);% bordo piramide
\draw (baseA) — (baseB) — (baseC);
\draw (baseA) — (vertice);
\draw (baseB) — (vertice);
\draw (baseC) — (vertice);% primo livello
\draw (primoLivelloA) — (primoLivelloB) — (primoLivelloC);
\node at ($($(baseA)!.5!(primoLivelloA)$)!.5!($(baseB)!.5!(primoLivelloB)$)$) {$60 \div 70\%$};% secondo livello
\draw (secondoLivelloA) — (secondoLivelloB) — (secondoLivelloC);
\node [text width=1cm, align=center] at ($($(primoLivelloA)!.5!(secondoLivelloA)$)!.5!($(primoLivelloB)!.5!(secondoLivelloB)$)$) {$20$ \\ $\div$ \\ $30\%$};% terzo livello
\node at ($($(secondoLivelloA)!.2!(vertice)$)!.5!($(secondoLivelloB)!.2!(vertice)$)$) {$10\%$};\end{tikzpicture}
\end{document}`
Probabilmente a te non interessa molto questa soluzione, avendo a disposizione quella più raffinata di Claudio. In ogni caso, spero che possa essere utile a qualche utente che, non avendo le conoscenze di Claudio, voglia comunque realizzare quel disegno.Ciao e buona giornata,
Marco.P.S. Allego il pdf del mio disegno.
[attachment=620]piramide.pdf[/attachment]
Attachments:
You must be logged in to view attached files.::
Ciao InvincibleBoy,personalmente i riferimenti alle equazioni li faccio così:
`[…] L'equazione~\eqref{eq:labelEquazione} indica chiaramente che […]`
mentre per le figure:
`[…] come mostrato nella figura~\vref{fig:labelFigura}.`
Dove [tt]\vref[/tt] è un comando messo a disposizione del pacchetto [tt]varioref[/tt] (da caricare con l’opzione [tt]italian[/tt]). Non mi risulta che ci sia un comando del tipo [tt]\figref;[/tt] credo proprio di non sbagliare nel dirti che facendo come faccio io rispetterai anche le buone norme tipografiche/estetiche. (Anche sull’Arte non mi sembra che vengano mostrate altre opzioni.)Ciao e buona giornata,
Marco.
::
Ciao Enrico,grazie mille! 🙂 Abbiamo controllato e di [tt]\caption[/tt] dopo [tt]\label[/tt] non c’è ne sono. Tuttavia, dopo aver ripulito il documento dei vari [tt]\clearpage[/tt] e soprattutto [tt]\newpage[/tt] (che avevo caldamente sconsigliato di usare, soprattutto non in fase di revisione finale) il problema s’è risolto. Non capisco, però, come i comandi [tt]\clearpage[/tt] e [tt]\newpage[/tt] possano creare questi problemi. Quello che mi domando è: se inserisco questi comandi, LaTeX non dovrebbe tenerne conto?
Ciao e grazie ancora,
Marco.
::
Ciao,OldClaudioma sei poi sicuro che i Junicode vadano bene con i mathpazo? hmmm…
No, infatti, hai ragione. In realtà quel codice che ho riportato (quello con EB Garamond) è così perché non volevo riportare un codice in cui ci fosse l’uso di font non disponibili gratuitamente. Quello che uso io è questo:
`\usepackage{etex}
\usepackage{etoolbox}
\usepackage[T1]{fontenc}
\usepackage[greek,italian]{babel}
\usepackage{microtype}% Matematica
\usepackage{amsmath,amsthm,amssymb}
% Font
\usepackage{mathpazo}% Font
\usepackage{mathspec}
%Apici e pedici (dopo mathspec)
\usepackage[no-sscript]{xltxtra}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont[Numbers=OldStyle]{Palatino Linotype}
\setsansfont[Numbers={OldStyle,Proportional},Scale=MatchLowercase]{Cronos Pro}
\setmonofont[Numbers=OldStyle,Scale=MatchLowercase]{Liberation Mono}`Ciao,
Marco.
::
Ciao Claudio,avrei qualche domanda riguardo al tuo codice:
cfiandra`\begin{tikzpicture}
\fill[blue!50!cyan] (2,0) circle(1.1cm);
\node[regular polygon, regular polygon sides=3, draw] (triangolo) at (2,0) {Risultati};
\node[green!70!black,above] at (triangolo.corner 1){Allenamento};
\node[green!70!black,below] at (triangolo.corner 2){Alimentazione};
\node[green!70!black,below] at (triangolo.corner 3){Riposo};
\end{tikzpicture}`- Il cerchio, nel tuo disegno, è tangente ai lati del triangolo. Ho provato a riprodurlo, e questo a me non avviene. Come mai?
- In questo codice, senza usare le chiavi, come posso soddisfare la richiesta di tangenza? Fissata questa, come posso decidere la lunghezza del lato del triangolo?
- Dove hai imparato a usare le chiavi di [tt]TikZ?[/tt] Semplicemente studiandoti la parte relativa sulla sua documentazione?
Grazie infinite e buona giornata,
Marco.
-
AutoreRisposte