octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #53861] print -dtikzstandalone is not a recogn


From: Dan Sebald
Subject: [Octave-bug-tracker] [bug #53861] print -dtikzstandalone is not a recognized print device
Date: Tue, 8 May 2018 17:52:30 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0

Follow-up Comment #6, bug #53861 (project octave):

I'm not sure what happened.  I do remember a lot of work around this and I
thought we put almost all gnuplot output formats in somehow (noting those for
which gnuplot was the only support).  I suspect what had happened is the
original changeset was something more broad:

https://savannah.gnu.org/bugs/download.php?file_id=34455

and what made it into the dev branch was a subset of that patch.  It could be
that Tatsuro and I indicated the changeset works for us but we didn't try the
one that actually made it into the source code.

In fact, I can sort of see what the issue is.  Here's what made it into the
source code (20968 (123da81b9176) Add support for the standalone option for
the gnuplot tikz terminal.):


@@ -99,9 +99,12 @@ function opts = __gnuplot_print__ (opts)
       endif
       local_drawnow ([term " " gp_opts],
                      [name "." suffix], opts);
-    case "tikz"
+    case {"tikz", "tikzstandalone"}
+      if (strfind (opts.devopt, "standalone"))
+        gp_opts = sprintf ("standalone %s", gp_opts);
+      endif
       if (__gnuplot_has_terminal__ ("tikz"))
-        local_drawnow (["lua tikz " gp_opts], opts.name, opts);
+        local_drawnow (["tikz " gp_opts], opts.name, opts);
       else
         error (sprintf ("print:no%soutput", opts.devopt),
                "print.m: '%s' output is not available for gnuplot-%s",


which uses ["tikz" gp_opts].  There no "standalone" in there.  Whereas, what I
placed in the original candidate was


-    case "tikz"
+    case {"lua", "tikz", "tikzstandalone"}
+      if (strcmp (opts.devopt, "lua"))
+        ## Replace "lua tikz" with just "tikz"
+        term = "tikz";
+        gp_opts = strrep (gp_opts, "tikz", "");
+      else
+        term = opts.devopt;
+      endif
       if (__gnuplot_has_terminal__ ("tikz"))
-        local_drawnow (["lua tikz " gp_opts], opts.name, opts);
+        local_drawnow ([strrep(term,'standalone',' standalone') ' ' gp_opts],
opts.name, opts);
       else
         error (sprintf ("print:no%soutput", opts.devopt),
                "print.m: '%s' output is not available for gnuplot-%s",


i.e., [strrep(term,'standalone',' standalone') ' ' gp_opts], which retains the
"standalone" but puts a space in there so that "tikzstandalone" becomes "tikz
standalone" (which gnuplot understands).

I actually thought the "demo print" within the original changeset candidate
was something useful.  Not only was it a good way of testing the output for
all the various formats, regardless of toolkit, it was also a nice way of
explaining to the user how to use the output outside of Octave.  I.e., "Octave
produced this output file, now how do I process it?"...just look at the demo
code.

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?53861>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]