Как экранировать двойные кавычки в \input

Как экранировать двойные кавычки в \input

Я пытаюсь вызвать команды оболочки, которые содержат несколько (вложенных) кавычек. Вот, например, что я бы написал в оболочке:

$ python -c "print \"Hello World\""

который производит Hello World. Я нашелздесь который \inputможет читать из стандартного вывода при запуске с |. Однако неудивительно, что следующее выводит не то, что мне нужно:

\input{|"python -c "print \"Hello World\"""} 

Похожий наэтот вопрос, следующее работает нормально:

\immediate\write18{python -c "print \string\"Hello World\string\"" > \jobname.pyout}
\input{\jobname.pyout}

но требует временный файл. Также, использование, \detokenizeкажется, работает с \write18:

\immediate\write18{\detokenize{python -c "print \"Hello World\""} > \jobname.pyout}
\input{\jobname.pyout}

Есть ли решение, не требующее записи файла?

Связанный контент