Bug in running external program (-shell-escape)

Jürgen Spitzmüller jspitzm at gmail.com
Sat Mar 4 11:16:50 UTC 2023


Am Samstag, dem 04.03.2023 um 09:24 +0100 schrieb Jürgen Spitzmüller:
> If you really want to have this subdir for some reason, you need to
> include a routine that creates it. Since you have --shell-escape
> enabled anyway, the most simple solution would be:
> 
> \usepackage{shellesc}
> \ShellEscape{mkdir picts}

By the way, note that LyX (LaTeX) will actually find and read files if
the directory (picts/) with the respective files is there. It just
cannot write into this directory (for security reasons, LaTeX disallows
writing beyond the current working directory, which is the tmp dir
here).

A way which works is this: Create a symlink in the tmp directory with
the same name as the prefix and linking to the respective subdirectory
of the working directory. On Linux, this would be:

\usepackage{shellesc}
\ShellEscape{ln -s <workingdir>/picts picts}

with <workingdir> replaced by where ever your document resides. Of
course, this presupposed <workingdir>/picts actually exists.

HTH,
-- 
Jürgen


More information about the lyx-devel mailing list