Portál AbcLinuxu, 6. května 2025 14:14

Dotaz: gnuplot AND epslatex

27.6.2014 15:50 Michal Svatuška | skóre: 9
gnuplot AND epslatex
Přečteno: 314×
Odpovědět | Admin
Přílohy:
Dobrý den,

snažím se nakreslit graf v gnuplotu s použitím terminálu epslatex. Byly vygenerovány soubory niti4_zihany_v_peci_epslatex.tex a niti4_zihany_v_peci_epslatex.eps. V souboru niti4_zihany_v_peci_epslatex.tex je použité prostředí picture a hned za \begin{picture} jsem dal příkaz \includegraphics{niti4_zihany_v_peci_epslatex.eps}.

Soubor niti4_zihany_v_peci_epslatex.tex volam ze souboru niti4_zihany_v_peci_epslatex_latex.tex prikazem \input{niti4_zihany_v_peci_epslatex}. Kompiluji příkazem cslatex niti4_zihany_v_peci_epslatex_latex.tex. Ve výstupu dvi je vidět pouze samotný eps obrázek, nejsou vidět čísla na osách, která by měla být vysázena prostředím picture. Navíc ve výpisu kompilace je hlášení

(\end occurred inside a group at level 1)

### semi simple group (level 1) entered at line 2 (\begingroup)
### bottom level
Uvedené soubory přikládám. Ještě dodám, že zdroják niti4_zihany_v_peci_epslatex.tex, začíná příkazem \begingroup, který vůbec neznám. Prosím, poraďte mi, co s tím.

S pozdravem a poděkováním

Michal Svatuška
Rychlost je první ctnost.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

27.6.2014 18:45 MadCatX
Rozbalit Rozbalit vše Re: gnuplot AND epslatex
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ten texový soubor zodpovědný za vykreslení grafu je sestavený trochu zvláštně. Když se prohodí pořadí, ve kterém se jednotlivé prvky vykreslují, vykreslí se popisky os dobře.
--- niti4_zihany_v_peci_epslatex-orig.tex       2014-06-27 18:37:14.373373618 +0200
+++ niti4_zihany_v_peci_epslatex.tex    2014-06-27 18:36:33.349414893 +0200
@@ -73,7 +73,6 @@
   \fi
   \setlength{\unitlength}{0.0500bp}%
   \begin{picture}(7200.00,7200.00)(0,0)%
-      \includegraphics{niti4_zihany_v_peci_epslatex.eps}
     \gplgaddtomacro\gplbacktext{%
       \csname LTb\endcsname%
       \put(1122,440){\makebox(0,0)[r]{\shortstack{5000}}}%
@@ -96,9 +95,9 @@
       \put(6869,220){\makebox(0,0){\strut{} 80}}%
     }%
     \gplgaddtomacro\gplfronttext{%
-      \csname LTb\endcsname%
-     %\put(5882,6762){\makebox(0,0)[r]{\strut{}"/home/svatuska/niti/thin_films/xrd/data_z_roku_2011/heat_treated_films_xrd/anneal_450st15min/po_zihani.txt" using 1:(25*($2))}}%
-      \csname LTb\endcsname%
-     %\put(5882,6542){\makebox(0,0)[r]{\strut{}"./NiTi4_zihany.xy"}}%
     }%
+    \gplbacktext
+    \put(0,0){\includegraphics{niti4_zihany_v_peci_epslatex.eps}}
+    \gplfronttext
   \end{picture}
+\endgroup
29.6.2014 19:40 Michal Svatuška | skóre: 9
Rozbalit Rozbalit vše Re: gnuplot AND epslatex
Dobrý den,

díky za opravu zdrojáku. Teď to lze přeložit, vytvoří se korektní dvi soubor. Rád bych věděl, proč správný zdroják není vygenerován rovnou gnuplotem. Používám gnuplot 4.4. Tadu jsou příkazy, které jsem napsal do gnuplotu:
set terminal epslatex color solid
set output "niti4_zihany_v_peci_epslatex.tex"
set size 5/5.,10/7.
plot [10:80][] "/home/svatuska/niti/thin_films/xrd/data_z_roku_2011/heat_treated_films_xrd/anneal_450st15min/po_zihani.txt" using 1:(25*($2)),"./NiTi4_zihany.xy" with linespoints
Netušíte, kde dělám chybu?
Rychlost je první ctnost.
29.6.2014 23:18 Petr
Rozbalit Rozbalit vše Re: gnuplot AND epslatex
A není to klasická chyba s neuzavřením výstupního souboru?

Jestli jste to psal do příkazové řádky a nevyskočil jste z gnuplotu nebo jste pak nedal
    set out
resp.
    set out; set term pop
tak to bude tím.
28.6.2014 01:06 Petr
Rozbalit Rozbalit vše Re: gnuplot AND epslatex
Odpovědět | | Sbalit | Link | Blokovat | Admin
Teď jsem zkusil epslatex terminál na obvyklém testovacím grafu, který se získá příkazem "test". Funguje to. Doporučuji to vyzkoušet takhle, a pokud obrázek vyjde v pořádku, tak pak vykreslit tuhle difrakční křivku. (A případně to odzkoušet i v aktuální verzi gnuplotu 4.6.5.)
29.6.2014 21:42 Michal Svatuška | skóre: 9
Rozbalit Rozbalit vše Re: gnuplot AND epslatex
Děkuji i za Vaše rady. Příkaz test jsem vyzkoušel, a to jak v gnuplotu 4.4, tak v gnuplotu 4.6.5, na který jsem teď přešel. V obou případech je potřeba ručně opravit automaticky vygenerovaný zdroják tak, jak radí MadCatX. Zjistil jsem, že je jedno jestli za \begin{picture} následuje \gplgaddtomacro\gplbacktext{% nebo \gplgaddtomacro\gplfronttext{%. Podstatné je na konec zdrojáku přidat řádky
\gplbacktext
    \put(0,0){\includegraphics{test_epslatex_4_6_5.eps}}
    \gplfronttext
  \end{picture}
\endgroup
Potom je dvi soubor v pořádku až na rotované nápisy a po převodu do PostScriptu jsou v pořádku i rotované nápisy.
Rychlost je první ctnost.
Řešení 1× (Michal Svatuška (tazatel))
30.6.2014 09:13 Petr
Rozbalit Rozbalit vše Re: gnuplot AND epslatex
Aha, na konec souboru ... takže v tom případě autor nezavřel výstupní soubor, neboli se jedná o gnuplot FAQ: My output files are incomplete!

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.