Re: [OS X TeX] failure when using »&« in path names
Ross Moore
ross at ics.mq.edu.au
Fri Aug 28 18:53:51 EDT 2009
Hi Friedrich
On 28/08/2009, at 11:28 PM, RA Friedrich Vosberg wrote:
> Morning.
>
> How should I modify the attached below home brewed package to add
> path and file names, so that no failure occurs if a path name
> contains the letter »&«.
You will need to adjust the \catcode of '&' so that it looks
like an ordinary character, rather than having the special status
that TeX endows it, as a delimiter between table cells.
But only do this within a \begingroup ... \endgroup grouping,
so that it behaves as TeX expects outside of this grouping.
>
> \NeedsTeXFormat{LaTeX2e}
> \ProvidesPackage{pathfile}[2007/04/19 v0.2.0.0 Friedrich Vosberg]
> \RequirePackage{xspace}
> %
> %---------------------------------------------------------------------
> ---------
> \begingroup
\catcode`\& 12 % this should ensure the '&' behaves as
desired --- RRM
> \let\\\relax
> \immediate\write18{%
> pwd | sed -e 's/&/\\&/g' | iconv -f UTF-8-MAC -t MacRoman | awk -
> F'\\n' '{%
> print"
> \\begingroup
\\catcode\\\`&=12\\relax
> \\catcode\string^\string^60\\\string^\string^24=11\\relax
> \\catcode\string^\string^60\\\string^\string^26=11\\relax
> \\newcommand\\fvpath{" $1 "\\xspace}\\relax
> \\expandafter
> \\endgroup
> \\expandafter\\newcommand
> \\expandafter\\fvpath
> \\expandafter{\\fvpath}\\relax
> \\endinput"
> }'
> > tmppath.tex%
> }
> \immediate\write18{%
> echo "\jobname" | sed -e 's/&/\\&/g' | iconv -f UTF-8-MAC -t
> MacRoman | awk -F'\\n' '{%
> print"
> \\begingroup
\\catcode\\\`&=12\\relax
> \\catcode\string^\string^60\\\string^\string^24=11\\relax
> \\catcode\string^\string^60\\\string^\string^26=11\\relax
> \\newcommand\\fvfile{" $1 "\\xspace}\\relax
> \\expandafter
> \\endgroup
> \\expandafter\\newcommand
> \\expandafter\\fvfile
> \\expandafter{\\fvfile}\\relax
> \\endinput"
> }'
> > tmpfile.tex%
> }%
> \endgroup
> \input{tmppath.tex}
> \input{tmpfile.tex}
> \newcommand*{\pathfile}[1][pdf]{%
> \frenchspacing\fvpath/\fvfile{}.#1%
> }
> %%
> ======================================================================
> ========
> % 2006/04/05 v0.1.0.0 initial release
> % 2007/04/19 v0.2.0.0 frenchspacing in \newcommand{\pathfile}{}
> added----------- Please Consult the Following Before Posting
> -----------
> TeX FAQ: http://www.tex.ac.uk/faq
> List Reminders and Etiquette: http://email.esm.psu.edu/mac-tex/
> List Archive: http://tug.org/pipermail/macostex-archives/
> TeX on Mac OS X Website: http://mactex-wiki.tug.org/
> List Info: http://email.esm.psu.edu/mailman/listinfo/macosx-tex
>
I've not checked this with any testing.
Hopefully there is the right number of \ characters in the lines:
\\catcode\\\`&=12\\relax
to properly escape the ` (backquote) character.
Anyway, you should understand the problem now, and get it sorted out
for yourself.
Hope this helps,
Ross
------------------------------------------------------------------------
Ross Moore ross at maths.mq.edu.au
Mathematics Department office: E7A-419
Macquarie University tel: +61 (0)2 9850 8955
Sydney, Australia 2109 fax: +61 (0)2 9850 8114
------------------------------------------------------------------------
More information about the MacOSX-TeX
mailing list