Como escapar de aspas duplas em \input

Como escapar de aspas duplas em \input

Estou tentando chamar comandos shell que contêm várias aspas (aninhadas). Isto é, por exemplo, o que eu escreveria no shell:

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

que produz Hello World. eu encontreiaqui que \inputpode ler a saída padrão quando iniciado com um arquivo |. No entanto, não é surpreendente que o seguinte não produza o que desejo:

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

Igual aessa questão, o seguinte funciona bem:

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

mas requer um arquivo temporário. Além disso, using \detokenizeparece funcionar com \write18:

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

Existe uma solução que não precisa gravar um arquivo?

informação relacionada