Risposte nei forum create
-
AutoreRisposte
-
::
OldClaudio” post=106181Leggendo il codice di Enrico si capisce perché bisogna fare diverse passate e ad ogni passata si aggiunge una cifra nella base giusta a sinitra di quelle già trovate.
Il perché si facciano più passate mi è chiaro, quello che continuo a non capire è perché la seconda passata finisca a sinistra.
::
Non so se quello che tu volessi ottenere fosse proprio questo, comunque io ho provato a riscrivere il comando (è così che si chiama?) con 4 valori opzionali, il I dichiara il raggio, il II e il III dichiarano l’angolo delle due frecce e il IV serve per aumentare la distanza tra i due semicerchi.
Non sono riuscito a rendere dinamica la dimensione della freccia, forse qualcuno potrà aiutarti se il risultato è quello che volevi. Anche sul testo si può forse fare qualche miglioria.`
\documentclass{article}
\usepackage{tikz}
\usepackage{xparse}
\usetikzlibrary{arrows.meta,calc,bending}\NewDocumentCommand{\cercle}{O{2cm}O{90}O{90}O{2.5cm}}{%
\def\radius{#1}%
\begin{tikzpicture}[>={stealth}]
\coordinate (A) at (0,0);
\coordinate (B) at ($(0,0)+(2*\radius+#4,0)$);
\draw[line width=1pt] (A) arc[start angle=0, end angle=180, radius=#1];
\draw[line width=1pt] (B) arc[start angle=0, end angle=180, radius=#1];
\foreach \angp in {5,15,…,175}
{
\draw[line width=1pt] ([shift=(180:\radius)]\angp:\radius)–([shift=(180:\radius)]\angp:\radius+0.2cm);
\draw[line width=1pt] ([shift=(0:\radius+#4)]\angp:\radius)–([shift=(0:\radius+#4)]\angp:\radius+0.2cm);
}
\foreach \angp in {10,20,…,170}
{
\draw[line width=1pt] ([shift=(180:\radius)]\angp:\radius)–([shift=(180:\radius)]\angp:\radius+0.4cm);
\draw[line width=1pt] ([shift=(0:\radius+#4)]\angp:\radius)–([shift=(0:\radius+#4)]\angp:\radius+0.4cm);
}
\foreach \angp in {0,30,…,180}
{
\draw[line width=1pt] ([shift=(180:\radius)]\angp:\radius)–([shift=(180:\radius)]\angp:\radius+0.6cm);
\draw[line width=1pt] ([shift=(0:\radius+#4)]\angp:\radius)–([shift=(0:\radius+#4)]\angp:\radius+0.6cm);
\node [rotate=\angp-90] at ([shift=(180:\radius)]\angp:\radius+0.8cm) {\angp};
\node [rotate=\angp-90] at ([shift=(0:\radius+#4)]\angp:\radius+0.8cm) {\angp};
}
\node [below] at (-\radius,-0.5) {OCCHIO DESTRO};
\node [below] at (\radius+#4,-0.5) {OCCHIO SINISTRO};
\draw [->,line width=1pt] (-\radius,0)–++(#2:\radius);
\draw [->,line width=1pt] (\radius+#4,0)–++(#3:\radius);
\end{tikzpicture}%
}\begin{document}
\cercle[2cm][60][30]
\end{document}
`
::
Sono d’accordo che caricare Pgfplots per usare usare tikz non è una bella cosa, ma io in questo caso non devo graficare un diagramma, bensì mi serve quella curva per poi sviluppare un disegno. Quando ho dovuto creare dei grafici ho sempre usato pgfplots seguendo le istruzioni della guida.
La ragione per la quale sto scomodando la funzione coseno iperbolico è che sto trattando le funi soggette solo al proprio peso. Nella fattispecie devo anche descrivere le forze che agiscono su un elemento infinitesimo di fune, perciò la cosa più logica per me era e resta usare tikz. Non si tratta quindi di grafici i tracciamento di funzioni, ma solo di un espediente atto a ottenere una fune realistica.
Detto questo e osservato che ora posso completare il mio disegno, mi resta da capire cosa sia quel path di cui si è parlato. Anche perché non escludo che in un futuro non troppo distante io non sia costretto a far uso di gnuplot con pgfplots e a quel punto mi troverei ad aprire un nuovo argomento di conversazione.
::
Ti ringrazio per avermi fatto notare questo clamoroso errore, non mi ero mai accorto che mi mancava il pacchetto tikz nel preambolo, probabilmente essendo il manuale tikz e pgf ho pensato che pgfplots fosse una sua estensione. Le cose ora mi sembra già più chiare, vorrei tuttavia chiederti se puoi indicarmi come si setta il path di gnuplot o se esiste già una discussione in cui è spiegato perché per me questa cosa è totalmente nuova.
Buona Pasqua a tutti
::
Chiedo scusa, non è un Minimum, così dovrebbe andare meglio anche se forse si potrebbero togliere 3 pacchetti e snellire le librerie.
`
\documentclass[a4paper,11pt]{book}
\usepackage{graphicx}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}\usepackage{pgfplots,relsize,pgfplotstable,lmodern,pgfkeys, pgfmath}
\pgfplotsset{compat=1.3}
\pgfkeys{
/pgf/number format/.cd, % “change directory”
use comma
}
\usetikzlibrary{plotmarks,arrows.meta,calc,intersections,through,backgrounds,bending}
\usetikzlibrary{positioning,patterns,decorations.markings}\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}
\draw[domain=-5:5, samples=50, smooth, color=red] plot[id=catenaria] function{0.5*(exp(x)+exp(-x))};
\end{tikzpicture}
\end{figure}
\end{document}
`Per rispondere alla tua domanda se conosco la differenza TikZ e pgfplots faccio prima a dirti di no, ho sempre usato quello che io chiamo TikZ per disegnare, mentre pgfplots lo uso solitamente per tracciare grafici, mi sono sempre rifatto a questi due manuali del CTAN pgfplots e TikZ e PGF.
Proprio all’ultimo ho fatto riferimento ieri in particolare al §22.5 e 22.6 per fare quella cosa.
Infine, ma ho dimenticato io di scriverlo, sì, ho installato Gnuplot nel computer.
Ricompilando ora l’esempio mi dice questo:(c:/texlive/2015/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg))
ABD: EveryShipout initializing macros”gnuplot” non � riconosciuto come comando interno o esterno,
un programma eseguibile o un file batch.Package pgfplots notification ‘compat/show suggested version=true’: you might b
enefit from \pgfplotsset{compat=1.12} (current compat level: 1.3).Package pgf Warning: Plot data file `prv.catenaria.table’ not found. on input l
ine 22.! Output loop—100 consecutive dead cycles.
\clearpage …rite \m@ne {}\vbox {}\penalty -\@Mil.25 \end{document}
Non so se possa essere di qualche aiuto o no, ma l’ho riportato.
::
Premesso che il mio problema è simile a quello in discussione, ho provato a risolvere leggendo quanto scritto, ma continuo a manifestare un problema. Ora per completezza riporto sia il file minimo compilabile sia il database e poi seguito a spiegare.
`\documentclass[a4paper,11pt,twoside,openright,final]{book}
\usepackage[italian]{babel}
\usepackage[babel]{csquotes}
\usepackage[style=numeric,backend=biber]{biblatex}
%\bibliography{bibliografia}
\addbibresource{bibliografia.bib}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}\usepackage[pdfborder={0 0 0}]{hyperref}
\hypersetup{pdfborder=0 0 0}\makeatletter
\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
\hbox{}%
\thispagestyle{empty}
\newpage
\if@twocolumn\hbox{}\newpage\fi\fi\fi}
\makeatother\begin{document}
\frontmatter
\tableofcontents
\mainmatter
\chapter{AAA}
\cite{schock:atlante}.\\
Bene!\backmatter
\chapter{\bibname}
\printbibliography
\end{document}`Il mio file di bibliografia si chiama bibliografia.bib (fantasia a vagonate) eccolo
`@book{sgueggi:architettura,
author = {Sgueggi, Lorena},
title = {Storia e Tecnica delle Tensostrutture: dai ponti sospesi alle architetture in legno lamellare},
publisher = {Collegio degli Ingegneri di Padova},
year = {1995},
location = {Padova}
}@book{otto:tenso,
author = {Otto, Frei and Schleyer, Friedrich-Karl},
title = {Tensostrutture},
volume = {2},
publisher = {UISAA},
year = {1972},
location = {Milano}
}@book{majo:verifica,
author = {Majowiecki, Massimo},
title = {Tensostrutture},
subtitle = {Progetto e Verifica},
publisher = {Edizioni Crea},
year = {1994},
location = {Genova}
}@book{schock:atlante,
author = {Schock, Hans-Joachim},
title = {Atlante delle Tensostrutture},
volume = {11},
publisher = {UTET},
year = {2001},
location = {Torino}
}`Adesso io compilo la prima volta con PdfLaTeX e si genera un file *.bcf a questo punto io procedo a compilare con BibTeX una seconda volta e in teoria mi dovrebbe genere un file *.bbl con dei dati, il problema è che il mio file *.bbl risulta essere vuoto.
Dove sbaglio?
-
AutoreRisposte