Windows의 명령줄에서 \" 문자열을 어떻게 이스케이프합니까?

Windows의 명령줄에서 \" 문자열을 어떻게 이스케이프합니까?

LaTeX를 컴파일하는 스크립트의 경우 문자열 \"". 예:

>pdflatex "\IeC{\" o}"

"중간에 어떻게 탈출하나요 ? 그렇게 하면 pdflatex "\IeC{\\" o}""\"는 a를 의미 \하고 문자열은 여전히 ​​중간에서 종료됩니다 ". 이 문제를 해결할 방법이 있나요?

설명:pdflatex로 보내려는 리터럴 문자열은 입니다 \IeC{\"o}. 이스케이프 후에는 이것이 명령줄 인수로 전달되어야 합니다.

답변1

\\\"

첫 번째 문자를 이스케이프하려면 다음과 같습니다.\\

두 번째 문자를 이스케이프하려면 다음과 같습니다.\"

그러니 그냥 하나로 묶어주세요.\\\"

그럼, 길게 이야기하자면,\\IeC{\\\"o}

나는 이전에 pdflatex를 사용해 본 적이 없지만 일반적으로 이스케이프가 작동하는 방식입니다.

...{ 및 }에도 이스케이프가 필요하지 않는 한

답변2

캐럿을 이스케이프 문자로 사용합니다.

pdflatex "\IeC{^" o}"

편집하다:

바깥쪽 따옴표를 생략해 보세요.

pdflatex \IeC{\" o}

한 가지 기억해야 할 점은 Windows는 Linux/Unix 셸처럼 명령줄 인수를 처리하지 않는다는 것입니다. 인수는 처리 방법을 결정해야 하는 프로그램에 그대로(외부 따옴표 포함) 전달됩니다. 따라서 공간을 탈출해야 할 수도 있습니다. 그것은 모두 pdflatex가 인수를 어떻게 보는지에 달려 있습니다.

답변3

또한 백슬래시를 이스케이프 처리해야 합니다.

pdflatex "^\IeC{^\^" o}"

...하지만 캐럿이 LaTeX에 어떤 의미를 갖는지는 잘 모르겠습니다. 제 생각에는 아마도 그럴 것 같습니다.

또는 큰따옴표를 사용하여 전체 매개변수를 포함할 수도 있지만 제대로 작동할지는 의문입니다.

그래도 확실히 작동하는 것은 pdflatex 스크립트를 수정하여 %1 및 %2 매개변수(필요한 경우 최대 %n)를 연결한 다음 따옴표 없이 스크립트에 전달할 수 있도록 수정하는 것입니다.

관련 정보