Hello, list! I am really new to ConTeXt. I am writing a book http://topologia-geral.ourproject.org/ It is written in LaTeX and I intend to migrate it to ConTeXt. I want to migrate and I want to be as far from HACKS as I can. So I want to know the recommended way to do things. One of my first difficulties comes from the "search path" used by texexec. It seems to me that the path searched for components, products and environments depends on the path were the script was called from. That is, it depends on the "current working directory". My question (honestly) is: - Why would I want this behavior? When I write a project, product, component or environment file, why would I want the references I made to be dependent on the directory where the script was called? Shouldn't things be like the #include "relative_path.h" used in the C language, for example? That is, shouldn't those paths be relative to the script that refers to them? Am I missing something? André Caldas.
On 10-9-2012 04:45, Andre Caldas wrote:
Hello, list!
I am really new to ConTeXt. I am writing a book http://topologia-geral.ourproject.org/ It is written in LaTeX and I intend to migrate it to ConTeXt.
I want to migrate and I want to be as far from HACKS as I can. So I want to know the recommended way to do things. One of my first difficulties comes from the "search path" used by texexec. It seems to me that the path searched for components, products and environments depends on the path were the script was called from. That is, it depends on the "current working directory".
My question (honestly) is: - Why would I want this behavior?
When I write a project, product, component or environment file, why would I want the references I made to be dependent on the directory where the script was called? Shouldn't things be like the #include "relative_path.h" used in the C language, for example? That is, shouldn't those paths be relative to the script that refers to them?
Am I missing something?
The way tex (and its path) are set up is that files are looked up on the current path (.) or relative to it, or in the (tds compliant) tex tree. Auxiliary files are created in the current directory. One can hardcode a path in the tex source if needed. Another option is to move to the source path (something texmfstart --path ... texexec ... or mtxrun --path ... --script context ...) but what's best depends on the kind of project. Do you really need to use context mkii? As it's a new project, using context mkiv might be a better idea. Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
When I write a project, product, component or environment file, why would I want the references I made to be dependent on the directory where the script was called? Shouldn't things be like the #include "relative_path.h" used in the C language, for example? That is, shouldn't those paths be relative to the script that refers to them? [...]
The way tex (and its path) are set up is that files are looked up on the current path (.) or relative to it, or in the (tds compliant) tex tree. Auxiliary files are created in the current directory.
I thought the reason was TeX itself. I just had some hope that ConTeXt would "fix" this behavior some how. Since ConTeXt allows one to have products and contents relatively independent from the project itself, I thought that it would make sense to have the references to files independent from the project structure as well. Maybe I can just live with TEXINPUTS and BIBINPUTS... :-) I guess the magic could be at some extent done with "\usepath". Leaving the probably already extensively discussed "\usepath" precedence order for another discussion...
One can hardcode a path in the tex source if needed. Another option is to move to the source path (something texmfstart --path ... texexec ... or mtxrun --path ... --script context ...) but what's best depends on the kind of project.
I definitely prefer not to hard code paths in the source. Actually, I would like the "components" to not have to worry at all about where they live... I will study texmfstart. :-)
Do you really need to use context mkii? As it's a new project, using context mkiv might be a better idea.
No, I don't. I want to use always the preferred solution. I want to follow your guidelines and be enlightened... :-) How did you know I was using one and not the other? I didn't know it myself!!! Thank you very much for your help and for this great piece of software, Hans. André Caldas.
On Mon 10 Sep 2012, Andre Caldas wrote:
Do you really need to use context mkii? As it's a new project, using context mkiv might be a better idea.
No, I don't. I want to use always the preferred solution. I want to follow your guidelines and be enlightened... :-) How did you know I was using one and not the other? I didn't know it myself!!!
Probably from the name of the binary -- ‘texexec’ runs mkii, whereas ‘context’ gives you mkiv. Pont
On 2012-09-10, at 9:13 AM, Pontus Lurcock
On Mon 10 Sep 2012, Andre Caldas wrote:
Do you really need to use context mkii? As it's a new project, using context mkiv might be a better idea.
No, I don't. I want to use always the preferred solution. I want to follow your guidelines and be enlightened... :-) How did you know I was using one and not the other? I didn't know it myself!!!
Probably from the name of the binary -- ‘texexec’ runs mkii, whereas ‘context’ gives you mkiv.
We also need to clarify this on the wiki, which talks about texexec in a few places. Aditya
participants (4)
-
Aditya Mahajan
-
Andre Caldas
-
Hans Hagen
-
Pontus Lurcock