Risposte nei forum create
-
AutoreRisposte
-
::
lorenzo.pantieri” post=107595Ciao a tutti. Mi aiutate a migliorare questa figura?
`\documentclass{article}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}\begin{document}
\begin{tikzpicture}[scale=0.9,font=\small]
\draw
(-0.8,-4.4) — (0.8,-4.4) — (0.6,-3.6) — (-0.6,-3.6) — cycle;
\draw(-0.8,-4.6) rectangle (0.8,-4.4);
\draw [thick, right color=BrickRed, left color=white] (-0.1,0.5) rectangle (0.1,-4);
\draw [thick, top color=lightgray, bottom color=white] (-2.75,-0.15) rectangle (2.75,0.15);\draw (-2.5,0) [fill=white] circle (2pt);
\draw (-2,0) [fill=white] circle (2pt);
\draw (-1.5,0) [fill=white] circle (2pt);
\draw (-1,0) [fill=white] circle (2pt);
\draw (-0.5,0) [fill=white] circle (2pt);
\draw (0,0) [fill=white] circle (2pt);
\draw (0.5,0) [fill=white] circle (2pt);
\draw (1,0) [fill=white] circle (2pt);
\draw (1.5,0) [fill=white] circle (2pt);
\draw (2,0) [fill=white] circle (2pt);
\draw (2.5,0) [fill=white] circle (2pt);\draw (0,0.5) [fill=BrickRed] ellipse (0.1 and 0.05);
\draw (0,-4)ellipse (0.1 and 0.05); % non ci siamo!!!
\draw (0,0) — (0.5,-0.5) node [below right=-4pt] {fulcro};
\draw (2.25,0) — (2.75,-0.5) node [below right=-4pt] {asta};
\draw (0,-2.5) — (0.5,-3) node [below right=-4pt] {supporto};\end{tikzpicture}
\end{document}`
Quello che non va è la base del supporto. Ci vorrebbe solo l’arco in basso dell’ellisse, e non quello in alto. In altre parole, ci vorrebbe una semiellisse.Grazie anticipate!
`\documentclass{article}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}\begin{document}
\begin{tikzpicture}[scale=0.9,font=\small]
\draw
(-0.8,-4.4) — (0.8,-4.4) — (0.6,-3.6) — (-0.6,-3.6) — cycle;
\draw(-0.8,-4.6) rectangle (0.8,-4.4);
%\draw [thick, right color=BrickRed, left color=white] (-0.1,0.5) rectangle (0.1,-4);
\draw [thick, right color=BrickRed, left color=white] (-0.1,0.5)–(0.1,0.5)–(0.1,-4) arc[start angle=360, end angle=180,x radius=0.1, y radius=0.05]–cycle;
\draw [thick, top color=lightgray, bottom color=white] (-2.75,-0.15) rectangle (2.75,0.15);\draw (-2.5,0) [fill=white] circle (2pt);
\draw (-2,0) [fill=white] circle (2pt);
\draw (-1.5,0) [fill=white] circle (2pt);
\draw (-1,0) [fill=white] circle (2pt);
\draw (-0.5,0) [fill=white] circle (2pt);
\draw (0,0) [fill=white] circle (2pt);
\draw (0.5,0) [fill=white] circle (2pt);
\draw (1,0) [fill=white] circle (2pt);
\draw (1.5,0) [fill=white] circle (2pt);
\draw (2,0) [fill=white] circle (2pt);
\draw (2.5,0) [fill=white] circle (2pt);\draw (0,0.5) [fill=BrickRed,semithick] ellipse (0.1 and 0.05);%ho aggiunto il semithick per uniformare lo spessore dell'ellisse, thick mi sembrava troppo
\draw (0,0) — (0.5,-0.5) node [below right=-4pt] {fulcro};
\draw (2.25,0) — (2.75,-0.5) node [below right=-4pt] {asta};
\draw (0,-2.5) — (0.5,-3) node [below right=-4pt] {supporto};\end{tikzpicture}
\end{document}`
Le modifiche sono minime, ho rimosso il rettangolo e creato una polilinea
::
Forse ci siamo
`\documentclass{article}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary[calc,intersections,through,backgrounds]
\begin{document}\begin{tikzpicture}[scale=0.8, font=\small]
%\draw[help lines,step=0.5] (0,-1) grid (5,3);
\fill[yellow!50!white] (2,0) — (4.5,1) — (2.5,2) — (0,1) — cycle;\draw[very thick,fill=black] (2,-0.3)arc(-45:45:0.2121)–(4.5,1)arc(45:-45:0.2121)–(2,-0.3);
\draw[very thick] (0,1)–(2,0)arc(45:-45:0.2121)–(0,0.7)arc(-45:45:0.2121)–(2.5,2)–(4.5,1);\coordinate (A) at (0,0.7);
\coordinate (D) at (2,0);
\coordinate (C) at ($(A)!0! (D)$);
\path[name path=arco] (C)arc(-45:45:0.2121);\foreach\y in{-0.24,-0.18,-0.12,-0.06}{
\path[name path=pagina](2,\y)–(0,\y+1);
\path[name intersections={of=arco and pagina,by={B}}];
\pgfmathequal{\y}{-0.12}
\ifnum\pgfmathresult=1
\draw[very thin] (B)–+(-26.565:7mm);
\else
\draw[very thin] (B)–+(-26.565:5mm);
\fi
};\draw [very thick,->] (2.5,2) — (4.5,2.75);
\draw [very thick,->] (2.15,-0.15) — (0.15,-1.0);\node at (4,2.25) {$-\vec{F}$};
\node at (1.25,-0.8) {$\vec{F}$};\end{tikzpicture}
\end{document}`
Adesso le 4 linee partono dalla parte oposta e si estendono per 5mm la I, III e IV e per 7mm la II il punto C resta definito come prima quindi puoi ancora muoverle su e giù nel libro, e se vuoi cambiare la pagina che ha 7mm basta solo che modifichi il valore del comando`\pgfmathequal{\y}{-0.12}
`con quale dei 4 valori vuoi, anche se ragionevolmente al più potrebbe essere -0.18, dubito che tu voglia mettere la prima o l’ultima diversa.
::lorenzo.pantieri” post=107363
Non so se questo fosse il risultato voluto, resto a disposizione.
Molto bello. Vorrei solo le righine delle pagine più corte, di pochi mm, non per tutta la larghezza del libro. Riesci?
Avendo riletto anche il tuo precedente intervento, chiedevi che le paginette non fossero attaccate al bordo e non tutte uguali, qui ti presento la mia nuova proposta
`\documentclass{article}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary[calc,intersections,through,backgrounds]
\begin{document}\begin{tikzpicture}[scale=0.8, font=\small]
%\draw[help lines,step=0.5] (0,-1) grid (5,3);
\fill[yellow!50!white] (2,0) — (4.5,1) — (2.5,2) — (0,1) — cycle;\draw[very thick,fill=black] (2,-0.3)arc(-45:45:0.2121)–(4.5,1)arc(45:-45:0.2121)–(2,-0.3);
\draw[very thick] (0,1)–(2,0)arc(45:-45:0.2121)–(0,0.7)arc(-45:45:0.2121)–(2.5,2)–(4.5,1);\coordinate (A) at (0,0.7);
\coordinate (D) at (2,0);
\coordinate (C) at ($(A)!0.05! (D)$);
\path[name path=arco] (C)arc(-45:45:0.2121);\foreach\y in{-0.25,-0.20,…,0}{
\path[name path=pagina](2,\y)–(0,\y+1);
\path[name intersections={of=arco and pagina,by={B}}];
\coordinate (E) at ($(2,\y)!0.99+0.02*rand!(B)$);
\draw[very thin](2,\y)–(E);
};\draw [very thick,->] (2.5,2) — (4.5,2.75);
\draw [very thick,->] (2.15,-0.15) — (0.15,-1.0);\node at (4,2.25) {$-\vec{F}$};
\node at (1.25,-0.8) {$\vec{F}$};\end{tikzpicture}
\end{document}`
Adesso le pagine puoi governarle come meglio credi modificando il fattore che io ho impostato a 0.05 per quanto riguarda il limite nuovo teorico
`\coordinate (C) at ($(A)!0.05! (D)$);
`per il grado di aleatorietà della pagina il controllo è questo
`\coordinate (E) at ($(2,\y)!0.99+0.02*rand!(B)$);
`
Ho impostato 0.99 perché il random ha un intervallo [-1;1] mentre 0.02 serve a scalare proprio il random. Quindi al momento il listato prende il 99% della lunghezza della pagina e ci somma un fattore aleatorio che ha intervallo [-0.02;0.02].
Lascio a te decidere poi i valori che meglio rispondono alle tue esigenze. Spero questa volta di aver colto a pieno la tua richiesta altrimenti non esitare a scrivermi.
::
La mia proposta è questa`\documentclass{article}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary[calc,intersections,through,backgrounds]
\begin{document}\begin{tikzpicture}[scale=0.8, font=\small]
%\draw[help lines,step=0.5] (0,-1) grid (5,3);
\fill[yellow!50!white] (2,0) — (4.5,1) — (2.5,2) — (0,1) — cycle;\draw[very thick,fill=black] (2,-0.3)arc(-45:45:0.2121)–(4.5,1)arc(45:-45:0.2121)–(2,-0.3);
\draw[very thick] (0,1)–(2,0)arc(45:-45:0.2121)–(0,0.7)arc(-45:45:0.2121)–(2.5,2)–(4.5,1);%\path [name path=B–F];
%\draw[name path=arco] (0,0.7)arc(-45:45:0.2121);
\path [name path=arco] (0,0.7)arc(-45:45:0.2121);
\foreach\y in{-0.2,-0.1}{
\path[name path=pagina](2,\y)–(0,\y+1);
\path[name intersections={of=arco and pagina,by={B}}];
\draw[very thin](2,\y)–(B);
};\draw [very thick,->] (2.5,2) — (4.5,2.75);
\draw [very thick,->] (2.15,-0.15) — (0.15,-1.0);\node at (4,2.25) {$-\vec{F}$};
\node at (1.25,-0.8) {$\vec{F}$};\end{tikzpicture}
\end{document}`
Due osservazioni:
1) Come ho trovato angoli e lunghezze dei bordi arrotondati del libro? Non avendo voglia di fare conti ho fatto con autocad (45° spesso e volentieri secondo me risolve i problemi) esteticamente mi sembra carino, ma eventualmente si può trovare anche un altro angolo di attacco.
2) Le pagine sono ancora due, ma ora si possono aumentare molto facilmente basta cambiare
`
\foreach\y in{-0.2,-0.1}`
con
`\foreach\y in {-0.3,-0.25,…,0}`
è un bel risparmio di lavoro secondo me.
Con il metodo implementato dentro il foreach si può trovare anche il vero punto di attacco del vettore F, ora mascherata dal nero.
Non so se questo fosse il risultato voluto, resto a disposizione.
::
Il materiale suggerito è ottimo, ma ora sono alle prese con il primo vero grande problema, gli \if
`\documentclass{article}
\usepackage{tikz}\makeatletter
\tikzset{
eye/.initial=both,
eye/.get=\eye,
eye/.store in=\eye,
}
\newcommand{\eyecir}[1][]{
\begin{tikzpicture}
\if\eye=both
\draw (0,0)–(2,0);
\draw (0,-1)–(2,-1);
\else
\draw (0,0)–(2,0);
\fi
\end{tikzpicture}%
}
\makeatother\begin{document}
\eyecir[eye=both]
\end{document}`Ovviamente quel modo di confrontare \eye con both non è giusto; ho letto l’articolo di Beccari su ArsTeXnica numero 17 e ho visto che è pieno di if, ma sembra che nessuno sia quello che cerco, come devo procedere? Risolto questo problema per ora sarei già a buon punto.
::
Ringrazio entrambi per gli utili consigli, oggi mi documento, non ricordavo che pgf avesse anche questa possibilità. Eventualmente posso pensare a LaTeX3 se poi dovessi essere soddisfatto del primo risultato. Visto che sono alle prime armi, ritengo he valga la pena imparare direttamente il linguaggio di LaTeX3, che ricordo aver trovato più familiare quando l’ho visto al meeting di Trento.
Per rispondere alla tua domanda Roberto, è vero che di solito uno disegna e parla congiuntamente di ambo gli occhi, ma non sapendo quali impieghi potrebbe avere, mi volevo tenere la possibilità di consentire all’utente finale di descrivere anche solo un occhio o, nell’ipotesi di testo universitario o simile, di poter anche mostrare la lunetta senza indicazioni e/o senza la freccia.
Magari è inutile non lo so, ma se Orbscan poi vorrà fornirmi anche altre idee per migliorarlo sarò ben lieto di tentare di adattarlo alle reali esigenze.
::robitex” post=106133
Grazie per la risposta.
Ho arrangiato due esempi ma non riesco ad andare avanti…
Potete aiutarmi?Oppure consigliarmi a chi posso rivolgermi?
Grazie
Un passo alla volta con una buona guida…
Per esempio l’Arte di disegnare con LaTeX mi sembra fatta molto bene.
Questo il link: http://www.lorenzopantieri.net/LaTeX_files/ArteTikZ.pdfE ho l’opinione che questo progetto di documento possa essere anche un lavoro da presentare ad ArsTeXnica, la rivista del gruppo GuIT.
Sul forum dovresti fare domande più precise.
Per quale motivo non riesci ad andare avanti?
R.Ciao Roberto,
è molto tempo che medito di scrivere per bene questo progetto, ma ancora non ho raggiunto le competenze sufficienti per farlo in solitaria. Mi sono letto appunti di programmazione in LaTeX e TeX di Enrico, ma ancora non mi sento pronto (ci mancherebbe altro che bastasse una sola lettura e guida); sai se c’è qualcuno nel gruppo che vuole provare a darmi una mano? Oppure c’è altro materiale da leggere così da capire come funzionano gli argomenti opzionali, vorrei passara da quello che ho scritto a qualcosa della forma`
\cercle[radius=2.5cm,label=true,eye=L]{60}{30}
`
In modo da poter definire se si vuole disegnare solo un occhio, con o senza la scritta e altre opzioni che ora non ho citato, perché al momento mi viene in mente solo un laborioso e poco efficace schema di if consecutivi.
Resto a disposizione.
::
Il problema era di tipo “trigonometrico” nel caso di piano inclinato a 45 gradi la soluzione è
`\draw [thick,rounded corners,shift={(1.5+0.1767,1.5+0.1767)},rotate =-45] (-0.5,-0.25) rectangle (0.5,0.25);`0.1767 altri non è che il valore 0.25 diviso per la radice quadrata di 2, credo fosse sfuggito questo dettaglio. Per dirla in modo più consono, la semi altezza del rettangolo deve essere proiettata sui due assi cartesiani.
Per la seconda domanda, basta inserire le coordinate sullo shift del punto desiderato, 0.1767 è un invariante, cambia solo se cambia l’angolo.Mi permetto invece di fare notare che
`\node [above] at (3.5,0) {$30°$};`
almeno nel esempio minimo compilabile, non produce il simbolo di grado, non so se poi con altri pacchetti il problema venga risolto in automatico o se fosse stato scritto solo per rendere più chiaro che cos’è quel valore.
::
Mi scuso per non aver specificato subito cosa significhi NTC, l’abitudine di chiamarle con l’acronimo è tale che spesso e volentieri dimentico che chi non è del settore può non sapere a cosa io stia facendo riferimento.
Per quanto riguarda l’aspetto delle incongruenze sulle Norme tecniche, non voglio entrare in merito (sono comunque d’accordo con LaTeXCar), ma ritengo non sia questa la sede per questo tipo di polemiche. Non so se hai visto la proposta per le NTC 2014, che forse saranno le Norme tecniche 2016 o 2017 o forse anche 2018, ma sfortunatamente la bozza che girava qualche tempo fa era un bel file Word 🙁 non dico altro.
Per chiudere l’off-topic penso che come in Giappone anche noi dovremmo iniziare a incentivare l’uso di Latex per i documenti ufficiali in campo scientifico e tecnico. Nel mio piccolo sono riuscito a far compilare le tesi a due miei compagni di corso. Speriamo che il buon gusto e senso si diffonda.Sapere che negli anni 2000 ancora qualcuno usava le macchine da scrivere al MIUR è comunque poco rassicurante. Con questo non ho nulla contro quello strumento che anzi, ha un suo fascino e una storia, ma vedo più adatto alla stesura di manoscritti che poi debbano comunque essere corretti.
::
Non si può fare in modo che le nuove NTC invece che essere orrende come quelle del 2008 siano scritte in Latex? Lo so che è lo stato italiano che codifica per i giudici queste norme e probabilmente dell’aspetto finale non può fregargliene di meno, però sono gli ingegneri che ne fanno uso e credo avrebbero piacere di avere uno strumento chiaro. Personalmente ho sempre trovato le NTC orrende sotto molti aspetti e infatti è molto tempo che penso a chi si debba far presente questa questione, voi avete idee? Se mi segnalate a chi inviare una mail posso fare un tentativo.
Mi scuso per essere andato un po’ off-topic
-
AutoreRisposte