LaTeX - pakiet TiKz + Gnuplot
- AiDi
- Moderator

- Posty: 3797
- Rejestracja: 25 maja 2009, o 22:58
- Płeć: Mężczyzna
- Lokalizacja: Warszawa
- Podziękował: 49 razy
- Pomógł: 707 razy
LaTeX - pakiet TiKz + Gnuplot
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
- Szemek
- Użytkownik

- Posty: 4800
- Rejestracja: 10 paź 2006, o 23:03
- Płeć: Mężczyzna
- Lokalizacja: Gdańsk
- Podziękował: 43 razy
- Pomógł: 1408 razy
LaTeX - pakiet TiKz + Gnuplot
Pod przykładem:
jest dosyć długa dyskusja.
U mnie zadziałał wariant
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.psW sumie dobrze byłoby mieć wszystko w jednym miejscu, ale równie dobrze możesz wygenerować wykresy w gnuplocie i potem zaimportować grafikę.Nie chce wklejać wykresów ze źródeł zewnętrznych
- AiDi
- Moderator

- Posty: 3797
- Rejestracja: 25 maja 2009, o 22:58
- Płeć: Mężczyzna
- Lokalizacja: Warszawa
- Podziękował: 49 razy
- Pomógł: 707 razy
LaTeX - pakiet TiKz + Gnuplot
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
- Szemek
- Użytkownik

- Posty: 4800
- Rejestracja: 10 paź 2006, o 23:03
- Płeć: Mężczyzna
- Lokalizacja: Gdańsk
- Podziękował: 43 razy
- Pomógł: 1408 razy
LaTeX - pakiet TiKz + Gnuplot
Wiersz poleceń w Windowsie (terminal w Linuksie).właśnie nie wiem gdzie te kody wpisywać, bo próbowałem na milion sposobów i nic
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.
- AiDi
- Moderator

- Posty: 3797
- Rejestracja: 25 maja 2009, o 22:58
- Płeć: Mężczyzna
- Lokalizacja: Warszawa
- Podziękował: 49 razy
- Pomógł: 707 razy
LaTeX - pakiet TiKz + Gnuplot
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...
- Szemek
- Użytkownik

- Posty: 4800
- Rejestracja: 10 paź 2006, o 23:03
- Płeć: Mężczyzna
- Lokalizacja: Gdańsk
- Podziękował: 43 razy
- Pomógł: 1408 razy
LaTeX - pakiet TiKz + Gnuplot
Sprawdź w wierszu poleceń czy działaAiDi pisze:Ale nie chce mi się wierzyć, że program przekopuje się przez wszystko na dysku, żeby poszukać tego...
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.
- AiDi
- Moderator

- Posty: 3797
- Rejestracja: 25 maja 2009, o 22:58
- Płeć: Mężczyzna
- Lokalizacja: Warszawa
- Podziękował: 49 razy
- Pomógł: 707 razy
LaTeX - pakiet TiKz + Gnuplot
OMG, działa
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...
-- 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...
- Szemek
- Użytkownik

- Posty: 4800
- Rejestracja: 10 paź 2006, o 23:03
- Płeć: Mężczyzna
- Lokalizacja: Gdańsk
- Podziękował: 43 razy
- Pomógł: 1408 razy
LaTeX - pakiet TiKz + Gnuplot
W dokumencie *.tex z podanego linku, oprócz dziedziny (domain) trzeba jeszcze zmienić przedział rysowania. Z grubsza zmiany wyglądają tak:
Pamiętaj o usunięciu wszystkich plików tymczasowych przed ponownym generowaniem pliku *.pdf.
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}