\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}

파일을 작성할 필요가 없는 솔루션이 있습니까?

관련 정보