Strona 1 z 1

LaTeX - pakiet TiKz + Gnuplot

: 6 maja 2012, o 18:49
autor: AiDi
Czy ktoś używa Gnuplota do rysowania wykresów funkcji w pakiecie TiKz? Ja próbuję i mi to ustrojstwo nie działa. Wpisałem sobie przykładowy kod z manuala, program wszystko kompiluje, pojawia się wszystko oprócz samych wykresów. Żadne błędy nie wyskakują. Sam się zastanawiam jak to właściwie ma działać, skąd LaTeX ma wiedzieć gdzie mam zainstalowanego Gnuplota. Szukałem w googlach, ale nie zrozumiałem kompletnie nic z tego co znalazłem, bo praktycznie wszędzie było to samo co w manualu. Jest ktoś w stanie mi pomóc? Nie chce wklejać wykresów ze źródeł zewnętrznych

LaTeX - pakiet TiKz + Gnuplot

: 8 maja 2012, o 23:09
autor: Szemek
Pod przykładem:
jest dosyć długa dyskusja.

U mnie zadziałał wariant

Kod: Zaznacz cały

latex -shell-escape -enable-write18 plik.tex 
dvips plik.dvi
ps2pdf plik.ps
Nie chce wklejać wykresów ze źródeł zewnętrznych
W sumie dobrze byłoby mieć wszystko w jednym miejscu, ale równie dobrze możesz wygenerować wykresy w gnuplocie i potem zaimportować grafikę.

LaTeX - pakiet TiKz + Gnuplot

: 9 maja 2012, o 00:01
autor: AiDi
Hm, to pytanie mam Bo właściwie z tego bierze się mój cały problem. Jak mam rozumieć ten kod? Gdzie go wcisnąć? Np. "latex -shell-escape -enable-write18 plik.tex". Dyskusji przejrzałem trochę, ale właśnie nie wiem gdzie te kody wpisywać, bo próbowałem na milion sposobów i nic

LaTeX - pakiet TiKz + Gnuplot

: 9 maja 2012, o 08:21
autor: Szemek
właśnie nie wiem gdzie te kody wpisywać, bo próbowałem na milion sposobów i nic
Wiersz poleceń w Windowsie (terminal w Linuksie).
W wierszu poleceń musisz zmienić ścieżkę do katalogu, w którym znajduje się plik *.tex i wtedy możesz wykonać podane wyżej polecenia.
W niektórych edytorach, można ustawić listę instrukcji do budowania pliku PDF.

LaTeX - pakiet TiKz + Gnuplot

: 9 maja 2012, o 11:19
autor: AiDi
Ok. To już zrobiłem, ale MikTeX/TiKz dalej nie widzi Gnuplota. Program sam to znajduje czy trzeba mu wskazać? Jedyne na co trafiłem, że może trzeba zmienić nazwę z wgnuplot, na gnuplot, albo coś. Ale nie chce mi się wierzyć, że program przekopuje się przez wszystko na dysku, żeby poszukać tego...

LaTeX - pakiet TiKz + Gnuplot

: 9 maja 2012, o 15:04
autor: Szemek
AiDi pisze:Ale nie chce mi się wierzyć, że program przekopuje się przez wszystko na dysku, żeby poszukać tego...
Sprawdź w wierszu poleceń czy działa wgnuplot abo gnuplot.
Jeśli działa tylko wgnuplot, to spróbuj zmienić nazwę na gnuplot.

Jeśli oba polecenia nie uruchamiają gnuplota, to musisz dodać do zmiennej środowiskowej PATH ścieżkę do katalogu, w którym znajduje się plik wykonywalny gnuplot.
Jak to dokładnie zrobić, wyszukaj w Google.

LaTeX - pakiet TiKz + Gnuplot

: 9 maja 2012, o 16:18
autor: AiDi
OMG, działa :D Dzięki!

-- 14 maja 2012, o 18:41 --

No dobra, mam kolejny problem. Po pierwsze: używając formuły z gnuplota, nie mogę narysować sinusa dla wartości ujemnych x. Jakkolwiek bym nie zmieniał wartości "domain". Ponadto to:

tak samo, wszystkie wykresy wyglądają u mnie tak samo. Jedynie co program robi to rozróżnia między funkcjami, ale przesuwać i skalować się nie da. Próbowałem rysować funkcje inaczej, wykorzystując coś takiego:
\draw plot (\x, {sin(\x r)});
bo znalazłem to w manualu (swoją drogą nie wiem czemu wcześniej nie widziałem). Ale tu też są problemy, nie da się skalować funkcji. I nie wiem po co to 'r' w argumencie...

LaTeX - pakiet TiKz + Gnuplot

: 14 maja 2012, o 22:48
autor: Szemek
W dokumencie *.tex z podanego linku, oprócz dziedziny (domain) trzeba jeszcze zmienić przedział rysowania. Z grubsza zmiany wyglądają tak:

Kod: Zaznacz cały

egin{tikzpicture}[domain=-8:8]
...
%        DRAW the graph of the function from here on
     draw[very thin,color=gray] (-7.9,minY) grid (7.9,maxY);% GRID use minY & maxY
      draw[->] (-8.2,0) -- (8.2,0) node[right] {$x$};
      draw[->] (0,minY) -- (0,maxY) node[above] {$f(x)$};% y axis use minY & maxY too
      draw[smooth,samples=200,color=blue] plot function{(cA)* (cos((cC)*x+(cD))) + cB}·
>>        node[right] {$f(x) = cA{} . cos(cC{} . x + cD{}) + cB{}$};
...
end{tikzpicture}
Pamiętaj o usunięciu wszystkich plików tymczasowych przed ponownym generowaniem pliku *.pdf.