|
From: Mojca M. <moj...@gm...> - 2011-09-11 08:54:46
|
Dear list,
When I try to build gnuplot, the following two files are modified:
# modified: share/LaTeX/gnuplot-lua-tikz.sty
# modified: src/version.c
The second one only has a trivial change:
const char gnuplot_patchlevel[] = "0";
-const char gnuplot_date[] = "August 2011";
+const char gnuplot_date[] = "2011-09-09 ";
const char gnuplot_copyright[] = "Copyright (C) 1986-1993, 1998,
2004, 2007-2011";
but the first one seems to be completely outdated:
--- a/share/LaTeX/gnuplot-lua-tikz.sty
+++ b/share/LaTeX/gnuplot-lua-tikz.sty
@@ -1,382 +1,13 @@
%%
-%% This is the style file for the gnuplot PGF/TikZ terminal
-%%
-%% It is associated with the 'gnuplot.lua' script, and usually generated
-%% automatically. So take care whenever you make any changes!
+%% LaTeX wrapper for gnuplot-tikz style file
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{gnuplot-lua-tikz}%
- [2009/05/26 (rev. 96a) GNUPLOT Lua terminal style]
+ [2011/07/21 (rev. 100) GNUPLOT Lua terminal style]
-\RequirePackage{tikz,xxcolor,ifpdf,ifxetex}
+\RequirePackage{tikz}
-\usetikzlibrary{arrows,patterns,plotmarks}
+\usetikzlibrary{arrows,patterns,plotmarks,backgrounds}
+\input gnuplot-lua-tikz-common.tex
...
Should gnuplot-lua-tikz.sty be removed from CVS (if it is
auto-generated)? Or at least: can somebody please make sure that the
latest version will be in repository?
I also noticed that pdffigures.tex is rebuilt automagically:
--- a/docs/pdffigures.tex
+++ b/docs/pdffigures.tex
@@ -1,7 +1 @@
-%
-% $Id: pdffigures.tex,v 1.1 2010/03/08 23:41:15 sfeam Exp $
-%
-% This file is modified dynamically by "make" depending on whether or not
-% figures are to be included in the documentation
-% \usepackage{graphicx}
-% \usepackage{picins}
+
Why is pdffigures.tex included in CVS if it is built during "make pdf" anyway?
I would really really really like to have ./configure script in CVS
repository, but the main reason against that was that this is a
generated file. Still, it would help many users without (or with old
version of) autotools to be able to build gnuplot. On the other hand
these files (pdffigures, gnuplot-lua-tikz.sty, ...) are rebuild
without my intervention and my version control tools constantly
complain that these files have been changed. I need to be very careful
not to commit the changes.
Thank you,
Mojca
|
|
From: Ethan M. <merritt@u.washington.edu> - 2011-09-11 16:41:42
|
On Sunday, 11 September 2011, Mojca Miklavec wrote:
> Dear list,
>
> When I try to build gnuplot, the following two files are modified:
>
> # modified: share/LaTeX/gnuplot-lua-tikz.sty
> # modified: src/version.c
The file share/LaTeX/gnuplot-lua-tikz.sty is not in the CVS
repository. It is auto-generated at build time.
> The second one only has a trivial change:
>
> const char gnuplot_patchlevel[] = "0";
> -const char gnuplot_date[] = "August 2011";
> +const char gnuplot_date[] = "2011-09-09 ";
> const char gnuplot_copyright[] = "Copyright (C) 1986-1993, 1998,
> 2004, 2007-2011";
>
> but the first one seems to be completely outdated:
You must have somehow left an old copy in your source tree.
It is not in the current CVS, so it will never be updated.
> Should gnuplot-lua-tikz.sty be removed from CVS (if it is
> auto-generated)?
See above. It was removed from CVS long ago.
> I also noticed that pdffigures.tex is rebuilt automagically:
>
> --- a/docs/pdffigures.tex
> +++ b/docs/pdffigures.tex
> @@ -1,7 +1 @@
> -%
> -% $Id: pdffigures.tex,v 1.1 2010/03/08 23:41:15 sfeam Exp $
> -%
> -% This file is modified dynamically by "make" depending on whether or not
> -% figures are to be included in the documentation
> -% \usepackage{graphicx}
> -% \usepackage{picins}
> +
>
> Why is pdffigures.tex included in CVS if it is built during "make pdf" anyway?
The comment you quote attempts to explain this.
The top-level file titlepag.tex contains a line
\include{pdffigures}
In order to toggle whether or not the figure-generation code is
_really_ used, the Makefile either creates appropriate file contents
for pdffigures.tex or creates an empty file with that name.
Perhaps someone more knowledgeable in TeX syntax knows how make the
latex "\include" statement conditional on some external variable,
which would be an alternative way to accomplish the same thing.
> I would really really really like to have ./configure script in CVS
> repository, but the main reason against that was that this is a
> generated file. Still, it would help many users without (or with old
> version of) autotools to be able to build gnuplot.
> On the other hand these files (pdffigures, gnuplot-lua-tikz.sty, ...)
> are rebuild without my intervention and my version control tools constantly
> complain that these files have been changed. I need to be very careful
> not to commit the changes.
You obviously have a different work-flow than I do.
The contents of my local copy of the CVS source are normally changed
only by the "cvs update" operation, so the issues you mention
do not arise. I am guessing that because you are locally modifying
these files (and not deleting obsolete files?) the various time
stamps and directory contents are not truly in sync with the
CVS repository, which is causing the problems you see.
I realize the different people have different work-flows, so
"it works for me" is not the end of the story. But I suggest that
at a minimum you need to identify a command that gives you a clean
copy of current CVS, one that doesn't also contain obsolete or
locally-modified file versions.
Ethan
|
|
From: Mojca M. <moj...@gm...> - 2011-09-12 07:09:53
|
On Sun, Sep 11, 2011 at 18:41, Ethan Merritt wrote:
> On Sunday, 11 September 2011, Mojca Miklavec wrote:
>>
>> Should gnuplot-lua-tikz.sty be removed from CVS (if it is
>> auto-generated)?
>
> See above. It was removed from CVS long ago.
Mea culpa. (I'm very sorry.)
I hate CVS so much that I use the repository converted into git:
https://github.com/gnuplot/gnuplot/
I'm using
git cvsimport -C $PWD/git/gnuplot.git -p x -d $PWD/cvs/gnuplot gnuplot
inside a cron job and it seems that the command "forgot" to remove some files.
In 99.9% of cases it works perfectly fine, but it seems that in this
case it didn't do the job properly. I will try to inspect why this
happens. It could be a bug in git or something unexpected that I did
at my side.
Somebody else's clone doesn't seem to suffer from this
(https://github.com/Reen/gnuplot/tree/master/share/LaTeX). The irony
is that I'm also using a clone of his repository, but in that one I
messed with inclusion of TikZ myself, so that this particular file
remained there as a consequence of my own commits.
Thank you for pointing this out and sorry for asking about things that
were wrong at my end.
>> Why is pdffigures.tex included in CVS if it is built during "make pdf" anyway?
>
> The comment you quote attempts to explain this.
> The top-level file titlepag.tex contains a line
> \include{pdffigures}
> In order to toggle whether or not the figure-generation code is
> _really_ used, the Makefile either creates appropriate file contents
> for pdffigures.tex or creates an empty file with that name.
>
> Perhaps someone more knowledgeable in TeX syntax knows how make the
> latex "\include" statement conditional on some external variable,
> which would be an alternative way to accomplish the same thing.
Please try the following:
\documentclass{article}
\begin{document}
\ifx\printmode\undefined
{document without figures}
\write16{NOOOOOOOOOO}
\else
{this document has figures}
\write16{YEEEEEEEEES}
\fi
\end{document}
You can then compile it with
pdflatex "\\def\\printmode{$SOMEVARIABLE}\\input{filename.tex}"
or simply with
pdflatex '\def\\printmode{figures}\input{filename.tex}'
when you want figures and with
pdflatex filename.tex
when you don't. Note that the code above only tests if the command
sequence has been defined, so figures will be generated no matter what
you put into $SOMEVARIABLE. You could also compare contents, but in
this case there is no need to do so in this particular case (it would
be bad if you required to use the complicated sequence to compile the
default document).
In practice you could replace
\include{pdffigures}
with
\ifx\printmode\undefined\else
\usepackage{graphicx}
\usepackage{picins}
\fi
and then call
pdflatex '\def\printmode{figures}\input{gnuplot.tex}'
Alternatively you could create gnuplot-figures.tex with
\def\printmode{figures}
\input gnuplot.tex
and compile with
pdflatex gnuplot-figures.tex
instead of
pdflatex '\def\\printmode{figures}\input{gnuplot.tex}'
This would of course give you gnuplot-figures.tex.
Mojca
|
|
From: Mojca M. <moj...@gm...> - 2011-09-12 18:52:45
|
On Mon, Sep 12, 2011 at 09:09, Mojca Miklavec wrote: > On Sun, Sep 11, 2011 at 18:41, Ethan Merritt wrote: >> On Sunday, 11 September 2011, Mojca Miklavec wrote: >>> >>> Should gnuplot-lua-tikz.sty be removed from CVS (if it is >>> auto-generated)? >> >> See above. It was removed from CVS long ago. > > Mea culpa. (I'm very sorry.) > > I hate CVS so much that I use the repository converted into git: > https://github.com/gnuplot/gnuplot/ > I'm using > git cvsimport -C $PWD/git/gnuplot.git -p x -d $PWD/cvs/gnuplot gnuplot > inside a cron job and it seems that the command "forgot" to remove some files. I think that I found the culprit. When running "rsync", I forgot to use the "--delete" switch. In 99.9 % cases this is not needed since files are not deleted from repository on daily basis, but it did matter in this particular case. I will fix this and create a new repository on github, with fixed history. Mojca |