LaTeX - pakiet TiKz + Gnuplot

Mathematica, Matlab, Statistica, LaTeX i wszelkiego rodzaju oprogramowanie przydatne matematykowi w pracy. Miejsca w sieci poświęcone zagadnieniu.
Awatar użytkownika
AiDi
Moderator
Moderator
Posty: 3843
Rejestracja: 25 maja 2009, o 22:58
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 45 razy
Pomógł: 702 razy

LaTeX - pakiet TiKz + Gnuplot

Post 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
Awatar użytkownika
Szemek
Użytkownik
Użytkownik
Posty: 4819
Rejestracja: 10 paź 2006, o 23:03
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 43 razy
Pomógł: 1407 razy

LaTeX - pakiet TiKz + Gnuplot

Post 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ę.
Awatar użytkownika
AiDi
Moderator
Moderator
Posty: 3843
Rejestracja: 25 maja 2009, o 22:58
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 45 razy
Pomógł: 702 razy

LaTeX - pakiet TiKz + Gnuplot

Post 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
Awatar użytkownika
Szemek
Użytkownik
Użytkownik
Posty: 4819
Rejestracja: 10 paź 2006, o 23:03
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 43 razy
Pomógł: 1407 razy

LaTeX - pakiet TiKz + Gnuplot

Post 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.
Awatar użytkownika
AiDi
Moderator
Moderator
Posty: 3843
Rejestracja: 25 maja 2009, o 22:58
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 45 razy
Pomógł: 702 razy

LaTeX - pakiet TiKz + Gnuplot

Post 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...
Awatar użytkownika
Szemek
Użytkownik
Użytkownik
Posty: 4819
Rejestracja: 10 paź 2006, o 23:03
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 43 razy
Pomógł: 1407 razy

LaTeX - pakiet TiKz + Gnuplot

Post 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.
Awatar użytkownika
AiDi
Moderator
Moderator
Posty: 3843
Rejestracja: 25 maja 2009, o 22:58
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 45 razy
Pomógł: 702 razy

LaTeX - pakiet TiKz + Gnuplot

Post 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...
Awatar użytkownika
Szemek
Użytkownik
Użytkownik
Posty: 4819
Rejestracja: 10 paź 2006, o 23:03
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 43 razy
Pomógł: 1407 razy

LaTeX - pakiet TiKz + Gnuplot

Post 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.
ODPOWIEDZ