
Para un script que compila LaTeX por mí, tengo que enviar la cadena \"
a la línea de comando, dentro de una cadena delimitada por "
. Ejemplo:
>pdflatex "\IeC{\" o}"
¿Cómo puedo escapar del "
medio? Si lo hago pdflatex "\IeC{\\" o}"
, "\" significará a \
y la cadena seguirá terminando en el medio "
. ¿Alguna forma de evitar esto?
Aclaración:La cadena literal que quiero enviar a pdflatex es \IeC{\"o}
. Después de cualquier escape, esto es lo que se debe pasar como argumento de línea de comando.
Respuesta1
\\\"
Para escapar del primer carácter, es\\
Para escapar del segundo personaje, es\"
Así que pégalos juntos.\\\"
Entonces, para resumir,\\IeC{\\\"o}
Nunca antes había usado pdflatex, pero así es como funcionan normalmente los escapes.
...a menos que { y } también necesiten escapar
Respuesta2
Utilice un quilate como carácter de escape:
pdflatex "\IeC{^" o}"
Editar:
Intente omitir las comillas exteriores:
pdflatex \IeC{\" o}
Una cosa para recordar es que Windows no procesa los argumentos de la línea de comandos como lo hace un shell de Linux/Unix. Los argumentos se pasan intactos (incluidas las comillas externas) al programa que tiene que decidir cómo quiere procesarlos. Entonces es posible que necesites escapar del espacio. Todo depende de cómo pdflatex ve los argumentos.
Respuesta3
También necesitas escapar de las barras invertidas:
pdflatex "^\IeC{^\^" o}"
...pero no estoy seguro de si los signos de intercalación significan algo para LaTeX, y creo que probablemente sí.
Alternativamente, podría intentar usar comillas dobles para contener todo el parámetro, pero dudo que funcionen.
Sin embargo, lo que ciertamente funcionaría es modificar su script pdflatex para concatenar los parámetros %1 y %2 (hasta %n si es necesario), que luego puede pasar al script sin comillas.