[OS X TeX] Can latex read the name of the folder that contains my latex file?
Ross Moore
ross.moore at mq.edu.au
Fri Aug 31 17:00:43 EDT 2012
Sent from my iPad
On 01/09/2012, at 0:24, Themis Matsoukas <tmatsoukas at me.com> wrote:
>
> \input{../problem-dbase/problemXYZ/problem.tex}
>
> All of this miraculously works, but what I would like to do now is access from inside problem.tex the name of its enclosing folder and then pass it to \graphicspath, so that instead of hard-coding the name "problemXYZ" in the \graphicspath this would be set automatically in each latex run. I am probably asking for too much of a miracle...
No, not too much, if you do a bit of work.
Use TeX's \write18 to run a shell command, such as
cat `pwd`> pwd.txt
giving you the name of the directory written inside a simple text file.
Then use TeX's \openin to create a file stream to input the contents of that file.
Now with TeX's \read primitive, you can get the contents of this 1-line file stored as the expansion of a macro. (Then use \closein to free-up the file stream cleanly.)
Finally, if you only want the name, not the full path, then you can define a TeX macro that extracts what occurs after the directory delimiter / . You'll have to run this repeatedly, to extract just the final bit, as TeX's pattern matching occurs on the first instance.
(or use dirname instead of pwd )
Consult the TeXbook to learn how to do these non-LaTeX actions.
Also, you may need to invoke LaTeX with the -shell-escape option, if that is not automatically enabled. Herb can comment on this.
Maybe there is a package that helps make such tasks easier.
Dunno, as I always write my own coding from scratch, using the primitives.
>
> Themis
Hope this helps,
Ross
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://email.esm.psu.edu/pipermail/macosx-tex/attachments/20120901/c01fdba2/attachment.html>
More information about the MacOSX-TeX
mailing list