Gnuplottex: Pass latex command to gnuplot script The 2019 Stack Overflow Developer Survey...
writing variables above the numbers in tikz picture
Are spiders unable to hurt humans, especially very small spiders?
I am an eight letter word. What am I?
Does adding complexity mean a more secure cipher?
Getting crown tickets for Statue of Liberty
Can withdrawing asylum be illegal?
Will it cause any balance problems to have PCs level up and gain the benefits of a long rest mid-fight?
Did any laptop computers have a built-in 5 1/4 inch floppy drive?
Why didn't the Event Horizon Telescope team mention Sagittarius A*?
What is the most efficient way to store a numeric range?
What is the meaning of Triage in Cybersec world?
Is it okay to consider publishing in my first year of PhD?
Why not take a picture of a closer black hole?
How to translate "being like"?
Accepted by European university, rejected by all American ones I applied to? Possible reasons?
How can I add encounters in the Lost Mine of Phandelver campaign without giving PCs too much XP?
Why does the nucleus not repel itself?
Why couldn't they take pictures of a closer black hole?
Cooking pasta in a water boiler
Why are there uneven bright areas in this photo of black hole?
How to obtain a position of last non-zero element
What's the name of these plastic connectors
Geography at the pixel level
Kerning for subscripts of sigma?
Gnuplottex: Pass latex command to gnuplot script
The 2019 Stack Overflow Developer Survey Results Are InLaTex variable inside gnuplot codeAccelerating LaTeX packages using a make like functionalityReading and (custom) formatting a CSV (not csvautotabular)How to use gnuplottex?A gnuplottex filename issueGnuplottex is not workingGnuplottex axis formatGnuplottex font size to whole graphGnuplottex not working in TeXstudioGnuplottex and subfiguresUse GnuPlot with latex
I want to access and plot the same data from different LaTeX documents (a paper and a beamer presentation) using gnuplottex
. The data and the gnuplot script is stored at some individual position relative to the two documents. To re-use as much code as possible, I would like to define the relative path to the data in each document in a macro, here datapath
.
My question is: How can I pass the value of this command to the gnuplot script? I would basically like to use the following in my MWE:
plot datapath'/data.csv' using 1:2 with lines
I did find this thread. However I was unable to modify it to my needs. Can someone help me, please?
MWE
documentclass{article}
usepackage[latin1]{inputenx}
usepackage{filecontents}
usepackage[
miktex, %
subfolder, % generated graphs in a ”gnuplottex” subfolder
cleanup, % Delete the .gnuplot files after conversion
]{gnuplottex}
newcommand{datapath}{./ZZZ}
begin{document}
% This is the data file to be plotted from
begin{filecontents*}{datapath/data.csv}
Col1,Col2
0,0
1,1
end{filecontents*}
% This is the gnuplot script I would like to use the value of datapath in
begin{filecontents*}{datapath/script.gnuplot}
set key autotitle columnhead
set datafile separator "," # for csv-file
plot './ZZZ/data.csv' using 1:2 with lines
end{filecontents*}
begin{figure}[htbp]
centering
gnuplotloadfile[terminal=cairolatex]{datapath/script.gnuplot}
end{figure}
end{document}
macros expansion external-files gnuplottex
bumped to the homepage by Community♦ 7 mins ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
add a comment |
I want to access and plot the same data from different LaTeX documents (a paper and a beamer presentation) using gnuplottex
. The data and the gnuplot script is stored at some individual position relative to the two documents. To re-use as much code as possible, I would like to define the relative path to the data in each document in a macro, here datapath
.
My question is: How can I pass the value of this command to the gnuplot script? I would basically like to use the following in my MWE:
plot datapath'/data.csv' using 1:2 with lines
I did find this thread. However I was unable to modify it to my needs. Can someone help me, please?
MWE
documentclass{article}
usepackage[latin1]{inputenx}
usepackage{filecontents}
usepackage[
miktex, %
subfolder, % generated graphs in a ”gnuplottex” subfolder
cleanup, % Delete the .gnuplot files after conversion
]{gnuplottex}
newcommand{datapath}{./ZZZ}
begin{document}
% This is the data file to be plotted from
begin{filecontents*}{datapath/data.csv}
Col1,Col2
0,0
1,1
end{filecontents*}
% This is the gnuplot script I would like to use the value of datapath in
begin{filecontents*}{datapath/script.gnuplot}
set key autotitle columnhead
set datafile separator "," # for csv-file
plot './ZZZ/data.csv' using 1:2 with lines
end{filecontents*}
begin{figure}[htbp]
centering
gnuplotloadfile[terminal=cairolatex]{datapath/script.gnuplot}
end{figure}
end{document}
macros expansion external-files gnuplottex
bumped to the homepage by Community♦ 7 mins ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
Your MWE works fine for me on Linux with pdflatex.
– Lars Kotthoff
Feb 15 '18 at 17:22
Sure, it works great, no question. But I want to be able to useplot datapath'/data.csv' using 1:2 with lines
instead ofplot './ZZZ/data.csv' using 1:2 with lines
. But how can I pass and expand the value ofdatapath
inside the gnuplot document or store the content ofdatapath
in a variable inside the gnuplot script as done in the post I linked to in my question?
– krtek
Feb 15 '18 at 17:30
See stackoverflow.com/q/12328603/923955 I guess you need to dorenewcommand{gnuplotexe}{gnuplot -e "dirname=./ZZZ"}
and usedirname
in the script file. I don't know about quoting, though, perhaps you don't need them.
– egreg
Feb 15 '18 at 18:25
add a comment |
I want to access and plot the same data from different LaTeX documents (a paper and a beamer presentation) using gnuplottex
. The data and the gnuplot script is stored at some individual position relative to the two documents. To re-use as much code as possible, I would like to define the relative path to the data in each document in a macro, here datapath
.
My question is: How can I pass the value of this command to the gnuplot script? I would basically like to use the following in my MWE:
plot datapath'/data.csv' using 1:2 with lines
I did find this thread. However I was unable to modify it to my needs. Can someone help me, please?
MWE
documentclass{article}
usepackage[latin1]{inputenx}
usepackage{filecontents}
usepackage[
miktex, %
subfolder, % generated graphs in a ”gnuplottex” subfolder
cleanup, % Delete the .gnuplot files after conversion
]{gnuplottex}
newcommand{datapath}{./ZZZ}
begin{document}
% This is the data file to be plotted from
begin{filecontents*}{datapath/data.csv}
Col1,Col2
0,0
1,1
end{filecontents*}
% This is the gnuplot script I would like to use the value of datapath in
begin{filecontents*}{datapath/script.gnuplot}
set key autotitle columnhead
set datafile separator "," # for csv-file
plot './ZZZ/data.csv' using 1:2 with lines
end{filecontents*}
begin{figure}[htbp]
centering
gnuplotloadfile[terminal=cairolatex]{datapath/script.gnuplot}
end{figure}
end{document}
macros expansion external-files gnuplottex
I want to access and plot the same data from different LaTeX documents (a paper and a beamer presentation) using gnuplottex
. The data and the gnuplot script is stored at some individual position relative to the two documents. To re-use as much code as possible, I would like to define the relative path to the data in each document in a macro, here datapath
.
My question is: How can I pass the value of this command to the gnuplot script? I would basically like to use the following in my MWE:
plot datapath'/data.csv' using 1:2 with lines
I did find this thread. However I was unable to modify it to my needs. Can someone help me, please?
MWE
documentclass{article}
usepackage[latin1]{inputenx}
usepackage{filecontents}
usepackage[
miktex, %
subfolder, % generated graphs in a ”gnuplottex” subfolder
cleanup, % Delete the .gnuplot files after conversion
]{gnuplottex}
newcommand{datapath}{./ZZZ}
begin{document}
% This is the data file to be plotted from
begin{filecontents*}{datapath/data.csv}
Col1,Col2
0,0
1,1
end{filecontents*}
% This is the gnuplot script I would like to use the value of datapath in
begin{filecontents*}{datapath/script.gnuplot}
set key autotitle columnhead
set datafile separator "," # for csv-file
plot './ZZZ/data.csv' using 1:2 with lines
end{filecontents*}
begin{figure}[htbp]
centering
gnuplotloadfile[terminal=cairolatex]{datapath/script.gnuplot}
end{figure}
end{document}
macros expansion external-files gnuplottex
macros expansion external-files gnuplottex
asked Feb 15 '18 at 17:02
krtekkrtek
905820
905820
bumped to the homepage by Community♦ 7 mins ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
bumped to the homepage by Community♦ 7 mins ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
Your MWE works fine for me on Linux with pdflatex.
– Lars Kotthoff
Feb 15 '18 at 17:22
Sure, it works great, no question. But I want to be able to useplot datapath'/data.csv' using 1:2 with lines
instead ofplot './ZZZ/data.csv' using 1:2 with lines
. But how can I pass and expand the value ofdatapath
inside the gnuplot document or store the content ofdatapath
in a variable inside the gnuplot script as done in the post I linked to in my question?
– krtek
Feb 15 '18 at 17:30
See stackoverflow.com/q/12328603/923955 I guess you need to dorenewcommand{gnuplotexe}{gnuplot -e "dirname=./ZZZ"}
and usedirname
in the script file. I don't know about quoting, though, perhaps you don't need them.
– egreg
Feb 15 '18 at 18:25
add a comment |
Your MWE works fine for me on Linux with pdflatex.
– Lars Kotthoff
Feb 15 '18 at 17:22
Sure, it works great, no question. But I want to be able to useplot datapath'/data.csv' using 1:2 with lines
instead ofplot './ZZZ/data.csv' using 1:2 with lines
. But how can I pass and expand the value ofdatapath
inside the gnuplot document or store the content ofdatapath
in a variable inside the gnuplot script as done in the post I linked to in my question?
– krtek
Feb 15 '18 at 17:30
See stackoverflow.com/q/12328603/923955 I guess you need to dorenewcommand{gnuplotexe}{gnuplot -e "dirname=./ZZZ"}
and usedirname
in the script file. I don't know about quoting, though, perhaps you don't need them.
– egreg
Feb 15 '18 at 18:25
Your MWE works fine for me on Linux with pdflatex.
– Lars Kotthoff
Feb 15 '18 at 17:22
Your MWE works fine for me on Linux with pdflatex.
– Lars Kotthoff
Feb 15 '18 at 17:22
Sure, it works great, no question. But I want to be able to use
plot datapath'/data.csv' using 1:2 with lines
instead of plot './ZZZ/data.csv' using 1:2 with lines
. But how can I pass and expand the value of datapath
inside the gnuplot document or store the content of datapath
in a variable inside the gnuplot script as done in the post I linked to in my question?– krtek
Feb 15 '18 at 17:30
Sure, it works great, no question. But I want to be able to use
plot datapath'/data.csv' using 1:2 with lines
instead of plot './ZZZ/data.csv' using 1:2 with lines
. But how can I pass and expand the value of datapath
inside the gnuplot document or store the content of datapath
in a variable inside the gnuplot script as done in the post I linked to in my question?– krtek
Feb 15 '18 at 17:30
See stackoverflow.com/q/12328603/923955 I guess you need to do
renewcommand{gnuplotexe}{gnuplot -e "dirname=./ZZZ"}
and use dirname
in the script file. I don't know about quoting, though, perhaps you don't need them.– egreg
Feb 15 '18 at 18:25
See stackoverflow.com/q/12328603/923955 I guess you need to do
renewcommand{gnuplotexe}{gnuplot -e "dirname=./ZZZ"}
and use dirname
in the script file. I don't know about quoting, though, perhaps you don't need them.– egreg
Feb 15 '18 at 18:25
add a comment |
1 Answer
1
active
oldest
votes
You can do it with immediatewrite
instead of filecontents*
:
newwritetempfile
immediateopenouttempfile=datapath/script.gnuplot
immediatewritetempfile{set key autotitle columnhead;
set datafile separator ",";
plot 'datapath/data.csv' using 1:2 with lines}
immediatecloseouttempfile
Thanks, but the data files and the gnuplot script exist as files at a defined location.filecontents*
was only used here to provide a complete MWE.
– krtek
Feb 15 '18 at 17:56
I guess then I don't understand your question. How are you going to pass the location of the data if you don't write it to the script file?
– Lars Kotthoff
Feb 15 '18 at 17:58
That exactly is my question. In this post the value of the line color is stored in a macro and expanded into a variables
inside the gnuplot script without writing it. So I guess it is possible. I just wasn't able to modify the approach to my problem. I always get the error that the files cannot be found.
– krtek
Feb 15 '18 at 18:02
This would require modifying the gnuplottex source code to read and replace a macro in the file.
– Lars Kotthoff
Feb 15 '18 at 18:11
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "85"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f415496%2fgnuplottex-pass-latex-command-to-gnuplot-script%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can do it with immediatewrite
instead of filecontents*
:
newwritetempfile
immediateopenouttempfile=datapath/script.gnuplot
immediatewritetempfile{set key autotitle columnhead;
set datafile separator ",";
plot 'datapath/data.csv' using 1:2 with lines}
immediatecloseouttempfile
Thanks, but the data files and the gnuplot script exist as files at a defined location.filecontents*
was only used here to provide a complete MWE.
– krtek
Feb 15 '18 at 17:56
I guess then I don't understand your question. How are you going to pass the location of the data if you don't write it to the script file?
– Lars Kotthoff
Feb 15 '18 at 17:58
That exactly is my question. In this post the value of the line color is stored in a macro and expanded into a variables
inside the gnuplot script without writing it. So I guess it is possible. I just wasn't able to modify the approach to my problem. I always get the error that the files cannot be found.
– krtek
Feb 15 '18 at 18:02
This would require modifying the gnuplottex source code to read and replace a macro in the file.
– Lars Kotthoff
Feb 15 '18 at 18:11
add a comment |
You can do it with immediatewrite
instead of filecontents*
:
newwritetempfile
immediateopenouttempfile=datapath/script.gnuplot
immediatewritetempfile{set key autotitle columnhead;
set datafile separator ",";
plot 'datapath/data.csv' using 1:2 with lines}
immediatecloseouttempfile
Thanks, but the data files and the gnuplot script exist as files at a defined location.filecontents*
was only used here to provide a complete MWE.
– krtek
Feb 15 '18 at 17:56
I guess then I don't understand your question. How are you going to pass the location of the data if you don't write it to the script file?
– Lars Kotthoff
Feb 15 '18 at 17:58
That exactly is my question. In this post the value of the line color is stored in a macro and expanded into a variables
inside the gnuplot script without writing it. So I guess it is possible. I just wasn't able to modify the approach to my problem. I always get the error that the files cannot be found.
– krtek
Feb 15 '18 at 18:02
This would require modifying the gnuplottex source code to read and replace a macro in the file.
– Lars Kotthoff
Feb 15 '18 at 18:11
add a comment |
You can do it with immediatewrite
instead of filecontents*
:
newwritetempfile
immediateopenouttempfile=datapath/script.gnuplot
immediatewritetempfile{set key autotitle columnhead;
set datafile separator ",";
plot 'datapath/data.csv' using 1:2 with lines}
immediatecloseouttempfile
You can do it with immediatewrite
instead of filecontents*
:
newwritetempfile
immediateopenouttempfile=datapath/script.gnuplot
immediatewritetempfile{set key autotitle columnhead;
set datafile separator ",";
plot 'datapath/data.csv' using 1:2 with lines}
immediatecloseouttempfile
answered Feb 15 '18 at 17:52
Lars KotthoffLars Kotthoff
49836
49836
Thanks, but the data files and the gnuplot script exist as files at a defined location.filecontents*
was only used here to provide a complete MWE.
– krtek
Feb 15 '18 at 17:56
I guess then I don't understand your question. How are you going to pass the location of the data if you don't write it to the script file?
– Lars Kotthoff
Feb 15 '18 at 17:58
That exactly is my question. In this post the value of the line color is stored in a macro and expanded into a variables
inside the gnuplot script without writing it. So I guess it is possible. I just wasn't able to modify the approach to my problem. I always get the error that the files cannot be found.
– krtek
Feb 15 '18 at 18:02
This would require modifying the gnuplottex source code to read and replace a macro in the file.
– Lars Kotthoff
Feb 15 '18 at 18:11
add a comment |
Thanks, but the data files and the gnuplot script exist as files at a defined location.filecontents*
was only used here to provide a complete MWE.
– krtek
Feb 15 '18 at 17:56
I guess then I don't understand your question. How are you going to pass the location of the data if you don't write it to the script file?
– Lars Kotthoff
Feb 15 '18 at 17:58
That exactly is my question. In this post the value of the line color is stored in a macro and expanded into a variables
inside the gnuplot script without writing it. So I guess it is possible. I just wasn't able to modify the approach to my problem. I always get the error that the files cannot be found.
– krtek
Feb 15 '18 at 18:02
This would require modifying the gnuplottex source code to read and replace a macro in the file.
– Lars Kotthoff
Feb 15 '18 at 18:11
Thanks, but the data files and the gnuplot script exist as files at a defined location.
filecontents*
was only used here to provide a complete MWE.– krtek
Feb 15 '18 at 17:56
Thanks, but the data files and the gnuplot script exist as files at a defined location.
filecontents*
was only used here to provide a complete MWE.– krtek
Feb 15 '18 at 17:56
I guess then I don't understand your question. How are you going to pass the location of the data if you don't write it to the script file?
– Lars Kotthoff
Feb 15 '18 at 17:58
I guess then I don't understand your question. How are you going to pass the location of the data if you don't write it to the script file?
– Lars Kotthoff
Feb 15 '18 at 17:58
That exactly is my question. In this post the value of the line color is stored in a macro and expanded into a variable
s
inside the gnuplot script without writing it. So I guess it is possible. I just wasn't able to modify the approach to my problem. I always get the error that the files cannot be found.– krtek
Feb 15 '18 at 18:02
That exactly is my question. In this post the value of the line color is stored in a macro and expanded into a variable
s
inside the gnuplot script without writing it. So I guess it is possible. I just wasn't able to modify the approach to my problem. I always get the error that the files cannot be found.– krtek
Feb 15 '18 at 18:02
This would require modifying the gnuplottex source code to read and replace a macro in the file.
– Lars Kotthoff
Feb 15 '18 at 18:11
This would require modifying the gnuplottex source code to read and replace a macro in the file.
– Lars Kotthoff
Feb 15 '18 at 18:11
add a comment |
Thanks for contributing an answer to TeX - LaTeX Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f415496%2fgnuplottex-pass-latex-command-to-gnuplot-script%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Your MWE works fine for me on Linux with pdflatex.
– Lars Kotthoff
Feb 15 '18 at 17:22
Sure, it works great, no question. But I want to be able to use
plot datapath'/data.csv' using 1:2 with lines
instead ofplot './ZZZ/data.csv' using 1:2 with lines
. But how can I pass and expand the value ofdatapath
inside the gnuplot document or store the content ofdatapath
in a variable inside the gnuplot script as done in the post I linked to in my question?– krtek
Feb 15 '18 at 17:30
See stackoverflow.com/q/12328603/923955 I guess you need to do
renewcommand{gnuplotexe}{gnuplot -e "dirname=./ZZZ"}
and usedirname
in the script file. I don't know about quoting, though, perhaps you don't need them.– egreg
Feb 15 '18 at 18:25